Dual Booting with Windows XP?
"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?"
Search Microsoft and ye shall find the answer.
LOAD "SIG",8,1
LOADING...
READY.
RUN
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.
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'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.
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
;; I hate "jmp short"
;; Where we want to be
;;
;; CODE
;;
;; Setup stack, move code somewhere else, and jump there
;; Reset drive
;; Load real boot sector
;; Jump to real boot sector
;; In case of error, print msg and lock up
;; print
;; prints the zero-terminated string pointed to by SI.
.char: lodsb .done .char
.done: pop bx
;; lockup
;; Locks the machine way up.
;;
;; DATA
;;
;; Error message
;; Zero-padding to 512 bytes
;; Magic boot sector number
s 2000" /fastdetect
%define DRIVE 0x80
%macro jmps 1
jmp short %1
%endmacro
org 0x7E00
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
mov dl, DRIVE
int 0x13
jc error
mov ax, 0x0201
mov bx, 0x7C00
mov cx, 0x0001
mov dh, ch
mov dl, DRIVE
int 0x13
jc error
mov dl, DRIVE
jmp 0x7C00
error: mov si, errmsg
call print
jmps lockup
print: push ax
push bx
mov ah, 0x0E
xor bx, bx
or al, al
jz
int 0x10
jmps
pop ax
ret
lockup:
hlt
jmps lockup
errmsg: db 'Error reading boot sector. System halted.', 0
pad: times 510-($-$$) db 0x00
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="Window
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.
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.
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.
Need a Catering Connection