[TriLUG] Grub boot problem

William Sutton william at trilug.org
Sat Apr 15 23:52:38 EDT 2006


I tried irc.freenode.net #grub (twice) and nobody responded, so to the 
trilug list I come...

Please bear with me as I'm trying to be as specific and detailed at the 
outset as possible to give a clear picture of what's happening.  Since I'm 
not an expert on this, there may be a lot of useless data here.

I have a system running Gentoo 2005.1, with all recent updates.  Last 
Sunday, I attempted to run xcdroast as root (it refused to run as a user 
or under sudo...we can address that later, so no flames, please).  It 
locked the system (X refused to respond, keyboard Num Lock refused to 
respond, remote login to kill the process was useless in that login was 
allowed but kill, reboot, even init 0 responded with errors).

I powered the system off, and powered it back on.

It came up and said

-----
GRUB _
-----

and sat there doing nothing.

So I rebooted it (actually, the keyboard refused to respond again, so I 
went through the manual power cycle process).  I popped in my Gentoo 
2005.1 livecd, mounted everything, and ran fsck on all the disks.  Aside 
from a large number of inodes freed, it passed muster.

Before I go further, here's the output of fdisk -l:

-----
Disk /dev/hda: 3240 MB, 3240646656 bytes
15 heads, 63 sectors/track, 6697 cylinders
Units = cylinders of 945 * 512 = 483840 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/hda1   *           1         217      102501   83  Linux
/dev/hda2             218        6697     3061800   83  Linux

Disk /dev/sda: 9139 MB, 9139200000 bytes
255 heads, 63 sectors/track, 1111 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1         261     2096451   82  Linux swap / Solaris
/dev/sda2             262        1111     6827625   83  Linux

Disk /dev/sdb: 36.7 GB, 36703918080 bytes
255 heads, 63 sectors/track, 4462 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1         653     5245191   83  Linux
/dev/sdb2             654        4462    30595792+  83  Linux
-----

and the corresponding mounts from mount:

-----
/dev/sdb2 on / type ext3 (rw)
/dev/sdb1 on /usr type ext3 (rw)
/dev/sda2 on /home type ext3 (rw)
/dev/hda1 on /boot type ext2 (rw)
/dev/hda2 on /var type ext3 (rw)
none on /proc type proc (rw,nodiratime)
-----

To verify that I have the right disks for the next thing I wanted to do, I 
checked /boot/grub/device.map:

-----
(fd0)	/dev/fd0
(hd0)	/dev/hda
(hd1)	/dev/sda
(hd2)	/dev/sdb
-----

Now then...the next thing I did was to manually re-setup grub on the first 
MBR of all disks (NB, it doesn't show here, but when I ran grub, there 
were an awful lot of error messages about fd0; more on those later):

-----
grub> root (hd0,0)
 Filesystem type is ext2fs, partition type 0x83

grub> setup (hd0)
 Checking if "/boot/grub/stage1" exists... yes
 Checking if "/boot/grub/stage2" exists... yes
 Checking if "/boot/grub/e2fs_stage1_5" exists... yes
 Running "embed /boot/grub/e2fs_stage1_5 (hd0)"...  16 sectors are embedded.
succeeded
 Running "install /boot/grub/stage1 (hd0) (hd0)1+16 p (hd0,0)/boot/grub/stage2 /boot/grub/menu.lst"... succeeded
Done.

grub> setup (hd1)
 Checking if "/boot/grub/stage1" exists... yes
 Checking if "/boot/grub/stage2" exists... yes
 Checking if "/boot/grub/e2fs_stage1_5" exists... yes
 Running "embed /boot/grub/e2fs_stage1_5 (hd1)"...  16 sectors are embedded.
succeeded
 Running "install /boot/grub/stage1 d (hd1) (hd1)1+16 p (hd0,0)/boot/grub/stage2 /boot/grub/menu.lst"... succeeded
Done.

grub> setup (hd2)
 Checking if "/boot/grub/stage1" exists... yes
 Checking if "/boot/grub/stage2" exists... yes
 Checking if "/boot/grub/e2fs_stage1_5" exists... yes
 Running "embed /boot/grub/e2fs_stage1_5 (hd2)"...  16 sectors are embedded.
succeeded
 Running "install /boot/grub/stage1 d (hd2) (hd2)1+16 p (hd0,0)/boot/grub/stage2 /boot/grub/menu.lst"... succeeded
Done.
-----

looks ok to me, other than the messages previously mentioned.

I rebooted.  This time it came up and stated that it was loading Grub 
stage 1.5.  So far so good...until I saw the following (from memory):

-----
Grub
Error 17
-----

Nothing beyond "Error 17".  I googled all over the place but didn't find 
anything that helped me in particular.  So for giggles I decided to do a 
grub-install --recheck to see if everything was OK.

-----
# grub-install --recheck /dev/hda
Probing devices to guess BIOS drives. This may take a long time.
end_request: I/O error, dev fd0, sector 0
end_request: I/O error, dev fd0, sector 0
Buffer I/O error on device fd0, logical block 0
end_request: I/O error, dev fd0, sector 0
Buffer I/O error on device fd0, logical block 0
ide-floppy driver 0.99.newide
hdc: No disk in drive
hdc: No disk in drive
end_request: I/O error, dev fd0, sector 0
end_request: I/O error, dev fd0, sector 0
end_request: I/O error, dev fd0, sector 0
Buffer I/O error on device fd0, logical block 0
end_request: I/O error, dev fd0, sector 0
Buffer I/O error on device fd0, logical block 0
-----

Wow.  All of the fd0 error messages I saw when I initially ran grub.  
Here's a problem, though:  grub goes through its errors and then gives me 
an interface to work in.  grub-install, which should give me some sort of 
status, just keeps spitting these errors out.  I have to CTRL+C to get out 
of it.

I can mount it off the livecd (which it presently is), so it's not 
hopeless for retrieving data off of, but this situation has me bothered.  
Optimally, I'd like to get it back up and booting properly.  Failing that, 
I'd like some sort of advice as to what to do (older SCSI drives, older 
IDE drive, etc).

So....can anyone help me? :)

-- 
William Sutton



More information about the TriLUG mailing list