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: