Slashdot Mirror


Dual Booting with Windows XP?

budGibson asks: "I have just purchased a Dell system for home that will be arriving shortly with Windows ME installed. It has a (free) upgrade coupon for Windows XP. After using Windows 2000 on a development machine at work, XP is attractive because of its likely good stability for a Windows. Although I prefer Linux, compatibility with my graduate and undergraduate business students requires that I have some version of Windows." Put simply, is XP dual-boot friendly?

"I am familiar with dual-booting (and the pratfalls of dual booting) using various versions of Win9x. I understand NT is harder because of the way bootloader installs and also the fact that it uses NTFS. Windows XP sounds like it will be harder still because of its "registration" feature. I have searched in Redhat (my preferred distribution) and at the LDP (Linux Documentation Project) but have not found any treatment of this.

I think one option might be the commercial product Partition Magic by PowerQuest but would prefer to stick with an open-source method, preferrably one supported by a distribution. Does anyone have any experience with or insights about dual-booting with XP? Have I missed some treasure-trove of documentation?"

11 of 25 comments (clear)

  1. Per Microsoft by eric2hill · · Score: 4, Informative

    Search Microsoft and ye shall find the answer.

    --
    LOAD "SIG",8,1
    LOADING...
    READY.
    RUN
    1. Re:Per Microsoft by eric2hill · · Score: 4, Informative

      And in case you don't know, install Linux first onto it's own partition, then XP on a second primary partition. Installing XP second will set it's boot manager to default. You'll simply need to add Linux to the BOOT.INI file (on the root of the boot drive, where the NT loader is). Documentation on the BOOT.INI file is available all over the web.

      --
      LOAD "SIG",8,1
      LOADING...
      READY.
      RUN
    2. Re:Per Microsoft by TotallyUseless · · Score: 2

      "WindowsXP supports multiple booting with MS-DOS, Windows3.1, Windows95, Windows98, WindowsNT3.51, WindowsNT4.0, and Windows2000. "
      I wonder if by stating the 'supported' systems, they are leaving the door open to deny tech support later. You installed linux on your machine to dual boot alongside windowsxp? Sorry that has rendered your software warranty void. You will now be charged ungodly fees by the hour for support. Or denied support.

      --

      Time for some tasty Shiner Bock!
    3. Re:Per Microsoft by aka-ed · · Score: 2, Informative
      Consider this from the support guy's POV. If Linux installs incorrectly and screws up your boot (and don't tell me there's no user error or install flaws that can cause this, there certainly are!), why should MS be fixing that? It's not their issue.

      --
      I survived the Dick Cheney Presidency 7 to 9 AM 7-21-07
  2. Yes by (startx) · · Score: 2

    I've got Slack 8 and winxp dualbooting on this machine right now. I've got it setup the same way I did with slack 3.4 and windows 95. lilo in the mbr, and I'm set.

  3. XP first, Linux distro second by STSeer · · Score: 2, Informative

    I'm dual-booting with XP, no problem. Install XP first, then Linux distro and let it's Lilo/GRUB write over XP's loader.

  4. XOSL -- http://xosl.sourceforge.net by Anonymous Coward · · Score: 2, Informative

    try out XOSL.. Install it in a dedicated partition at the beginning of your drive (the boot partition).. and from there you can boot an OS on any other partition.. works amazingly well, it only requires a bit of planning.. no playing around with messy MBR loaders

  5. Windows XP is very dualboot friendly by Glonk · · Score: 2, Informative

    I've got Windows XP Professional and Mandrake 8.1 on a dualboot system as I type this. I originally just had Windows XP on it, but installed Mandrake two days ago.

    Windows XP can use FAT32 or NTFS. If you're serious about accessing files fully from Linux, make it uses FAT32. There is read-only support for NTFS in the kernel (I had to recompile to get it in Mandrake, though), but the write support for NTFS is very dangerous and experimental. Also note that if you're using Partition Magic on XP, you MUST use version 7 (brand new). Previous versions aren't compatable with the version of NTFS on Windows XP (I speak from personal experience).

    Dualbooting has no impact on activation or anything. Dualbooting with Windows XP is exactly like it was for Windows 2000.

    And finally: The NT Bootloader works differently than GRUB or LILO. How mine works is GRUB appears first, I then select 'NT' or 'Linux' or 'Linux-failsafe'. Selecting NT then brings up the NT bootloader (which has Windows 98 and XP for me). There's no conflicts in that bootloader system.

  6. Dual-Booting With NT: The Clean Way by SecretAsianMan · · Score: 2

    In my opinion, the cleanest way to dual-boot with an NT-ish Windoze is to write a set of boot sectors that do nothing but load the boot sector of a specific drive and execute it. For instance, here is a boot sector that boots from the first hard drive (BIOS drive number 0x80):

    ;; BIOS drive number to load from
    %define DRIVE 0x80

    ;; I hate "jmp short"
    %macro jmps 1
    jmp short %1
    %endmacro

    ;; Where we want to be
    org 0x7E00


    ;;
    ;; CODE
    ;;

    ;; Setup stack, move code somewhere else, and jump there
    cli
    xor ax, ax
    mov ds, ax
    mov es, ax
    mov ss, ax
    mov sp, 0x7C00
    mov si, sp
    mov di, 0x7E00
    mov cx, 0x0100
    cld
    rep
    movsw
    jmp moved + 0x200
    moved: sti

    ;; Reset drive
    mov dl, DRIVE
    int 0x13
    jc error

    ;; Load real boot sector
    mov ax, 0x0201
    mov bx, 0x7C00
    mov cx, 0x0001
    mov dh, ch
    mov dl, DRIVE
    int 0x13
    jc error

    ;; Jump to real boot sector
    mov dl, DRIVE
    jmp 0x7C00

    ;; In case of error, print msg and lock up
    error: mov si, errmsg
    call print
    jmps lockup


    ;; print
    ;; prints the zero-terminated string pointed to by SI.
    print: push ax
    push bx
    mov ah, 0x0E
    xor bx, bx

    .char: lodsb
    or al, al
    jz .done
    int 0x10
    jmps .char

    .done: pop bx
    pop ax
    ret


    ;; lockup
    ;; Locks the machine way up.
    lockup:
    hlt
    jmps lockup


    ;;
    ;; DATA
    ;;

    ;; Error message
    errmsg: db 'Error reading boot sector. System halted.', 0

    ;; Zero-padding to 512 bytes
    pad: times 510-($-$$) db 0x00

    ;; Magic boot sector number
    magic: dw 0xAA55

    This was rather pretty code, but you see what is left after HTML-ization and pleasing the lameness filter. You might want to double-check that this works, but it looks good to me. Save this to bootsect.asm. Get NASM and use it to assemble bootsect.asm into whatever boot-sector you need. Make sure to change the definition of DRIVE to match the BIOS drive number you want the boot sector to boot from. Assemble with this command:

    nasmw -f bin bootsect.asm -o bootsect.hd0

    The final step is updating NT's boot.ini file. Here is a sample one; you figure it out.

    [boot loader]
    timeout=30
    default=multi(0)disk(0)rdisk(0)partition(1)\WINNT
    [operating systems]
    multi(0)disk(0)rdisk(0)partition(1)\WINNT="Windows 2000" /fastdetect
    C:\bootsect.hd0="Boot from hard drive 0"
    C:\bootsect.hd1="Boot from hard drive 1"
    C:\bootsect.hd2="Boot from hard drive 2"
    C:\bootsect.hd3="Boot from hard drive 3"
    C:\bootsect.fd0="Boot from floppy drive 0"
    C:\bootsect.fd1="Boot from floppy drive 1"

    Hope that helps someone out there.

    --

    Washington, DC: It's like Hollywood for ugly people.

  7. Try this by JediTrainer · · Score: 2

    You will need 3 hard drives (or two, if you don't plan on sharing data between OSs)...

    Buy a couple of removable IDE trays for your hard drives. Here in Canada I've been able to pick these up for about $20/CDN each.

    Install one drive permanently in your machine as the master on the second IDE channel - you can use this one for storing all of your data files so both OSs can access it.

    The other two (or more drives), install into the trays. Set the bay component of the tray up as your master on the first IDE channel. Now insert one of your drives and install OS of your choice. After doing so, power down machine, replace that drive with the other one and install your other OS.

    Now when you want to boot another OS, all you have to do is power down your machine, yank and replace your hard drive with the other one. This is the system I use at home for using my PC with Win98, WinNT and Linux! It's great! Yes, you have to buy a little more stuff, but hard drives are relatively cheap nowadays...

    --

    You can accomplish anything you set your mind to. The impossible just takes a little longer.
  8. what i do by toast0 · · Score: 2

    I run debian and xp on my laptop, what I do is install lilo to the partition, xp's ntloader installs to the partition, then i set linux as the active partition, and use debian-mbr

    if i want to start xp, i hold in shift at boot, and can pick which partition to boot off of.

    if i want to start linux, i just let it start

    usually when installing, windows doesn't overwrite the master boot record, and the acrive partition at the same time. if it overwrites the mbr, it'll boot into linux with no choice, and i'll have to reinstall debian-mbr to go back into windows. if changes the active partition, i can boot into linux anyhow (thanks to a nice mbr) and fix it. if it changes the active partition and overwrites the mbr, i can use vmware and floppy images (or find some floppy images) and fix it.

    i imagine boot magic (from power quest) would also work, but this works without paying for additional software.