Grub and BIOS limitations
I think the weird grub behavior I've encountered really is related to BIOS limitations. Following the instructions in the grub manual, I built a boot diskette and booted from it, getting a grub prompt. I then issued the following commands, with these responses: root (hd0,7) Error 18: Selected cylinder exceeds maximum supported by BIOS root (hd0,6) Filesystem type is Reiserfs, partition type is 0x83 root (hd0,7) Filesystem type is ext2fs, partition type is 0x83 I then issued the root (hd0,7) command repeatedly and about half the time I got the Error 18 and about half the time I got the filesystem type. As I mentioned earlier, my hard drive is a 200GB model and my motherboard is a Biostar P4M800-M7A, with an Award Bios v6.00PG. I'm now trying to update the BIOS, but I still don't know where to get information about the capacity of the current BIOS. I cannot find it anywhere in the BIOS configuration utility. My thanks to everyone who's helped analyze this problem. Paul
On 06/09/17 23:19 (GMT-0400) Paul Abrahams apparently typed:
I think the weird grub behavior I've encountered really is related to BIOS limitations. Following the instructions in the grub manual, I built a boot diskette and booted from it, getting a grub prompt. I then issued the following commands, with these responses:
root (hd0,7) Error 18: Selected cylinder exceeds maximum supported by BIOS
The >128G HD size makes this sound like a geometry mismatch problem, even as new as the motherboard and BIOS are. Because it used to work, I suspect no one's going to figure out how it got broken, but I'll bet starting from scratch with a disk wipe and putting a /boot or / and Grub on the first cylinder would fix it permanently. In spite of all the recomendations you'll find elsewhere to install windoz first at the start of the drive, I've found there is no problem installing windoz anywhere you please as long as you provide it a first disk FAT primary of about 40M (yes M, not G) or more to boot (and install) from. I normally install XP on hda8 or higher (D:), after logical Linux partitions beginning at hda5. I always do all my partitioning prior to beginning any OS installation.
root (hd0,6) Filesystem type is Reiserfs, partition type is 0x83
root (hd0,7) Filesystem type is ext2fs, partition type is 0x83
I then issued the root (hd0,7) command repeatedly and about half the time I got the Error 18 and about half the time I got the filesystem type.
As I mentioned earlier, my hard drive is a 200GB model and my motherboard is a Biostar P4M800-M7A, with an Award Bios v6.00PG. I'm now trying to update the BIOS, but I still don't know where to get information about the capacity of the current BIOS. I cannot find it anywhere in the BIOS configuration utility.
Is 10.0 the only Linux you ever installed on this system? Did the system come with XP already installed on the 200G HD? -- "Wisdom is supreme; therefore get wisdom. Though it cost all you have, get understanding. Esteem her, and she will exalt you; embrace her, and she will honor you." Proverbs 4:7-8 NIV Team OS/2 ** Reg. Linux User #211409 Felix Miata *** http://mrmazda.no-ip.com/partitioningindex.html
On Monday 18 September 2006 12:02 am, Felix Miata wrote:
On 06/09/17 23:19 (GMT-0400) Paul Abrahams apparently typed:
I think the weird grub behavior I've encountered really is related to BIOS limitations. Following the instructions in the grub manual, I built a boot diskette and booted from it, getting a grub prompt. I then issued the following commands, with these responses:
root (hd0,7) Error 18: Selected cylinder exceeds maximum supported by BIOS
The >128G HD size makes this sound like a geometry mismatch problem, even as new as the motherboard and BIOS are. Because it used to work, I suspect no one's going to figure out how it got broken, but I'll bet starting from scratch with a disk wipe and putting a /boot or / and Grub on the first cylinder would fix it permanently.
I'm reluctantly reaching the conclusion that I have to start the installation all over again, possibly even the Windows part. But I just might be able to get away with rearranging the Linux partitions to put the boot partition ahead of the root partition, since the boot partition is the one that grub needs to work with.
In spite of all the recomendations you'll find elsewhere to install windoz first at the start of the drive, I've found there is no problem installing windoz anywhere you please as long as you provide it a first disk FAT primary of about 40M (yes M, not G) or more to boot (and install) from. I normally install XP on hda8 or higher (D:), after logical Linux partitions beginning at hda5. I always do all my partitioning prior to beginning any OS installation.
root (hd0,6) Filesystem type is Reiserfs, partition type is 0x83
root (hd0,7) Filesystem type is ext2fs, partition type is 0x83
I then issued the root (hd0,7) command repeatedly and about half the time I got the Error 18 and about half the time I got the filesystem type.
As I mentioned earlier, my hard drive is a 200GB model and my motherboard is a Biostar P4M800-M7A, with an Award Bios v6.00PG. I'm now trying to update the BIOS, but I still don't know where to get information about the capacity of the current BIOS. I cannot find it anywhere in the BIOS configuration utility.
Is 10.0 the only Linux you ever installed on this system? Did the system come with XP already installed on the 200G HD?
Yes, 10.0 is the only Linux I've installed. XP was not preinstalled, but I installed it myself. Paul
On 06/09/18 00:10 (GMT-0400) Paul Abrahams apparently typed:
On Monday 18 September 2006 12:02 am, Felix Miata wrote:
The >128G HD size makes this sound like a geometry mismatch problem, even as new as the motherboard and BIOS are. Because it used to work, I suspect no one's going to figure out how it got broken, but I'll bet starting from scratch with a disk wipe and putting a /boot or / and Grub on the first cylinder would fix it permanently.
I'm reluctantly reaching the conclusion that I have to start the installation all over again, possibly even the Windows part. But I just might be able to get away with rearranging the Linux partitions to put the boot partition ahead of the root partition, since the boot partition is the one that grub needs to work with.
That might work, but the reason I suggested putting /boot on cylinder 1 (start of disk) is to ensure that its partition begins before LBA sector 1,032,192 (1024*16*63). -- "Wisdom is supreme; therefore get wisdom. Though it cost all you have, get understanding. Esteem her, and she will exalt you; embrace her, and she will honor you." Proverbs 4:7-8 NIV Team OS/2 ** Reg. Linux User #211409 Felix Miata *** http://mrmazda.no-ip.com/partitioningindex.html
Paul Abrahams wrote:
I think the weird grub behavior I've encountered really is related to BIOS limitations. In my experience, if the BIOS allows you to use the full capacity of your drive, it is not limited. If it cannot see the drive without help, i.e. setting the jumper to limit drive size, or an overlay, then it is BIOS. In your case, it doesn't sound like BIOS. As I mentioned earlier, my hard drive is a 200GB model and my motherboard is a Biostar P4M800-M7A, with an Award Bios v6.00PG. I'm now trying to update the BIOS, but I still don't know where to get information about the capacity of the current BIOS. I cannot find it anywhere in the BIOS configuration utility.
If all your grub files are OK, what happens when you install grub via the grub prompt? After the root command, do you get back the correct info for your boot filesystem? When you run setup, do you see it finding everything and installing? Since I am running raid1, which grub cannot see (yet?), I install grub on both hd separately. It only takes those 2 commands to setup grub. There is output as well. Could you try those and give feedback regarding its output? -- Joe Morris Registered Linux user 231871
On Monday 18 September 2006 7:41 am, Joe Morris (NTM) wrote:
Paul Abrahams wrote:
I think the weird grub behavior I've encountered really is related to BIOS limitations.
In my experience, if the BIOS allows you to use the full capacity of your drive, it is not limited. If it cannot see the drive without help, i.e. setting the jumper to limit drive size, or an overlay, then it is BIOS. In your case, it doesn't sound like BIOS.
I wish you were right about that. I'm totally baffled by the randomness of the response to root (hd0,7) when I load grub from a diskette. I would have thought that whatever the BIOS problems, the behavior would be consistent, since I don't see any nondeterministic processes involved. But this business of sometimes getting an Error 18 and sometimes getting a valid partition descriptor has me stumped.
As I mentioned earlier, my hard drive is a 200GB model and my motherboard is a Biostar P4M800-M7A, with an Award Bios v6.00PG. I'm now trying to update the BIOS, but I still don't know where to get information about the capacity of the current BIOS. I cannot find it anywhere in the BIOS configuration utility.
If all your grub files are OK, what happens when you install grub via the grub prompt?
Once I started getting that inconsistent behavior I stopped trying anything else because I couldn't count on the results being valid. I suppose I could keep issuing the root (hd0,7) command until it works, but then the results of anything else I did would still be in question.
After the root command, do you get back the correct info for your boot filesystem?
Either that or an Error 18, randomly.
When you run setup, do you see it finding everything and installing?
I never got that far.
Since I am running raid1, which grub cannot see (yet?), I install grub on both hd separately. It only takes those 2 commands to setup grub. There is output as well. Could you try those and give feedback regarding its output?
Without resolving the Error 18 problems, how would that produce reliable information? Paul
On Monday 18 September 2006 14:18, Paul Abrahams wrote:
I wish you were right about that. I'm totally baffled by the randomness of the response to root (hd0,7) when I load grub from a diskette. I would have thought that whatever the BIOS problems, the behavior would be consistent, since I don't see any nondeterministic processes involved. But this business of sometimes getting an Error 18 and sometimes getting a valid partition descriptor has me stumped.
This is just a shot in the dark, but... perhaps your drive isn't always spinning up fast enough? i don't think there's a way to tell grub to sleep for a few seconds, but maybe there is. -- ----- stephan@s11n.net http://s11n.net "...pleasure is a grace and is not obedient to the commands of the will." -- Alan W. Watts
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 The Sunday 2006-09-17 at 23:19 -0400, Paul Abrahams wrote:
I think the weird grub behavior I've encountered really is related to BIOS limitations. Following the instructions in the grub manual, I built a boot diskette and booted from it, getting a grub prompt. I then issued the following commands, with these responses:
root (hd0,7) Error 18: Selected cylinder exceeds maximum supported by BIOS
- From seagate site: | Some systems BIOS have capacity limitations. Types that have | been identified are: | | a 2.11GB or 4095 cylinder limitation | a 3.26GB or 6322 cylinder limitation | a 4.22GB or 8192 cylinder limitation | a 8.45GB Standard INT13 limitation (CHS[1024x256x63]x512) | a 33.8GB or 66,060,287 LBAs limitation | a 137.4GB or 268,435,455 LBAs limitation (28-bit limit) | | and, if exceeded, may cause the system to hang during boot, | capacity reduction or it can truncate or wrap the cylinders when | auto-detect options set in the CMOS. | | New INT13 Extensions and LBA mode in BIOS and FAT32 or NTFS-based | file systems are required to acheive full capacity. FAT32 file | system can create single partitions and logical drives up to 2TB. | | FULL-CAPACITY solutions include third-party drive preparation | software, system BIOS update which supports LBA mode or third | party bios driven host adapters. My bios has one of those limitations, I think the 137.4GB one. The grub from 9.3 couldn't boot it, but the one in 10.1 has no problems. Of course, the /boot partition has to be located under the limit, the rest can be anywhere. - -- Cheers, Carlos E. R. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2 (GNU/Linux) Comment: Made with pgp4pine 1.76 iD8DBQFFDo+7tTMYHG2NR9URAi29AKCPLB6gjmGY1f5uR1ZIa0U/jKmQaACffNLz y1yGxaNYxvBJFuSnBRX0ugM= =3c8U -----END PGP SIGNATURE-----
On Monday 18 September 2006 8:23 am, Carlos E. R. wrote:
My bios has one of those limitations, I think the 137.4GB one. The grub from 9.3 couldn't boot it, but the one in 10.1 has no problems. Of course, the /boot partition has to be located under the limit, the rest can be anywhere.
This morning when I started up the grub boot disk I got the message: Stage 2Geom Error so I never even got to a prompt. Paul
On Monday 18 September 2006 8:31 am, I wrote:
This morning when I started up the grub boot disk I got the message:
Stage 2Geom Error
so I never even got to a prompt.
I redid the boot diskette and now I do get the prompt. I executed the root (hd0,7) command repeatedly until it worked. But then the kernel /vmlinuz root=/dev/hda7 command failed consistently with Error 18 (the BIOS limitation error). Paul
Paul Abrahams wrote:
I redid the boot diskette and now I do get the prompt. I executed the root (hd0,7) command repeatedly until it worked. But then the
kernel /vmlinuz root=/dev/hda7
command failed consistently with Error 18 (the BIOS limitation error).
Just a quick semi related question. Why do you have boot on a separate partition, and then have that partition so high? You could maybe try making a new boot dir, copying your old boot, unmount boot, adjust your menu.lst and fstab, and try again. At least boot may be a bit more reachable for the BIOS. IIUC, the main reason to have a separate boot is to make it more reachable by keeping it on a lower partition. It may not help, but cannot hurt. -- Joe Morris Registered Linux user 231871
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 The Monday 2006-09-18 at 20:56 +0800, Joe Morris (NTM) wrote:
Just a quick semi related question. Why do you have boot on a separate partition, and then have that partition so high? You could maybe try making a new boot dir, copying your old boot, unmount boot, adjust your menu.lst and fstab, and try again. At least boot may be a bit more reachable for the BIOS. IIUC, the main reason to have a separate boot is to make it more reachable by keeping it on a lower partition. It may not help, but cannot hurt.
Certainly, the /boot partition has to be near the begining of the HD, at least below the problematic limit. It usually helps. - -- Cheers, Carlos E. R. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2 (GNU/Linux) Comment: Made with pgp4pine 1.76 iD8DBQFFDp0gtTMYHG2NR9URAoqGAKCZHm7F8WYr6DfLtY9+fqoH01Qg8QCdHAmv yKPYUzOx7eG37ItxiY4Zp1Y= =TbvJ -----END PGP SIGNATURE-----
On Monday 18 September 2006 8:56 am, Joe Morris (NTM) wrote:
Paul Abrahams wrote:
I redid the boot diskette and now I do get the prompt. I executed the root (hd0,7) command repeatedly until it worked. But then the
kernel /vmlinuz root=/dev/hda7
command failed consistently with Error 18 (the BIOS limitation error).
Just a quick semi related question. Why do you have boot on a separate partition, and then have that partition so high? You could maybe try making a new boot dir, copying your old boot, unmount boot, adjust your menu.lst and fstab, and try again. At least boot may be a bit more reachable for the BIOS. IIUC, the main reason to have a separate boot is to make it more reachable by keeping it on a lower partition. It may not help, but cannot hurt.
I agree -- I just didn't think of that when I was setting it up. Paul
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On Monday 18 September 2006 8:56 am, Joe Morris (NTM) wrote:
Paul Abrahams wrote:
I redid the boot diskette and now I do get the prompt. I executed the root (hd0,7) command repeatedly until it worked. But then the
kernel /vmlinuz root=/dev/hda7
command failed consistently with Error 18 (the BIOS limitation error).
Just a quick semi related question. Why do you have boot on a separate partition, and then have that partition so high? You could maybe try making a new boot dir, copying your old boot, unmount boot, adjust your menu.lst and fstab, and try again. At least boot may be a bit more reachable for the BIOS. IIUC, the main reason to have a separate boot is to make it more reachable by keeping it on a lower partition. It may not help, but cannot hurt.
I agree -- I just didn't think of that when I was setting it up.
I had a system with BIOS problems with large HD's. The only solutions was to create a 100-500 MB partition at the front and use it for grub. I had a MS product and Linux. It dempstrated the same problems you are seeing. I finally purchased another HD. Created a 200 MB DOS partition, 400 MB boot and then the rest as needed. I then installed SUSE 10.1. I then backuped all the needed files to the new HD and modified the orignal HD. The system has been rock solid since. I put a new HD in it today to test, I created the partitions so the BIOS had problems and I got the exact same behavior you are seeing. Random failures. I think you were just lucky that it worked as long as it did. Good Luck, - -- Boyd Gerber <gerberb@zenez.com> ZENEZ 1042 East Fort Union #135, Midvale Utah 84047 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2 (GNU/Linux) Comment: For info see http://quantumlab.net/pine_privacy_guard/ iD8DBQFFDwCnVtBjDid73eYRAt9BAJ9HKi/N4W+mhmduGThvXjuNWgMPTwCfV/Mk LO9XRy90K8LVRKH1jfY+oe8= =anGp -----END PGP SIGNATURE-----
Does anyone have a guess as to why the results of grubbing root (hd0,7) are inconsistent? I can issue the command 10 times in a row and get 5 errors and 5 valid responses. I can't see where the randomness comes from. Paul
participants (6)
-
Boyd Lynn Gerber
-
Carlos E. R.
-
Felix Miata
-
Joe Morris (NTM)
-
Paul Abrahams
-
stephan beal