Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror
×
Microsoft

Dual Booting with Windows XP? 25

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?"

This discussion has been archived. No new comments can be posted.

Dual Booting with Windows XP?

Comments Filter:
  • Per Microsoft (Score:4, Informative)

    by eric2hill ( 33085 ) <eric@[ ]ck.net ['ija' in gap]> on Friday October 19, 2001 @04:42PM (#2453008) Homepage
    Search Microsoft and ye shall find the answer [microsoft.com].
    • Re:Per Microsoft (Score:4, Informative)

      by eric2hill ( 33085 ) <eric@[ ]ck.net ['ija' in gap]> on Friday October 19, 2001 @05:03PM (#2453103) Homepage
      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.
    • "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.
      • Re:Per Microsoft (Score:2, Informative)

        by aka-ed ( 459608 )
        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.

    • Wrong! The entire Microsoft site does not have a single reference to dual booting XP with Linux! Not that we should be suprised by that. I guess their theory is not to admit the competition exists.

      In any case, I have a dual boot set up. I was so frustrated by all the irritating boot loader issues that I decided to install XP on my primary hard drive, and Linux on the secondary hard drive, not install a bootloader for Linux at all, and simply boot with the boot floppy(witch has LILO on it). No LILO in the master boot record. No trying to keep LILO in the first 1024 cylinders. I could not be happier with my decision. I thought it would be a pain to always have to use the floppy, but it is nothing. It is also nice to know my MBR is intact! Install XP first though.

  • by (startx) ( 37027 )
    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.
  • 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.
    • by Anonymous Coward
      Uh, be careful here...I just bought a HP, with WinXP (home edition), and it has a structure similar to NT 4.0..that is, if you overwrite the MBR, you will lose NT boot functionality...so remember kiddies..

      1. LILO ON first sector of BOOT partition
      2. edit c:\boot.ini
      3. "LINUX"=C:\BOOTSECT.LNX

      BTW: Stupid HP has a 4GB, thats right, GB! "recovery partition"..that stores all the related XP recovery crap..I suggest backing up that stuff on a few CDR's...don't loose it!..the joys of linux, in being able to mount a "hidden" partition :)

      This is with RedHat 7.1, mileage always varys!
  • by Anonymous Coward
    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
  • I am running a machine here at work with Windows XP and Mandrake Linux 8.1. I installed Windows on the primary master hard drive, formatted it using NTFS - and then I installed Linux on the other hard drives. I use GRUB as my boot loader and pretty much I just installed everything as usual. Windows, then Linux..should be easy enough. I have not run in to any trouble and I've booted in to both OS's just fine.
  • The only real problem is when Windows overwrites your bootloader. If you're instaling from scratch install Win XP *first* and leave space for linux. Linux will then install Lilo/Grub and boot both windows and linux.

    If you install linux first windows will overwrite Lilo/Grub and you'll have to boot from a floppy or CD to reinstall it. Also feasible but less convenient.

    As for NTFS, just setup a small (by today's standards that's 500MB) FAT32 partition to interchange files between the 2 systems.

  • 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.
  • Since XP is (essentially) the home user version of Windows2000, it should work perfectly. One of my former coworkers was running Redhat 7, Windows 2000, and the WinXP Beta on his laptop last time I talked to him. They all worked just fine for him. I personally run Win2000 and Win98 (gaming reasons) without any trouble, but not Linux (at this point). My guess would be WinXP would run just fine with Linux.

    ~Forager
  • 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 [web-sites.co.uk] 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.
  • 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...
  • I've been running a SuSE linux/WinXP dual boot for months. Prior to that I was running a win2k/Suse machine/ No problem. Install windows first, leaving space (preferably unallocated disk space not in a partition). Install linux. Done. I'm using lilo as the boot loader with no problems. Frankly, Suse even lets you easily re-establish control over the boot loader if you install windows second. Using Suse, you install it on your WinMe Dell. Dual booting etc. You get XP and delete winme, install XP. Woah, your boot loader was taken over by XP, no longer allowing access to linux. No problem. Boot off the Suse CD, choose install, and pick the "boot installed system". It will locate and boot your linux install. Then from within suse, open up their very nice config tool (Yast2) and tell it to re-write LILO to the MBR. Done. SuSE rocks, you won't be using XP much. ;)
  • 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.

What is research but a blind date with knowledge? -- Will Harvey

Working...