Boot problem to Linux

#1
I have a system with 2 hard drives, one SATA and one IDE the BIOS is set to boot from the SATA drive.
Vista is on the SATA partition 0, data only on partition 1 and Fedora 8 Linux on partition 2.
The IDE disk is FAT32 to allow copying between Vista and Linux.
After installing Fedora 7 back in May, I installed EasyBCD and had a perfect dual boot system for six months.
After a recent yum update of Fedora which included a new kernel, I rebooted and when selecting Fedora I got a GRUB message in the upper left corner and no keyboard responce!
I tried doing a grub-install (HD0,2) using SuperGrub, no change.
I managed to boot Fedora using the SuperGrub CD and then made a Fedora boot CD.
I then tried removing and re-adding the Linux entry to the boot menu using EasyBCD, I now get the following message when I select Linux:-

Boot Part 2.60 Bootsector
Loading new partition
Cannot load from harddisk
Insert Systemdisk and press any key.

On pressing enter it boots to an MSDOS prompt on the IDE drive.
What am I missing?
I would appreciate any help as having to boot Linux from a CD all the time is getting a bit tedious.

Ken
 

mqudsi

Mostly Harmless
Staff member
#2
Hi Ken, welcome to NeoSmart Technologies.

Please read our instructions at Linux - NeoSmart Technologies Wiki on installing GRUB with SGD.

Namely, grub-install does not work. You must enter the GRUB shell and use the setup command instead.
 
#3
Sorry I didn't explain I also tried the grub shell method.
I also took a dd copy of the bootsector on hd0,2 and replaced the nbr_grub.mbr in NST, it then boots to a grub shell.

Ken
 

mqudsi

Mostly Harmless
Staff member
#4
Sounds like it needs to be (hd0,1) not (hd0,2).
As it mentions in the documentation, counting of partitions starts from 0, not 1. So the second partition is actually (hdx,1).
 
#5
The following is a df under Fedora which shows the boot partition as sda3

Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
36G 18G 16G 53% /
/dev/sda3 92M 41M 47M 47% /boot
tmpfs 1005M 368K 1005M 1% /dev/shm
/dev/sdb1 1.2G 724M 495M 60% /mnt/sdb
/dev/sda1 201G 94G 108G 47% /mnt/vista

This is grub.conf

#boot=/dev/sdb3
default=0
timeout=5
splashimage=(hd0,2)/grub/splash.xpm.gz
hiddenmenu
title Fedora (2.6.23.8-63.fc8)
root (hd0,2)
kernel /vmlinuz-2.6.23.8-63.fc8 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
initrd /initrd-2.6.23.8-63.fc8.img

hd0,0 is NTFS Vista
hd0,1 is NTFS Data
hd0,2 is ext2 boot
hd0,3 is VolGroup root

hd1,0 is FAT32 DOS

The following is device.map

# this device map was generated by anaconda
(hd0) /dev/sda
(hd1) /dev/sdb

Ken
 

Mak 2.0

Mod...WAFFLES!?!?
Staff member
#6
If you are talking about this line

Code:
#boot=/dev/sdb3
That is not (hd0,1). that is actually (hd1,2). It shows sdb which is the 2nd hard drive which would be number 1 accourding to the numbering system. Maybe that is where thigns are going wrong?
 
#7
The
#boot=/dev/sdb3
is only a comment line the BIOS says hd0 or sda is the boot disk,
I have even tried disconnecting the IDE disk, still no success.

Ken
 
#8
I have booted from the Super Grub CD

find /boot/grub/stage1
returns hd(0,2)
root (hd0,2)
setup (hd0,2)
setup (hd0,2)
returns successful
reboot

Same problem as above!

Ken
 
Last edited:

mqudsi

Mostly Harmless
Staff member
#9
Sorry about that, Ken - this thread slipped past my radar.

Are you re-adding the entry in EasyBCD after setting up GRUB? or using the same one as before?
 
#10
I at first tried with the existing menu item but I have just now deleted the entry and re-entered the entry for Fedora, no change!

The following is EasyBCD menu setup:-
Code:
Windows Boot Manager
--------------------
identifier              {9dea862c-5cdd-4e70-acc1-f32b344d4795}
device                  partition=C:
description             Windows Boot Manager
locale                  en-US
inherit                 {7ea2e1ac-2e61-4728-aaa3-896d9d0a9f0e}
default                 {8980f216-da17-11db-af24-a4f8176bf24f}
resumeobject            {8980f217-da17-11db-af24-a4f8176bf24f}
displayorder            {8980f216-da17-11db-af24-a4f8176bf24f}
                        {a2be7378-e314-11db-9155-0019d1568c86}
toolsdisplayorder       {b2721d73-1db4-4c62-bf78-c548a880142d}
timeout                 30
Windows Boot Loader
-------------------
identifier              {8980f216-da17-11db-af24-a4f8176bf24f}
device                  partition=C:
path                    \Windows\system32\winload.exe
description             Microsoft Windows Vista
locale                  en-US
inherit                 {6efb52bf-1766-41db-a6b3-0ee5eff72bd7}
osdevice                partition=C:
systemroot              \Windows
resumeobject            {8980f217-da17-11db-af24-a4f8176bf24f}
nx                      OptIn
Real-mode Boot Sector
---------------------
identifier              {a2be7378-e314-11db-9155-0019d1568c86}
device                  partition=C:
path                    \NST\nst_grub-8B9A23B77338545F75E40D29F4C6E3DD.mbr
description             Fedora 8 Linux
I noticed when adding the Fedora line EasyBCD showed my MS-DOS disk as drive 0 and the SATA disk as drive 1 with the Linux boot partition as 2.

I have set the BIOS to boot from the SATA disk as the first disk and SuperGrub shows it as hd0,2 for the Linux partition. The motherboard is an Intel DG965WH.

What I am having difficulty understanding is how this setup could work perfectly for 6 months and then abruptly refuse to work!

Ken
 

mqudsi

Mostly Harmless
Staff member
#11
So in EasyBCD, what drive/partition combo did you choose?
 

mqudsi

Mostly Harmless
Staff member
#13
Try Drive 0, Partition 2 instead? I know it doesn't look like the right one, but maybe....

If that doesn't work, boot into SGD and type this in:
Code:
root (hd0,2)
cat /boot/grub/menu.lst
Then paste the output of that command into a reply here.
 
#14
I booted with SGD
root (hd0,2)
cat /boot/grub/menu.lst
file not found
cat /boot/grub/grub.conf
file not found
quit
GNU/Linux Boot
menu.lst is displayed
select default linux
boots OK

I then tried disconnecting the IDE disk so EasyBSD could only see the SATA disk as disk 0, removed the Fedora entry and re-added it to the menu.
Now when I select Fedora it drops me into a Grub command prompt but will still not display the menu.lst

From Fedora here is a copy of my menu.lst:-

default=0
timeout=5
splashimage=(hd0,2)/grub/splash.xpm.gz
hiddenmenu
title Fedora (2.6.23.9-85.fc8)
root (hd0,2)
kernel /vmlinuz-2.6.23.9-85.fc8 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
initrd /initrd-2.6.23.9-85.fc8.img
title Fedora (2.6.23.8-63.fc8)
root (hd0,2)
kernel /vmlinuz-2.6.23.8-63.fc8 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
initrd /initrd-2.6.23.8-63.fc8.img
title Fedora (2.6.21-2952.fc8xen)
root (hd0,2)
kernel /xen.gz-2.6.21-2952.fc8
module /vmlinuz-2.6.21-2952.fc8xen ro root=/dev/VolGroup00/LogVol00 rhgb quiet
module /initrd-2.6.21-2952.fc8xen.img
title Fedora (2.6.21-2950.fc8xen)
root (hd0,2)
kernel /xen.gz-2.6.21-2950.fc8
module /vmlinuz-2.6.21-2950.fc8xen ro root=/dev/VolGroup00/LogVol00 rhgb quiet
module /initrd-2.6.21-2950.fc8xen.img
title Fedora (2.6.22)
root (hd0,2)
kernel /vmlinuz-2.6.22 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
initrd /initrd-2.6.22.img
title Other
rootnoverify (hd0,0)
chainloader +1

Ken
 

mqudsi

Mostly Harmless
Staff member
#15
OK, put your drives back the way they were (this is very important!).

Remove all Linux entries in EasyBCD.
EasyBCD -> Add NeoGrub entry
Configure the NeoGrub entry -> copy and paste the menu.lst from Fedora into NeoGrub's menu.lst.

You should then be able to use NeoGrub to boot into Fedora.
 
#16
Now that it is dropping me at a GRUB command prompt I was able to boot by doing the following:-

root (hd0,2)
kernel /vmlinuz-2.6.23.9-85.fc8 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
initrd /initrd-2.6.23.img
boot

It appears the only thing missing is the menu.lst file which for some unknown reason Grub cannot see!

When I boot with the SuperGrub CD it does display the menu.lst file, any idea why this is so?

Ken
 

mqudsi

Mostly Harmless
Staff member
#17
You can copy and paste what you posted above into C:\NST\menu.lst overwriting what's already there - should take care of it.

I have no idea why it's not seeing it for sure, but there are several possibilities such as your BIOS not having proper LBA support and not seeing past the 137GB mark, irregular partition table, incorrect FAT, etc.
 
#18
I have advanced a little, I found that Grub is mounting the boot partition as /
therefore the menu.lst file is at /grub/menu.lst not /boot/grub/menu.lst

configfile /grub/menu.lst starts the menu correctly from the command line.

Does this help as to why EasyBSD is not starting the menu correctly?

Ken
 

mqudsi

Mostly Harmless
Staff member
#19
Not really...

If you type in
Code:
root (hd0,2)
it should mount the / partition.
Only explanation: you have a partition dedicated for /boot/ and a second partition for /