GRUB error 17 after kernel update

From DellLinuxWiki

Revision as of 04:04, 2 June 2007 by Michael e brown (Talk | contribs)
Jump to: navigation, search

Systems Affected: Inspiron E1505n. At this time our information indicates that this has only been seen on Inspiron systems. Dimension E520n, XPS 410n are not affected.

Description: When booting a system up after a kernel upgrade, the following error message maybe displayed on your screen:

 "GRUB error #17 cannot mount selected partition"

Impact: Unable to boot system after kernel upgrade

Boot-Time Workaround:

  1. Reboot the system.
  2. At the 3 second countdown before the Ubuntu splash screen press ESC. The grub menu will come up.
  3. The first entry will be highlighted. Press e to edit the entry.
  4. The root (hd0,0) line will be highlighted. Press e to edit that line.
  5. The grub edit> prompt will come up, with root (hd0,0) already entered. Change it to read root (hd0,2) and press Enter. This will take you back to the previous screen.
  6. Press b. The system will boot normally.

Fix: Edit /boot/grub/menu.lst once you are booted and change all instances (even the ones that are commented out) of (hd0,0) to (hd0,2). The following commands will automate this process for you. Open a Terminal (Applications->Accessories->Terminal) and cut and paste in the following code:

 sudo bash
 perl -p -i -e "s|^(root\s+\(hd0,)\d+|\${1}2|g;" /boot/grub/menu.lst
 perl -p -i -e "s|(groot=\(hd0,)\d+|\${1}2|g;" /boot/grub/menu.lst

Note: This issue will reoccur if you restore the system to factory default settings.

To check to see if you will be affected by this defect: According to our current information, only Inspiron 1505 laptops that have the Dell factory installation will see this issue. To check to see if your laptop is affected, check your /boot/grub/menu.lst file for the line:

 # groot=(hd0,0)

If you have this exact line in your config file, you will be affected by this when you upgrade your kernel on a Dell factory-installed system. This issue will not affect customers who hand-install their own OS. To check for this line, you can run the following commands:

 Open a Terminal (Applications->Accessories->Terminal)
 In the terminal, enter the command: 
 grep groot=\(hd0,0\) /boot/grub/menu.lst

If you see the "# groot=(hd0,0)" in the output, your system will be affected and you may need to run the fix mentioned above.

Personal tools