[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Fixing a Grub Foul-up



Martin McCormick wrote: 
> 	I have a usb device that lets one mount IDE and SATA
> drives that are outside the system so I pulled the sata drive
> which is the boot drive for the now dead system and plugged it in
> to the usb converter.
> 
> 	the drive breezes through fsck and looks perfectly
> normal.
> 
> 	I looked at /boot/grub/grub.cfg which one is not supposed
> to edit as grub builds it based on /etc/default/grub which one
> does edit.
> 
> 	If I was to mount that partition on a working system, it,
> of course, will have a different device number such as /dev/sde1
> instead of /dev/sda1 which it should have when booting up the
> system it normally runs in.
> 
> 	Is there a safe way to mount this drive, possibly using
> chroot, re-run grub-config and get the drive bootable again?

Here's what you can do:

On a good system, mount your drive. Let's pretend that it's
recognized as /dev/sdg, and you have a /boot on /dev/sdg1 and
a root partition on /dev/sdg2.

ls -al /dev/disk/by-partuuid/| grep sdg

will get you the partition UUIDs for that disk. One of them will
be for /dev/sdg1 and another for /dev/sdg2.

The kernel really likes these as root filesystems identifiers.
The kernel parameter that you put in /etc/default/grub is

ROOT=PARTUUID=dddf0dd6-dd6b-d542-9eac-015a765cd6f6

although you will want to substitute in the appropriate
part-uuid for /dev/sdg2.

Finally, you can run 

grub-install /dev/sdg

to get a new copy of grub into the master boot sector of the
disk.

Hope that helps,

-dsr-


Reply to: