grub 错误号码列表
Posted 2 months, 3 weeks ago at 11:37 am. 0 comments
1. Starting notes
Acknowledgements
Many thanks to Earthwings, penetrode, loyaltonone, pilla, airhead, nephros, yamakawa and all the others for the suggestions on the original thread.
Disclaimer warning
The examples provided are just examples. Be sure to change partition numbers and the like according to your systems specs. Follow the solutions provided by this document at your own risk.
2. Grub loading, please wait…
Situation
Code Listing 2.1: Grub output
GRUB loading stage 1.5
GRUB loading, please wait…
After this message, the system stops. If you attempt to boot the system using a grub floppy, the problem disappears.
Solution
According to The_Bell you could change the boot order in your BIOS.
Tell your BIOS to not boot from your floppy first.
penetrode wrote that this may also be due to bad CFLAGS settings. Although the current grub ebuild filters out -fstack-protector, it can’t hurt to recompile grub with clean CFLAGS if nothing else helps.
Code Listing 2.2: Using a clean CFLAG to rebuild GRUB
# CFLAGS=”-O2 -march=i686 -fomit-frame-pointer -pipe” emerge grub
3. Grub Error 12
Situation
Code Listing 3.1: Grub Output
12 : Invalid device requested.
This error is returned if the device strings syntax is correct but other than that, an error occurred that isn’t defined by any other error.
Solution
When you installed grub in your boot record using the interactive commands, did you execute the two lines below in the grub prompt?
Code Listing 3.2: Interactive installation commands
grub> root (hd0,0)
grub> setup (hd0)
(hd0,0) must be replaced with your boot partition and (hd0) with the HDD you have chosen. Remember that (hd0) will install the bootloader in the Master Boot Record of the first hard disk, the primary master.
4. Grub Error 15
Situation
This error can occur in two different stages of the GRUB configuration, either during the initial configuration (installing GRUB in the master boot record) or after booting the system and attempting to launch Linux (or any other entry).
Code Listing 4.1: Grub Output - Initial Configuration
grub> root (hd0,0)
Filesystem type is xfs, partition type 0×83
grub> setup (hd0)
Checking if “/boot/grub/stage1″ exists… no
Checking if “/grub/stage1″ exists… no
Error 15: File not found
Code Listing 4.2: Grub Output - Booting an Entry
Booting ‘gentoo Linux’
root (hd0,0)
Filesystem type is ext2fs, partition type 0×83
kernel (hd0,0)/boot/kernel-2.4.20 root=/dev/hda3 vga=792
Error 15: File not found
Press any key to continue…
Solution - Initial Configuration
This error is returned if the specified file name cannot be found, but everything else (like the disk/partition info) is OK.
Frequently, the error notes a missing kernel image file. Make sure that the file it is referring to exists on your boot partition.
To find out the exact name of your kernel, boot from the installation cd, mount your root and (if applicable) boot partition. Next, chroot into your Gentoo system and do a listing of the available files to see what kernel images you have available:
Code Listing 4.3: Verifying kernel image existence
# cd /boot
# ls
This will list all the kernels that you’ve got on your boot partition. If your kernel is missing make sure that you compiled a kernel (using genkernel or manually):
Code Listing 4.4: Recompile the kernel
# cd /usr/src/linux/
# make menuconfig
# make
And that you copied it to your boot partition:
Code Listing 4.5: Copying the kernel
# cp /usr/src/linux/arch/i386/boot/bzImage /boot
Verify that the name of the kernel is exactly the same as the one mentioned in your grub.conf file. Also make sure that the kernel line in your grub.conf file is referring to that partition (either explicitly or implicitly).
Another reported mistake is to have the BIOS ignore the disk on which the kernel or grub stages reside. Also, the partition on which grub stores its stages should not use a software RAID-5 (or other striping technology) configuration.
Solution - Booting an Entry
First, verify that the root and setup lines you have used are correct.
If you are certain they are valid, then you might be using a flawed GRUB version (0.93.20031222). Upgrade your Portage tree or mask this version of grub:
Code Listing 4.6: Masking Grub
(Execute this from within the chrooted environment)
# echo “=sys-boot/grub-0.93.20031222″ >> /etc/portage/package.mask
# emerge grub -p
You could also try to use the grub-install script as is recommended by the GRUB authors:
Code Listing 4.7: Using grub-install
(The –root-directory is needed if you are using a separate boot
partition,
otherwise you should leave it out)
# grub-install –root-directory=/boot /dev/hda
When all this fails, your boot partition may be corrupt. Check the partition for errors:
Code Listing 4.8: Checking a partition for errors
(Make sure the boot partition, /dev/hda1 in this case, is unmounted)
# fsck -y /dev/hda1
5. Grub Error 17
Situation
Code Listing 5.1: Grub Output
root (hd0,0)
filesystem type unknown partition type 0×7
Error 17 : Cannot mount selected partition
Solution
This error is returned if the partition requested exists, but the filesystem type cannot be recognized by GRUB.
Be sure to check your root(x,y) settings in your grub.conf.
Also, if you are trying to boot Windows, make sure that your grub.conf file has the root (hdX,Y) (or rootnoverify (hdX,Y)) and chainloader (hdX,Y)+1 in it.
6. Grub Error 18
Situation
Code Listing 6.1: Grub Output
kernel (hd1,4)/bzImage root=/dev/hdb7
Error 18: Selected cylinder exceeds max supported by BIOS
Solution
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).
Try an update for your BIOS and/or move your boot partition to the front (or at least into the appropriate range).
7. GRUB GRUB GRUB GRUB GRUB …
Situation
Code Listing 7.1: Grub Output
GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB
GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB
…
Solution
According to airhead this can be caused by having your bios detect your disks automatically. Try to set your bios entry to User Type HDD.
Another possibility is that you had Grub installed on your MBR and tried reinstalling it (for instance due to hard disk changes) but used the wrong setup and root commands.
8. Probing Devices to Guess BIOS Drives. This May Take a Long Time.
Situation
While trying to install grub, it hangs after displaying the following line:
Code Listing 8.1: Grub Output
# grub
Probing devices to guess BIOS drives. This may take a long time.
Solution
One reported cause was an exotic configuration of disk devices, like ultra/non-ultra DMA disks on one cable.
9. When Installing Grub, It Just Hangs
Situation
When installing grub, it hangs:
Code Listing 9.1: Grub Output
# grub
(At this stage, the installation stops)
Solution
If you haven’t got a floppy drive, have you used the –no-floppy switch?
Code Listing 9.2: Installing grub using the –no-floppy switch
# grub –no-floppy
10. Uncompressing Linux… Ok, booting the kernel.
Situation
The system hangs after displaying the following line:
Code Listing 10.1: Linux Output
Uncompressing Linux… Ok, booting the kernel.
Solution
Strictly speaking, this is no grub error. One possible cause is that ACPI is not working correctly but is enabled in the kernel. Try to disable it in your bios or in your kernel.
11. Grub Just Shows a Grub Prompt
Situation
When booting the system, you receive a grub prompt instead of a list of entries you have defined in your grub.conf file.
Solution
Mount your boot partition and verify if the grub/grub.conf file exists.
Code Listing 11.1: Mounting and verifying
# mount /dev/hda1 /mnt/gentoo/boot
# cat /mnt/gentoo/boot/grub/grub.conf
Also make sure that the menu.lst symbolic link exists:
Code Listing 11.2: Verifying the symbolic link
# ls -l /mnt/gentoo/boot/grub/menu.lst
lrwxrwxrwx 1 root root 9 Mar 7 14:00 /mnt/gentoo/boot/grub/menu.lst -> grub.conf
If not, recreate the symbolic link:
Code Listing 11.3: Recreating the menu.lst symbolic link
# cd /mnt/gentoo/boot/grub
# ln -snf grub.conf menu.lst
If this is the case, reinstall grub:
Code Listing 11.4: Reinstalling Grub
(Run from within the chrooted environment)
# grub-install –root-directory=/boot /dev/hda
12. Could Not Find Device For /boot/boot: Not Found Or Not a Block Device
Situation
When running grub-install during the GRUB installation, you receive the following error:
Code Listing 12.1: Grub Output
# grub-install –root-directory=/boot /dev/hda
Could not find device for /boot/boot: not found or not a block device
Solution
Check that you didn’t forget the following:
Code Listing 12.2: Updating the mtab file
# grep -v rootfs /proc/mounts > /etc/mtab
13. The System Reboots After Hitting Return At The Grub Menu
Situation
After hitting Return at the Grub menu during the system boot, the system reboots.
Solution
Try disabling framebuffer support in your kernel. If this does not help, disable APM and ACPI.
14. After Hitting Return At The Grub Menu, The Screen Blanks Out
Situation
After hitting Return at the Grub menu during system boot, the screen blanks out, but the system is responsive (for instance, your numlock led is switcheable).
Solution
Turn off framebuffer (typically remove vga=XYZ from your grub.conf) and check the processor architecture in your kernel config.
15. Missing Grub Image
Situation
When booting the system, you do not see that spify Gentoo splashscreen.
Solution
First of all check if the splashscreen file you are referring to in your grub.conf really exists. If that is the case, go and check the grub ebuild. Maybe the patch for the splash image is commented out in the version that you are using.
16. Failing To Boot Windows From a Second Harddrive
Situation
After selecting the Windows entry, the system refuses to boot without any clear reason as to why.
Solution
cyrillic informed us that you can “map” your disks in a different order by changing your grub.conf’s Windows entry like so:
Code Listing 16.1: Mapping disks
title Windows XP
map (hd0) (hd1)
map (hd1) (hd0)
chainloader (hd1,0)+1
17. Grub segfaults when trying to install
Situation
The situation described below is only relevant for grub-0.95.x at the moment of installing grub at the boot sector.
Code Listing 17.1: Installing Grub
grub> root (hd0,0)
grub> setup (hd0)
Segmentation fault
Solution
This is a known bug related to this problem and has been fixed in grub 0.96. It is also known that grub 0.94 r1 and grub 0.94 r2 should work correctly. If that fails too, you can try to emerge grub-static which is currently stable on amd64 and unstable on x86 (~x86). Check out bug #79378 for additional information.
Popularity: 17% [?]
Tags: grub