Much trouble getting dual-boot working

John Haxby jch at thehaxbys.co.uk
Fri Feb 27 19:07:09 UTC 2004


Fran Fabrizio wrote:

>
> There's so much conflicting advice out there (put it in the MBR! Don't 
> put it in the MBR! etc...) that after six unsuccessful tries, I'm just 
> throwing myself at your feet and begging for mercy... :-)

Oh dear.   It seems that a lot of people "know" something that simply 
isn't true.

>
> 1 120G SATA drive, came pre-loaded from Dell with WinXP on an NTFS 
> partition.  I used Partition Magic to setup the following partitions:
>
> In this order on the drive...
>
> 1. Very small Dell Utility partition
> 2. A 200MB ext3 partition to use for /boot
> 3. A ~60G NTFS partition with WinXP on it
> 4. A ~55G ext3 partition to use for /
> 5. A Swap partition with the rest of the space

This is similar, but not identical to the set up I have on this machine:

1. hda1: Very small Dell Ultility partition
2. hda2: Partition for WinXP
3. hda3: /boot
4. hda4, extended partition, contains hda5 and hda6)
5. hda5, swap
6. hda6, /


> I put #2 where it is because I read that the boot partition should be 
> before the 1024th cylinder.

That's largely a restriction in old BIOSes.   I frequently get the 
message during install about the boot partition not fitting the boot 
requirements and its yet to cause me problems.   I believe that anything 
that claims any knowledge of LBA in the BIOS will be just fine.   Still, 
someone's bound to find a modern machine for which here is a problem ... 
but it won't be like any of the ones I've ever had.

>
> I then installed Fedora Core.  It can't create a boot disk because it 
> says it won't fit on a floppy. :-/

Me too.  Actually, I don't have a floppy drive, but "linux rescue" from 
the boot CD works just fine.

>
> In the Grub configuration, I've tried both to install it to the MBR 
> and to the first part of the boot partition.  Neither of these work - 
> the machine still boots into WinXP directly.

If you don't put the grub boot sector in the MBR, then you'll need a 
different boot loader in there that knows how to chain grub.  Or you can 
use grub.    If I'm going to dual boot a machine, I install WinXP first 
and then Linux after.   When you get to the bit about booting, it says 
there are two bootable partitions and offers to boot the grub boor 
loader in the MBR.   You don't actually need to do anything other than 
click "next" here.  I sometimes change the label from "DOS" to "WinXP" 
but that's about it.   Honest, it really is easy, you don't need to work 
hard.

For what it's worth, this (roughly) is my grub.conf.   I've removed one 
or two Linux kernels for the sake of brevity.

-----------------------------------------
default=0
timeout=10
splashimage=(hd0,2)/grub/splash.xpm.gz
title Linux 2.6.3
        root (hd0,2)
        kernel /vmlinuz-2.6.3 ro root=LABEL=/
        initrd /initrd-2.6.3.img
title WinXP
        rootnoverify (hd0,1)
        chainloader +1
title Diagnostics
        rootnoverify (hd0,0)
        chainloader +1
-----------------------------------------


The "WinXP" stanzas are exactly as installed by the boot process, I 
haven't messed with them at all, not even a little bit.   If you're 
going to use this, you'll need to get the right kernel for Linux (unless 
you happen to have a 2.6.3 kernel) and you'll need to change the 
roots:    (hd0,2) is /dev/hda3, my /boot, (hd0,1) and (hd0,0) are the 
Windows and Dell diagnostic partitions respectively.

Note that the WinXP boot neither knows nor cares what the file system 
is.   All it does is chain the boot sector at the beginning of the  
(hd0,2) partition -- it's up to that to do the right thing.

I've never actually booted the Dell diagnostics.   I ran them when I 
first got the machine but not since.   I know that the BIOS diagnostics 
don't know how to boot them anymore, but I'm not greatly bothered.

>
> If I use PartitionMagic's BootMagic utility to tell the machine to 
> boot off of partition #2, I get the Grub menu, and Fedora boots just 
> fine, but WinXP errors during boot.

I've got bootmagic, but since grub seems to do everything I could 
possibly want (I've got one machine that boots RH9, a self-compiled 
RHEL3 and two different Win2k installations) I've never felt the 
need.    I'd go back to grub -- the documentation under "info grub" is 
comprehensive and I worked out how to do the multi-Win2k boot from it so 
it can't be that bad.

If you want to go back to grub -- and I would recommend it -- it's quite 
straightforward.   First make sure your device map 
(/boot/grub/device.map) is what you expect.   Mine is

    (fd0)   /dev/fd0
    (hd0)   /dev/hda

and this is pretty standard.   Next boot rescue mode from the install CD 
by typing "linux rescue" at the boot prompt.  It goes through some 
keyboard and language stuff and then looks for Linux installations.  All 
being well, you can get your partitions mounted read-write.   It says on 
the screen what you need to do next -- you need to type "chroot 
/mnt/sysimage" which wlll give you all your files under a root (so 
/boot/grub/grub.conf) will refer to the one you've been looking at 
recently, rather than something that belongs in the rescue 
environment.   If you don't know about it, chroot, and the underlying 
system call, are  quite cool.

Anyway, all you have to type is

    chroot /mnt/sysimage
    /sbin/grub-install '(hd0')
    reboot

Remember to take the CD out of the drive.   That's really all there is 
to it.

You can keep your paritions as they are, you don't need to change 
them.    If this all goes pear-shaped you can re-install Fedora and 
choose the default options for booting and just stop worrying about it :-)

>
> If I then use BootMagic to reset the boot partition to #3, WinXP works 
> again, but the machine boots directly to it.
>
> So my questions are now:
>
> 1. Do I have the partition table correct?
> 2. Where should I install the boot partition?
> 3. Do I have to start the Fedora install over yet again, or can I just 
> reset the bootloader settings to the right stuff?
> 4. What's the proper sequence from the start so that I can do this 
> correctly on the first try next time?


If you've done it before, I'm not sure why you're having such 
difficulties.  Perhaps you're trying too hard :-)

jch





More information about the users mailing list