I have an HP laptop that's been dual-boot since I got it. I've dual booted Fedora, Debian, Centos, Ubuntu, Arch, and now Mint 12 32-bit. I even tri-booted with MacOS for a bit. In every case, Windows XP MCE has booted fine from Grub on the same partition it's in now.
I have two hard drives. Since MacOS quit on me, /dev/sdb has been dedicated to /home.
Here's the recent chain of events:
* Fresh install from OS disc of XP and Ubuntu 10.04 LTS.
* Some random problem with Ubuntu, format all EXT3 partitions on sda, install 11.04
* Get irritated with 11.04, erase all EXT3 partitions on sda, reinstall 10.04
* Frustrated with ubuntu moving to Unity, test Arch Linux
* Patience fails, decide to try Mint due to roots in Ubuntu.
I first have trouble dual-booting with Arch, but because Arch was so unfamiliar to me, I never really played with it. I figured that the bootloader wasn't set up right and I really don't use Windows enough to care anymore.
When I moved to Mint, everything looked familiar again, so I tried to boot into Windows to see if it worked. I got a 'blinking cursor' and no hard drive activity. Windows was in it's original partition on /dev/sda6. It's extended, but that never gave me any trouble before, it's always been on an extended partition. I forgot all about it, I rarely have need for it, mostly just for firmware updates for hardware that has Windows only update software.
Last week, I got a new toy, a new Garmin GPS. The shipping firmware and maps on those things always suck, so now there's a new urgency to get into Windows.
Now things are serious. I try to check the partition with the tools available to me in Mint, but things aren't right. fsck.ntfs fails to run, and ntfsfix fails. I grabbed my XP install disc and run chkdsk. chkdsk finds and fixes some kind of problem and exits. I reboot, all hopeful and select Window XP Media Center Edition from the bottom of the Grub list.
*blink* *blink* *blink* *blink* *swear*
Okay... now I boot back into Mint and run scan the partition again. Now it passes inspection. I run ntfsfix. A-OK. Okay... I've had enough of this. I'm willing to fight with GRUB again and reinstall it. Boot into the XP disc in Rescue mode and do a fixboot/fixmbr. Reboot, and "Operating System not Found"
That's it, now I'm mad. All my files are safe on /dev/sdb1, so why not?
With the Windows installer, I erase all the partitions on the primary hard drive except the NTFS partition. I make a 10g primary partition and install XP on it. It boots... woot. I add the 'old' NTFS partition to the Windows boot.ini file.
*blink* *blink*
Okay, my partitions are numbered different now. I edit the file with the proper partition number and reboot. Now we're getting somewhere. My old Windows XP desktop.
Five hours of downloading updates, cleaning the the virus caught from an ad, installing SP3, updating my GPS. Mission accomplished.
Now, my theory is that some of the boot files got corrupted. Well, I have a fresh new Windows installation, so I copy them over to my "old" partition from the "new" one.
I run the Mint 12 installer. All my files, desktop settings, even my saved Firefox tabs are all there. Yay. Reboot, select "Windows XP Media Center Edition.
*blink* *blink* *blink* *blink* *swear*
I've tried editing the boot parameters with different partitions in case Grub is numbering them differently than I expect, and every time it fails. To add a new, minor complication, when I rebuilt my EXT3 partitions, they renumbered "funny":
- Code: Select all
livewire@lwmobile ~ $ sudo fdisk -l /dev/sda
Disk /dev/sda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders, total 156301488 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x955b955b
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 2000895 999424 83 Linux
/dev/sda2 2000896 10000383 3999744 82 Linux swap / Solaris
/dev/sda3 10002430 156280319 73138945 5 Extended
/dev/sda5 62412588 156280319 46933866 7 HPFS/NTFS/exFAT
/dev/sda6 10002432 62410751 26204160 83 Linux
Partition table entries are not in disk order
You can see above, the NTFS partition still lives at the end of the disk, but was labeled "sda5", probably due to the fact I built the filesystem with a different number of partitions this time.
My boot entries, copied out of /boot/grub/grub.cfg:
- Code: Select all
menuentry 'Linux Mint 12 32-bit, 3.0.0-12-generic (/dev/sda1)' --class linuxmint --class gnu-linux --class gnu --class os {
recordfail
set gfxpayload=$linux_gfx_mode
insmod gzio
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set=root aa7a0926-2063-42a8-8f4e-964835726d04
linux /vmlinuz-3.0.0-12-generic root=UUID=e78cda87-29c4-465a-9bb7-86ecb11a19ba ro quiet splash vt.handoff=7
initrd /initrd.img-3.0.0-12-generic
}
menuentry 'Linux Mint 12 32-bit, 3.0.0-12-generic (/dev/sda1) -- recovery mode' --class linuxmint --class gnu-linux --class gnu --class os {
recordfail
insmod gzio
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set=root aa7a0926-2063-42a8-8f4e-964835726d04
echo 'Loading Linux 3.0.0-12-generic ...'
linux /vmlinuz-3.0.0-12-generic root=UUID=e78cda87-29c4-465a-9bb7-86ecb11a19ba ro recovery nomodeset
echo 'Loading initial ramdisk ...'
initrd /initrd.img-3.0.0-12-generic
}
menuentry "Memory test (memtest86+)" {
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set=root aa7a0926-2063-42a8-8f4e-964835726d04
linux16 /memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set=root aa7a0926-2063-42a8-8f4e-964835726d04
linux16 /memtest86+.bin console=ttyS0,115200n8
}
menuentry "Windows XP Media Center Edition (on /dev/sda5)" --class windows --class os {
insmod part_msdos
insmod ntfs
set root='(hd0,msdos5)'
search --no-floppy --fs-uuid --set=root E88C84668C84315C
drivemap -s (hd0) ${root}
chainloader +1
}




