LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Newbie (https://www.linuxquestions.org/questions/linux-newbie-8/)
-   -   Grub Error 18 repeatedly re-occurring since an install. (https://www.linuxquestions.org/questions/linux-newbie-8/grub-error-18-repeatedly-re-occurring-since-an-install-592450/)

Siljrath 10-17-2007 04:07 AM

Grub Error 18 repeatedly re-occurring since an install.
 
Quote:

http://wiki.linuxquestions.org/wiki/GRUB#Error_18
Error 18

Error 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 on others.). In more practical terms this means the BIOS is unable to start executing the kernel because the kernel is not located within the block it can access at boot up time.

This can be circumvented by creating a boot partition at the beginning of the disk that is completely within the first 1023 cylinders of the harddrive. This partition will contain the kernel.

The kernel itself does not suffer from the same limitations as the BIOS so after the BIOS has loaded the kernel the kernel will have no problem accessing the whole harddrive. Newer BIOSes will automatically translate the harddrives size in a way that it can be completely contained within the first 1023 cylinders and hence modern computers do not suffer from this problem.
The same error can happen when the BIOS detects a disk in a different way as Linux does. This can happen when changing motherboards or when moving a GRUB-bootable disk from one computer to another. If this happens, just boot with a GRUB floppy, read the C/H/S numbers from the existing partition table and manually edit the BIOS numbers to match. If using a SUSE linux and installing on VM Ware this problem is solved by creating a small partition at the very beginning of the harddisc, and mounting it as /boot.
I had my machine working perfect a while ago...

k, i have suse and winxp on my 300G sata.
my 60gb i have been doing lots of repartitioning and fiddling with many different Distributions.
after installing MCN Live toronto, it all went a bit screwey. its one of those pesky annoying distributions that doesnt give us dumb gui users the option to not install the boot loader over the master boot record.

what is it that has happened that i keep getting so many grub error 18s?
how do i go about fixing this?

please, no cheeky comments how i brought it on myself by not making a grub floppy. :p :D

(i've been getting a few 17s and 13s too)
for reference:
http://www.gnu.org/software/grub/man...1_002e5-errors
Quote:

14 Error messages reported by GRUB

This chapter describes error messages reported by GRUB when you encounter trouble. See Invoking the grub shell, if your problem is specific to the grub shell.

* Stage1 errors: Errors reported by the Stage 1
* Stage1.5 errors: Errors reported by the Stage 1.5
* Stage2 errors: Errors reported by the Stage 2

Next: Stage1.5 errors, Up: Troubleshooting
14.1 Errors reported by the Stage 1

The general way that the Stage 1 handles errors is to print an error string and then halt. Pressing <CTRL>-<ALT>-<DEL> will reboot.

The following is a comprehensive list of error messages for the Stage 1:

Hard Disk Error
The stage2 or stage1.5 is being read from a hard disk, and the attempt to determine the size and geometry of the hard disk failed.
Floppy Error
The stage2 or stage1.5 is being read from a floppy disk, and the attempt to determine the size and geometry of the floppy disk failed. It's listed as a separate error since the probe sequence is different than for hard disks.
Read Error
A disk read error happened while trying to read the stage2 or stage1.5.
Geom Error
The location of the stage2 or stage1.5 is not in the portion of the disk supported directly by the BIOS read calls. This could occur because the BIOS translated geometry has been changed by the user or the disk is moved to another machine or controller after installation, or GRUB was not installed using itself (if it was, the Stage 2 version of this error would have been seen during that process and it would not have completed the install).

Next: Stage2 errors, Previous: Stage1 errors, Up: Troubleshooting
14.2 Errors reported by the Stage 1.5

The general way that the Stage 1.5 handles errors is to print an error number in the form Error num and then halt. Pressing <CTRL>-<ALT>-<DEL> will reboot.

The error numbers correspond to the errors reported by Stage 2. See Stage2 errors.

Previous: Stage1.5 errors, Up: Troubleshooting
14.3 Errors reported by the Stage 2

The general way that the Stage 2 handles errors is to abort the operation in question, print an error string, then (if possible) either continue based on the fact that an error occurred or wait for the user to deal with the error.

The following is a comprehensive list of error messages for the Stage 2 (error numbers for the Stage 1.5 are listed before the colon in each description):

1 : Filename must be either an absolute filename or blocklist
This error is returned if a file name is requested which doesn't fit the syntax/rules listed in the Filesystem.
2 : Bad file or directory type
This error is returned if a file requested is not a regular file, but something like a symbolic link, directory, or FIFO.
3 : Bad or corrupt data while decompressing file
This error is returned if the run-length decompression code gets an internal error. This is usually from a corrupt file.
4 : Bad or incompatible header in compressed file
This error is returned if the file header for a supposedly compressed file is bad.
5 : Partition table invalid or corrupt
This error is returned if the sanity checks on the integrity of the partition table fail. This is a bad sign.
6 : Mismatched or corrupt version of stage1/stage2
This error is returned if the install command points to incompatible or corrupt versions of the stage1 or stage2. It can't detect corruption in general, but this is a sanity check on the version numbers, which should be correct.
7 : Loading below 1MB is not supported
This error is returned if the lowest address in a kernel is below the 1MB boundary. The Linux zImage format is a special case and can be handled since it has a fixed loading address and maximum size.
8 : Kernel must be loaded before booting
This error is returned if GRUB is told to execute the boot sequence without having a kernel to start.
9 : Unknown boot failure
This error is returned if the boot attempt did not succeed for reasons which are unknown.
10 : Unsupported Multiboot features requested
This error is returned when the Multiboot features word in the Multiboot header requires a feature that is not recognized. The point of this is that the kernel requires special handling which GRUB is probably unable to provide.
11 : Unrecognized device string
This error is returned if a device string was expected, and the string encountered didn't fit the syntax/rules listed in the Filesystem.
12 : Invalid device requested
This error is returned if a device string is recognizable but does not fall under the other device errors.
13 : Invalid or unsupported executable format
This error is returned if the kernel image being loaded is not recognized as Multiboot or one of the supported native formats (Linux zImage or bzImage, FreeBSD, or NetBSD).
14 : Filesystem compatibility error, cannot read whole file
Some of the filesystem reading code in GRUB has limits on the length of the files it can read. This error is returned when the user runs into such a limit.
15 : File not found
This error is returned if the specified file name cannot be found, but everything else (like the disk/partition info) is OK.
16 : Inconsistent filesystem structure
This error is returned by the filesystem code to denote an internal error caused by the sanity checks of the filesystem structure on disk not matching what it expects. This is usually caused by a corrupt filesystem or bugs in the code handling it in GRUB.
17 : Cannot mount selected partition
This error is returned if the partition requested exists, but the filesystem type cannot be recognized by GRUB.
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).
19 : Linux kernel must be loaded before initrd
This error is returned if the initrd command is used before loading a Linux kernel.
20 : Multiboot kernel must be loaded before modules
This error is returned if the module load command is used before loading a Multiboot kernel. It only makes sense in this case anyway, as GRUB has no idea how to communicate the presence of such modules to a non-Multiboot-aware kernel.
21 : Selected disk does not exist
This error is returned if the device part of a device- or full file name refers to a disk or BIOS device that is not present or not recognized by the BIOS in the system.
22 : No such partition
This error is returned if a partition is requested in the device part of a device- or full file name which isn't on the selected disk.
23 : Error while parsing number
This error is returned if GRUB was expecting to read a number and encountered bad data.
24 : Attempt to access block outside partition
This error is returned if a linear block address is outside of the disk partition. This generally happens because of a corrupt filesystem on the disk or a bug in the code handling it in GRUB (it's a great debugging tool).
25 : Disk read error
This error is returned if there is a disk read error when trying to probe or read data from a particular disk.
26 : Too many symbolic links
This error is returned if the link count is beyond the maximum (currently 5), possibly the symbolic links are looped.
27 : Unrecognized command
This error is returned if an unrecognized command is entered on the command-line or in a boot sequence section of a configuration file and that entry is selected.
28 : Selected item cannot fit into memory
This error is returned if a kernel, module, or raw file load command is either trying to load its data such that it won't fit into memory or it is simply too big.
29 : Disk write error
This error is returned if there is a disk write error when trying to write to a particular disk. This would generally only occur during an install of set active partition command.
30 : Invalid argument
This error is returned if an argument specified to a command is invalid.
31 : File is not sector aligned
This error may occur only when you access a ReiserFS partition by block-lists (e.g. the command install). In this case, you should mount the partition with the `-o notail' option.
32 : Must be authenticated
This error is returned if you try to run a locked entry. You should enter a correct password before running such an entry.
33 : Serial device not configured
This error is returned if you try to change your terminal to a serial one before initializing any serial device.
34 : No spare sectors on the disk
This error is returned if a disk doesn't have enough spare space. This happens when you try to embed Stage 1.5 into the unused sectors after the MBR, but the first partition starts right after the MBR or they are used by EZ-BIOS.

Siljrath 10-17-2007 04:31 AM

oh... could it be to do with me having writen only root where i had in previous menu.lst incarnations i had rootnoverify written?

arubin 10-17-2007 05:13 AM

Can you get into Suse at all?

I would have thought that your problem is either in the grub installation to MBR or in menu.1st

If you can get into the system you could try re-installing grub to the MBR. I think it is

#grub-install sd0

depending on your disc set up.

You could also post your menu.1st for one of the experts to ponder.

Siljrath 10-18-2007 02:36 AM

Quote:

Originally Posted by arubin (Post 2927170)
Can you get into Suse at all?

I would have thought that your problem is either in the grub installation to MBR or in menu.1st

If you can get into the system you could try re-installing grub to the MBR. I think it is

#grub-install sd0

depending on your disc set up.

You could also post your menu.1st for one of the experts to ponder.

alas, my menu.lst (".1st"?) is getting changed more times than is likely practical to bother sticking a copy on my usb drive n carting through to this room to the pc with an internet connection. :D


yeah, i'm gonna install a few more of these new distros i've downloaded first then i'll see about getting a working mbr n menu.lst.

i can get into suse... 9.1 :D which i just installed (probably for nostalgia since it was my first nix). but no... it's not happnin for the 10.2 it would seem.
i can boot to xp ok tho, which shares the same physical drive that suse10.2 is on.

i dont quite understand it yet either... but sometimes it boots the other osses on the list, n other times i just get error 18s for everything. its bloody weird.


if a solution doesnt present itself soon after i've installed these couple other oses, i'l be back with my menu.lst n whatever other bits n bobs are needed.


cud i be right in thinking... suse kept it's boot doodad-thingymies in the mbr (((or start of drive?))), and when mcn live came along and over wrote it, it stopped me being able to boot to suse?

if this is the case, than i'm confident i'm on the right path by planning to follow saikee's lead and have a partition specially for el grubby. :D

arubin 10-18-2007 03:07 AM

The problem with all these distro installations is that if you let them install grub they will then produce a grub which refers to there own menu.1st in there own /boot/grub/. They won't know about your old menu.1st and might botch the entries to the new one. My guess is that you need to work out which menu.1st your grub is looking at. Then have a look at the menu.1st on the Suse 10.2 partition and you will find what the appropriate menu.1st entries should have been.

My approach is to never let an installation install grub. My grub was installed from slackware running in sdb3. If I install another distro on another partition I do not let it install grub. Instead I manually edit menu.1st on sdb3 to add an entry for the new distro. This works fine as long as I know what the entries are for the new distro.

Siljrath 10-18-2007 09:30 PM

' love brackets, me.
 
i have just installed studioubuntu (among others)... i knew there was a reason i loved ubuntu despite other failings.... it automatically detects all other opperating systems (it seems from all menu.lst (or bootloaders') files in all partitions i think)... that is something which many other distributions, including some major ones, completely fail to do at all (or try, but botch it up calling them all "windows1, windows2, windows3, etcetcetc. or missing loads).

with a little more help from saikee's legendary thread, particulalry the bits there and around:

The mother of all booting schemes - Grub in a data-only partition
(scroll down a little from the link

... I have now got my grub on hdb3 (the first two primary partitions saved for later opperating systems that love to have the first or primary partitions), my menu.lst sorted (mostly) and i've learned, much. some of the operating systems boot, some dont. and i detected the pattern... those who when installed, installed to the mbr, no longer have their own boot, as the mbr has been getting overwritten, and thus, in this method, cannot be booted until they get their own um... boot sector (~ is all my lingo and terminology correct and understandable? ~)

since ubuntu is so kind as to collate all the menu.lst options for me, i shall be using it as a tool simply for this very job from now on should i need such a feature again (though i expect an oldskooler wud know how to do such a simple task with a command line... if only they could draw a picture explaining it for the benefit of all us poor saps to get unstuck from something gui).




Quote:

Originally Posted by arubin (Post 2928167)
The problem with all these distro installations is that if you let them install grub they will then produce a grub which refers to there own menu.1st in there own /boot/grub/. They won't know about your old menu.1st and might botch the entries to the new one. My guess is that you need to work out which menu.1st your grub is looking at. Then have a look at the menu.1st on the Suse 10.2 partition and you will find what the appropriate menu.1st entries should have been.

My approach is to never let an installation install grub. My grub was installed from slackware running in sdb3. If I install another distro on another partition I do not let it install grub. Instead I manually edit menu.1st on sdb3 to add an entry for the new distro. This works fine as long as I know what the entries are for the new distro.

i like saikees method because for the most part, all i need to know is

Title MarklarJingbangLinux
root (hd0,0)
chainloader +1



where "(hd0,0)" represents my hard drive (hd), first number which drive, second number which partition.

(oh how it benefited me early on when people would actually explain little things like that)


in the above example, I actually change root to rootnoverify, it sometimes seems necessary, and i havn't noticed it hurting anything yet.
also in the above example, I write boot on the next line after chainloader +1. i dont really know why... it just seems a touch more sure.




right, where was I... oh yes...

how do i, "work out which menu.1st your [my] grub is looking at"?





on a tangent:
i have a plan (came up with on the phone to my dad) to clone my dad's PC (this one) onto a new partition on my terabyte usb sata hd.
then run a free (gnu/gpl) virtualisation environment (VirtualBox, Qemu, VMWare, Xen) to run it and all the software within (hopefully, but not essential).
once this is achieved successfully, i'll do a full format and thorough wipe of his hard drive, with as many of those sorts of tools i can find. i'm looking for better than military grade stuff to wipe those hard drives, if you know what i mean. then do a clean install of a SECURE ( and i DO mean SECURE SECURE SECURE) Linux. Then in that light and fast and speedy and quick and stable and reliable Linux, install the best virtualisation software from before (and probably a couple backups at least), ||with this windows (or another of dad's choosing) back on it, and his essential software, restore his personal data and settings, and install
my collection of essential software alternatives (y'know the sort of thing... ye' just keep all those little apps that sort out a few of windows bumps, add some extra functionality or improve workflow.)

the_pakettle 12-14-2007 09:46 AM

I have the same problem; "Grub error 18" when I try to boot the first time.
I'm installing SUSE to prepare for a LINUX training class that starts right after New Years, and I'd like to get a little ahead of everyone. (I need all the help I can get)
So I'm stuck with SUSE, and the only computer I have is an older box that has a larger hard drive and an updated BIOS and works ok with Windows 98.
As long as I'm booted from the DVD, SUSE thinks it loaded ok, but as soon as I try to boot from the hard drive I get the same error.
Is there a simple (I'm new at this) way to load SUSE so that everything will run properly?
I'm trying to load SUSE 10.
Thanks for any help you can offer.


All times are GMT -5. The time now is 11:49 PM.