Hi. I have a working SuSE 9.2 system installed on two SATA drives. Unfortunately, I have run out of room, and need to install another drive on an unused IDE controller. When I connect the drive and try to boot the system, I get through all the normal device discovery stuff in the BIOS and then the system prints out "GRUB" and hangs hard. I _think_ this means the system has loaded GRUB off of the SATA drive (which is what I want) but then GRUB can't find the /boot filesystem, etc. that allows it to proceed. If I disconnect the new IDE drive, I have no problems. Any ideas on how to reconfigure GRUB? Thanks.
On Friday 15 April 2005 07:43 am, Mike wrote:
Hi. I have a working SuSE 9.2 system installed on two SATA drives. Unfortunately, I have run out of room, and need to install another drive on an unused IDE controller. When I connect the drive and try to boot the system, I get through all the normal device discovery stuff in the BIOS and then the system prints out "GRUB" and hangs hard.
I _think_ this means the system has loaded GRUB off of the SATA drive (which is what I want) but then GRUB can't find the /boot filesystem, etc. that allows it to proceed. If I disconnect the new IDE drive, I have no problems.
Can't help much without details of your menu.lst
On Friday 15 April 2005 11:47, Bruce Marshall wrote:
Can't help much without details of your menu.lst
# Modified by YaST2. Last modification on Wed Nov 3 23:01:15 2004 color white/blue black/light-gray default 0 timeout 8 gfxmenu (hd1,0)/boot/message ###Don't change this comment - YaST2 identifier: Original name: linux### title SUSE LINUX 9.2 kernel (hd1,0)/boot/vmlinuz root=/dev/sdb1 vga=0x31a selinux=0 splash=silent console=tty0 resume=/dev/sdb2 desktop elevator=as showopts initrd (hd1,0)/boot/initrd ###Don't change this comment - YaST2 identifier: Original name: windows### title Windows root (hd0,0) chainloader +1 ###Don't change this comment - YaST2 identifier: Original name: floppy### title Floppy root (fd0) chainloader +1 ###Don't change this comment - YaST2 identifier: Original name: failsafe### title Failsafe -- SUSE LINUX 9.2 kernel (hd1,0)/boot/vmlinuz root=/dev/sdb1 showopts ide=nodma apm=off acpi=off vga=normal noresume selinux=0 barrier=off iommu=noforce maxcpus=0 3 initrd (hd1,0)/boot/initrd ###Don't change this comment - YaST2 identifier: Original name: memtest86### title Memory Test kernel (hd1,0)/boot/memtest.bin
Mike wrote:
On Friday 15 April 2005 11:47, Bruce Marshall wrote:
Can't help much without details of your menu.lst
# Modified by YaST2. Last modification on Wed Nov 3 23:01:15 2004
<snip> First, make note of the contents of /boot/grub/device.map, then shutdown and install the IDE drive. Next boot to the install CD's rescue system and run grub --device-map=/device.map which will take you to a grub commandline (it will also generate /device.map). Just enter the word quit to exit back to the console. Now make note of the contents of /device.map. If your initial conclusion is correct (and I believe it is), your current file contains the lines (hd0) /dev/sda (hd1) /dev/sdb but the new one generated in the rescue system will contain the lines (hd0) /dev/hda (hd1) /dev/sda (hd2) /dev/sdb You are booting off the first SATA drive, so the devices in the first two lines might be interchanged; the important thing is that all the information grub now needs is no longer on (hd1). If possible, can you order the drives in your BIOS so that the SATA controller is initialized first? If so, this should make the IDE drive appear as (hd2), putting your existing drives back where grub expects to see them. If not, we'll have to do some surgery on your existing grub install, and reinstall it.
Thanks for the ideas. Unfortunately, the rescue system does not have grub, and attempting to mount the root partition and run grub from there gets odd error messages that the file does not exist. I've tried every combination of the bios hard drive configuration trying to achieve the effect of getting the ide drive to appear to grub last, but with no luck. If we assume that the ide drive is messing up the order, how does one reinstall the first stage grub so that it knows the root partition is now on the third drive (instead of the second)? mike. On Friday 15 April 2005 20:42, Darryl Gregorash wrote:
Mike wrote:
On Friday 15 April 2005 11:47, Bruce Marshall wrote:
Can't help much without details of your menu.lst
# Modified by YaST2. Last modification on Wed Nov 3 23:01:15 2004
<snip>
First, make note of the contents of /boot/grub/device.map, then shutdown and install the IDE drive. Next boot to the install CD's rescue system and run
grub --device-map=/device.map
which will take you to a grub commandline (it will also generate /device.map). Just enter the word quit to exit back to the console. Now make note of the contents of /device.map.
If your initial conclusion is correct (and I believe it is), your current file contains the lines
(hd0) /dev/sda (hd1) /dev/sdb
but the new one generated in the rescue system will contain the lines
(hd0) /dev/hda (hd1) /dev/sda (hd2) /dev/sdb
You are booting off the first SATA drive, so the devices in the first two lines might be interchanged; the important thing is that all the information grub now needs is no longer on (hd1).
If possible, can you order the drives in your BIOS so that the SATA controller is initialized first? If so, this should make the IDE drive appear as (hd2), putting your existing drives back where grub expects to see them. If not, we'll have to do some surgery on your existing grub install, and reinstall it.
Mike wrote:
Thanks for the ideas. Unfortunately, the rescue system does not have grub, and attempting to mount the root partition and run grub from there gets odd error messages that the file does not exist.
I've tried every combination of the bios hard drive configuration trying to achieve the effect of getting the ide drive to appear to grub last, but with no luck.
If we assume that the ide drive is messing up the order, how does one reinstall the first stage grub so that it knows the root partition is now on the third drive (instead of the second)?
This is major surgery to your system, and will take a bit of thought to make sure we don't screw up the system beyond recovery. Your last paragraph indicates that you have at least a bit of understanding how grub operates, so you are aware that this certainly is information that can only be stored in the master boot record (stage 1). This is what the device.map file is for -- it is grub's best guess as to the drive configuration necessary for an accurate stage 1 process. Meanwhile, there are some things you can do. First, are you able to boot into Windows with the system as currently configured? If so, the first SATA drive is currently mapped as grub's (hd0), which will simplify things somewhat. When you say that running grub in the rescue system produces a "file not found" error, I presume you mean that /device.map does not exist. If so, run grub again from the rescue system, without parameters, and see if it constructs either /boot/grub/device.map, or /device.map. However, if you meant that you attempted to mount your installed root partition as / in the rescue system, try again mounting it as, say, /mnt and run '/mnt/usr/sbin/grub --device-map=/device.map'. If you don't mean either of these, I am confused as to what you do mean. Are you absolutely certain the rescue system doesn't contain grub? Check /usr/sbin or /. I am pretty sure lilo is on the rescue system, so if grub is absent, that is very strange. Even more strange, how is one supposed to repair or build anew a boot loader whose installer isn't even on the rescue system? The word "rescue" becomes severely diminished with such an absence. If necessary, you can probably copy the necessary files from the installed system into the rescue ramdrive -- it might be necessary to create a new one if the existing one doesn't have enough space -- but we'll worry about all this later if there is an actual need. PS Reply only to the list, please. I won't get your reply any faster when you send me a separate copy.
Hi all - I got this problem solved, and I thought I'd write up what I did in case someone else hits it. To jump ahead, we were right about the drive order; bios ordering of the drives did not track to how grub ordered them. The bios order change got the system to run stage1 from the first sata drive (instead of the ide drive), but then grub puts the ide drive at hd0 and the sata drives at hd1 and hd2. There are _different_ drive schemes: the bios boot ordering, grub's unified naming (e.g. hd0, hd1, hd2), and the linux kernel naming where the ide drive is at /dev/hdc (the DVD is at /dev/hda on the first controller) and the sata drives are treated as SCSI(!) and are at /dev/sda and /dev/sdb. To figure this out and fix it, I created an ext2 fs on a floppy, copied stage1 and stage2 to /boot/grub on that floppy, and then configured the floppy to be a valid bootable disk. There is an excellent tutorial on doing these things at http://www.troubleshooters.com/linux/grub/grub.htm With this floppy I could boot into grub, use grub's find command to figure out the drive numbering discussed above, and manually run the kernel and initrd commands (from menu.lst but with the correct hd numbering), and finally boot to kick it all off. Next I copied the old menu.lst from the sata drive to the floppy, edited it to reflect the drive numbering, and rebooted just to verify that the menu.lst file was correct. Finally, I modified the device.map and real menu.lst files and reinstalled grub on the hard disk so that stage1 could find stage2.
Hello,
Hi. I have a working SuSE 9.2 system installed on two SATA drives. Unfortunately, I have run out of room, and need to install another drive on an unused IDE controller. When I connect the drive and try to boot the system, I get through all the normal device discovery stuff in the BIOS and then the system prints out "GRUB" and hangs hard.
I _think_ this means the system has loaded GRUB off of the SATA drive (which is what I want) but then GRUB can't find the /boot filesystem, etc. that allows it to proceed. If I disconnect the new IDE drive, I have no problems.
It is not a grub problem it is a Bios Problem ;) you have to configure the bios correct. ;) advanced mode, and the drive order correct, boot drive is your old installation. ;) -- MfG / Regards Günther J. Niederwimmer
On Friday 15 April 2005 14:17, Günther J. Niederwimmer wrote:
It is not a grub problem it is a Bios Problem ;) you have to configure the bios correct. ;)
advanced mode, and the drive order correct, boot drive is your old installation. ;)
When I first put the drive in, this was what happened - the symptom was that it simply did not detect any system disk. I then did what you suggest (bios advanced mode) and got it to boot off the SATA drive first. That is when I started getting the GRUB message at boot before it hung. So, I think you were right - but now the fact that I get the GRUB message means that I have the drive order correct.
Günther J. Niederwimmer
mike.
Günther J. Niederwimmer wrote:
It is not a grub problem it is a Bios Problem ;) you have to configure the bios correct. ;)
advanced mode, and the drive order correct, boot drive is your old installation. ;)
No you don't. Linux sees all of my 80 GB drive, even though I had to configure it as a less-than-64GB drive in the BIOS (well-known AWARD bug).
Hi. I have a working SuSE 9.2 system installed on two SATA drives. Unfortunately, I have run out of room, and need to install another drive on an unused IDE controller. When I connect the drive and try to boot the system, I get through all the normal device discovery stuff in the BIOS and then the system prints out "GRUB" and hangs hard.
I _think_ this means the system has loaded GRUB off of the SATA drive (which is what I want) but then GRUB can't find the /boot filesystem, etc. that allows it to proceed. If I disconnect the new IDE drive, I have no problems.
Any ideas on how to reconfigure GRUB? My initial feeling was that the BIOS would boot IDE first before SATA and that you would need to change it in the BIOS. After reading Darryls' reply about 'grub --device-map=/device.map', I think the 'grub device'
Hi Mike, Mike wrote: option would be best. my 1c worth, in case it helps -- ======================================================================== Hylton Conacher - Linux user # 229959 at http://counter.li.org Currently using SuSE 9.0 Professional with KDE 3.1 ========================================================================
participants (5)
-
Bruce Marshall
-
Darryl Gregorash
-
Günther J. Niederwimmer
-
Hylton Conacher (ZR1HPC)
-
Mike