I have replaced my old mobo and CPU on a working 11.4 installation and was expecting some issues but not this. Contrary to expectations, the existing install booted fine first time but then would not reboot with the above grub error. As I understand it, this error usually occurs with old BIOS and new large hard disks which the BIOS can’t cope with.
OK, so I eventually decided that it would be a good idea anyway to reinstall openSUSE (/home is on a separate partition). During installation, I noticed a warning that Grub error 18 might prevent booting because the bootloader was on a partition larger than 128Gb. I proceeded anyway and the beast booted, but then refused to reboot today with that error.
Now I understand that a possible workaround is to install in a special, smallish boot partition but I’m reluctant to reinstall again, and don’t understand why this should be necessary with a modern (Intel H67) motherboard.
Any suggestions would be very much appreciated!
Other info that might be relevant: no dual boot involved, three SATA HDs with grub installed in MBR of first one (sda) and openSUSE installed to sdb1. Also, it cold booted fine this morning and the error only occurred after I edited the bootloader in YAST to change the VGA mode (it had complained about it during the cold boot).
So, as you suspected here is error #18:
18 : Selected cylinder exceeds maximum supported by BIOS
This error is returned when a read is attempted at a linear block address beyond the end of the BIOS translated area. This generally happens if your disk is larger than the BIOS can handle (512MB for (E)IDE disks on older machines or larger than 8GB in general).
Now, with most modern BIOS’, this should not be an issue. I would consider switching to AHCI mode for the disk interfaces and to not use IDE mode should you decide to reinstall. I have a very current motherboard with an Intel p67 and have no issues with hard disks up to 2 TB. I would look through your many BIOS settings to see if one of them might be causing this problem.
Thank You,
Thanks James, but I don’t use IDE mode, and BIOS is configured as AHCI. That’s what’s puzzling me…
Thanks James, but I don’t use IDE mode, and BIOS is configured as AHCI. That’s what’s puzzling me…
Tell us more about the hard drive. What size is it? How many partitions are you trying to create? How old is the hard drive? Now it is getting late here in Austin, but while waiting on the answer, here is a generic blub on Partitions in Linux:
Each hard drive can have up to four PRIMARY partitions, any of which could be marked active and bootable. No matter what you might hear, only one of the first four primary partitions can be booted from. That means you can boot from Primary partitions 1, 2, 3 or 4 and that is all. In order to boot openSUSE, you must load openSUSE and the grub boot loader into one of the first four partitions. Or, your second choice is to load the grub boot loader into the MBR (Master Boot Record) at the start of the disk. The MBR can be blank, like a new disk, it can contain a Windows partition booting code or generic booting code to boot the active partition 1, 2, 3, or 4. Or, as stated before, it can contain the grub boot loader. Why load grub into the MBR then? You do this so that you can “boot” openSUSE from a logical partition, numbered 5 or higher, which is not normally possible. In order to have more than four partitions, one of them (and only one can be assigned as extended) must be a extended partition. It is called an Extended Primary Partition, a container partition, it can be any one of the first four and it can contain one or more logical partitions within. Anytime you see partition numbers 5, 6 or higher for instance, they can only occur inside of the one and only Extended Primary partition you could have.
What does openSUSE want as far as partitions? It needs at minimum a SWAP partition and a “/” partition where all of your software is loaded. Further, it is recommended you create a separate /home partition, which makes it easier to upgrade or reload openSUSE without losing all of your settings. So, that is three more partitions you must add to what you have now. What must you do to load and boot openSUSE from an external hard drive? Number one, you must be able to select your external hard drive as the boot drive in your BIOS setup. Number two, you need to make sure that the external hard drive, perhaps /dev/sdb, is listed as the first hard drive in your grub device.map file and listed as drive hd0. I always suggest that you do not load grub into the MBR, but rather into the openSUSE “/” root primary partition which means a primary number of 1, 2, 3 or 4. If number one is used, then that will be out. You will mark the openSUSE partition as active for booting and finally you must load generic booting code into the MBR so that it will boot the openSUSE partition. I suggest a partition like this:
For External You could use:
- /dev/sdb, Load MBR with generic booting code
- /dev/sdb1, Primary NTFS Partition for Windows
- /dev/sdb2, Primary SWAP (4 GB)
- /dev/sdb3, Primary EXT4 “/” openSUSE Partition Marked Active for booting (80-120 GB)
- /dev/sdb4, Primary EXT4 “/home” Your main home directory (Rest of the disk)
For Internal You could use the same but:
- /dev/sda, Load MBR with generic booting code
- /dev/sda1, Primary NTFS Partition for Windows
- /dev/sda2, Primary SWAP (4 GB)
- /dev/sda3, Primary EXT4 “/” openSUSE Partition Marked Active for booting (80-120 GB)
- /dev/sda4, Primary EXT4 “/home” Your main home directory (Rest of the disk)
With No Windows You could use:
- /dev/sda, Load MBR with generic booting code
- /dev/sda1, Primary SWAP (4 GB)
- /dev/sda2, Primary EXT4 “/” openSUSE Partition Marked Active for booting (80-120 GB)
- /dev/sda3, Primary EXT4 “/home” Your main home directory (Rest of the disk)
Thank You,
Thanks again, but I don’t think it’s anything to do with that. I haven’t changed the partition setup since the last working install. Grub is on the MBR of sda1, openSUSE on sdb1, with /home on sdb3. There’s also sdc but that plays no part in this install. The hard drives work fine, and are reasonably new.
Solved by changing boot priority of HDs in BIOS. Still don’t quite understand what happened, especially why it would work on cold boot after install and not after changing VGA mode in bootloader, but pleased it’s booting now… Thanks to our Texan friend for trying to help.
Solved by changing boot priority of HDs in BIOS. Still don’t quite understand what happened, especially why it would work on cold boot after install and not after changing VGA mode in bootloader, but pleased it’s booting now… Thanks to our Texan friend for trying to help.
So I happy to hear you found your solution and I did not think about your hard disk boot priority or what that might be doing. Many BIOS’ will search through the hard drives trying to find one to boot even as it does not come up as the lead boot drive. I suppose it had something to do with that. It is for sure if you have more than one hard drive and you don’t want to boot from the first one based on its hardware order, it must be selected in your BIOS. Further, it can be real hard to determine what is the first drive based on the SATA connector numbers it would seem. All is well that ends well is what I would say.
Thank You,
I’d thought of the boot order before but seemed unable to change it. Then the Grub error 18 confused my diagnosis. What led me onto the right track in the end was a BIOS update and the item in the changelog referring to a “correction” to the boot sequence…