bugGNU GRUB - Bugs: bug #19591, GRUB dual-boot configuration fails...

 
 

You are not allowed to post comments on this tracker with your current authentication level.

bug #19591: GRUB dual-boot configuration fails with Fedora Core 6

Submitted by:  Charles Sullivan <cwsulliv>
Submitted on:  Sat 14 Apr 2007 04:22:17 PM UTC  
 
Category:  Booting Severity:  Major
Priority:  5 - Normal Item Group:  Software Error
Status:  None Privacy:  Public
Assigned to:  None Originator Name:  cwsulliv
Open/Closed:  Closed Release:  grub-0.97-13
Release:  None Reproducibility:  Every Time
Planned Release:  None

Sat 15 Dec 2007 09:48:59 PM UTC, comment #3: 

We've moved to GRUB 2 as a development platform. Please can you check if this bug still applies there, and if it does, reopen it?

Thanks

Robert Millan <robertmh>
Project Administrator
Tue 17 Apr 2007 08:43:10 AM UTC, comment #2: 

QOUTE:
The same problem was observed with FC6 (kernel 2.6.20-1.2933.fc6) installed on a new HDD with grub-0.97-13 and on an older PC where FC6 was installed on the same HDD with grub-0.95-3 and FC3 (kernel 2.6.12-1.1381_FC3).
ENDQUOTE

In my experience on my Compaq Deskpro EN the map command definitely did not perform as described in the GRUB manual.  I found it to be very buggy.  The disks were swapped or not swapped depending on how they were looked at.  With some Microsoft operating systems, disks formatted when they were remapped were only accessible when booted with the disks remapped.  Likewise when disks were not remapped.  When swapped, Windows 98 would assign drive letters as expected, then assign drive letters again to the same partitions as if the disks had not been swapped (but applications still percieved the disks as being swapped).

I have only ever used GRUB 0.97, but I am wondering if when you installed FC6 here, the grub-0.95-3 was possibly overwritten with 0.97.  From the description of your problem, it sounds like upgrading to the latest version of GRUB is what caused the problem to surface.  If this is the case, then I suspect a bug was introduced into map since the version of GRUB supplied with FC3.

Rather than use the map command to swap disks in BIOS, I have found it to be much simpler and more reliable to boot Microsoft operating systems on whatever BIOS device they are physically located without attempting to fool them.  This is easily accomplished by changing the "Drive ID" in the boot sector to the actual BIOS number for that disk.

At least on my computer, use of makeactive has been entirely inconsequential for all Microsoft operating systems from DOS 5.0 thru Windows 2000.  Is it ever needed?  For what?

QUOTE
This system would dual boot until I performed a Microsoft Update
and a NAV LiveUpdate last week and rebooted (something I've done for months and never had a problem with).
ENDQUOTE

I think you are referring to Norton Anti-Virus.  AV software may write checksums, etc. anywhere on the HDD not normally used by a filesystem.  The 62 sectors following partition tables are usually free for proprietary uses like this.  GRUB uses some of these sectors too.  Could be your AV has overwritten part of the GRUB code.  Have you tried reinstalling GRUB?  From a GRUB command line:

grub> root (hd#,#) --- ie. where the GRUB binaries are ("/boot/grub")
grub> setup (hd0)  --- assuming you want GRUB in the MBR

I'm not sure if this will install with your menu.lst.  You will have to read up on that, or install from Linux.

Steve Burtchin <sburtchin>
Tue 17 Apr 2007 01:08:37 AM UTC, comment #1: 

I have FC6 and WinXP Pro installed on an Inspiron 8500 thusly:

# fdisk /dev/hda

The number of cylinders for this disk is set to 19457.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
   (e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): p

Disk /dev/hda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/hda1               1          13      104391   83  Linux
/dev/hda2              14        2742    21920692+  8e  Linux LVM
/dev/hda3   *        2743       19457   134263237+   7  HPFS/NTFS

Command (m for help): q

# rpm -q grub
grub-0.97-13
# cat /boot/grub/grub.conf
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,0)
#          kernel /vmlinuz-version ro root=/dev/VolGroup00/LogVol00
#          initrd /initrd-version.img
#boot=/dev/hda
default=4
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Fedora Core (2.6.20-1.2933.fc6)
        root (hd0,0)
        kernel /vmlinuz-2.6.20-1.2933.fc6 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
        initrd /initrd-2.6.20-1.2933.fc6.img
title Fedora Core (2.6.20-1.2933.fc6debug)
        root (hd0,0)
        kernel /vmlinuz-2.6.20-1.2933.fc6debug ro root=/dev/VolGroup00/LogVol00 rhgb quiet
        initrd /initrd-2.6.20-1.2933.fc6debug.img
title Fedora Core (2.6.20-1.2933.fc6PAE)
        root (hd0,0)
        kernel /vmlinuz-2.6.20-1.2933.fc6PAE ro root=/dev/VolGroup00/LogVol00 rhgb quiet
        initrd /initrd-2.6.20-1.2933.fc6PAE.img
title Fedora Core (2.6.20-1.2933.fc6xen)
        root (hd0,0)
        kernel /xen.gz-2.6.20-1.2933.fc6
        module /vmlinuz-2.6.20-1.2933.fc6xen ro root=/dev/VolGroup00/LogVol00 rhgb quiet
        module /initrd-2.6.20-1.2933.fc6xen.img
title Microsoft Windows XP Professional
        rootnoverify (hd0,2)
        chainloader +1

This system would dual boot until I performed a Microsoft Update
and a NAV LiveUpdate last week and rebooted (something I've done for months and never had a problem with).

It now will only boot into FC6.  When I try to boot into WinXP, grub prints:

rootnoverify (hd0,2)
chainloader +1

and hangs!!  I sure would love to be able to boot WinXP again.  Any ideas on how to debug this?  I've searched and searched for a week now and have no clues.

Ronald Cole <ronaldcole>
Sat 14 Apr 2007 04:22:17 PM UTC, original submission:  

I have Linux installed on a HDD as IDE Primary Master with GRUB in the MBR and several MS-Windows versions (98SE & XP) installed on separate HDDs variously as IDE Primary Slave and Secondary Master and Slave.  IDE Primary and Secondary are provided with a Promise Ultra ATA card.  MS-Windows is installed "virgin" with the HDD connected and jumpered as Primary Master, then reconnected in its final configuration for dual-booting with Linux.  (I have multiple HDDs with Linux and Windows and swap them in and out as required for testing purposes.)

Using the following stanza for dual-booting MS-Windows fails under Fedora Core 6 but had worked for years under FC2 and FC3.

title Win XP
        rootnoverify (hd1,0)
        map (hd1) (hd0)
        map (hd0) (hd1)
        makeactive
        chainloader +1

Windows displays an error screen with several options for continuing to try to boot normally or reverting to the last configuration which worked, but none of the choices actually work.

However it works again under FC6 if I change the order of the map and makeactive statements, i.e.:

title Win XP
        rootnoverify (hd1,0)
        makeactive
        map (hd1) (hd0)
        map (hd0) (hd1)
        chainloader +1

(Perhaps in retrospect this should be obvious, but I find nothing in the GRUB Manual about the ordering.)

The same problem was observed with FC6 (kernel 2.6.20-1.2933.fc6) installed on a new HDD with grub-0.97-13 and on an older PC where FC6 was installed on the same HDD with grub-0.95-3 and FC3 (kernel 2.6.12-1.1381_FC3).

Following is the whole grub.conf file (now corrected as above) on the older PC with grub-0.95-3.
----------------------------------
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,0)
#          kernel /vmlinuz-version ro root=/dev/hde9
#          initrd /initrd-version.img
#boot=/dev/hde
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
#hiddenmenu
title Fedora Core (2.6.20-1.2925.fc6)
root (hd0,0)
kernel /vmlinuz-2.6.20-1.2925.fc6 ro root=LABEL=/12 rhgb quiet
initrd /initrd-2.6.20-1.2925.fc6.img
title Fedora Core (2.6.19-1.2911.6.5.fc6)
root (hd0,0)
kernel /vmlinuz-2.6.19-1.2911.6.5.fc6 ro root=LABEL=/12 rhgb quiet
initrd /initrd-2.6.19-1.2911.6.5.fc6.img
title Fedora Core (2.6.12-1.1381_FC3)
        root (hd0,0)
        kernel /vmlinuz-2.6.12-1.1381_FC3 ro root=LABEL=/1 rhgb quiet
        initrd /initrd-2.6.12-1.1381_FC3.img
title Win XP
        rootnoverify (hd1,0)
        makeactive
        map (hd1) (hd0)
        map (hd0) (hd1)
        chainloader +1
title Win 98
        rootnoverify (hd3,0)
        makeactive
        map (hd3) (hd0)
        map (hd0) (hd3)
        chainloader +1
----------------------------------

Charles Sullivan <cwsulliv>

 

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by robertmh (Posted a comment)
  • -email is unavailable- added by sburtchin (Posted a comment)
  • -email is unavailable- added by ronaldcole (Posted a comment)
  • -email is unavailable- added by cwsulliv (Submitted the item)
  •  

    Do you think this task is very important?
    If so, you can add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.

     

     

     

    Follows 1 latest change.

    Date Changed by Updated Field Previous Value => Replaced by
    2007-12-15 robertmh Open/ClosedOpen => Closed

    Back to the top


    Powered by Savane 3.6