Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

I'm running Ubuntu 10.04, and planning to upgrade. Before I do, though, I want to make sure my backup/restore processes work. My backups, of course, have been running since I first installed 10.04, but it's only a restore that can demonstrate that they have been running successfully.

And I've found a problem. I don't know how to get grub2 configured correctly, on the restored disk.

Currently, my running system is on /dev/sda, with /boot on /dev/sda1 and / on /dev/mapper/desktop-root. (I'm using logical volumes.) This configuration has been running successfully for several years.

My restore is on /dev/sdb, with /boot on /dev/sdb1 and / on /dev/mapper/desktop2-root.

All of the files have been restored, and /etc/fstab has been edited, on the restored drive, to reflect the changed logical volume name and the new UUID for /boot.

But I only have grub installed on /dev/sda, so /dev/sdb is not bootable.

I'm not looking to do anything fancy. I'm not trying to dual boot, I just want to be able to boot from /dev/sdb, using /dev/sdb1 as /boot, and /dev/mapper/desktop2-root as /. In other words, I want to do to /dev/sdb exactly what running update-grub would do to /dev/sda, when I was booted off of /dev/sda.

Any ideas?

share|improve this question

2 Answers 2

up vote 1 down vote accepted
  1. Edit your /etc/grub.conf (or /boot/grub/menu.lst) on the /dev/sdb partition to reflect the necessary changes (sda replaced with sdb)
  2. Run chroot MOUNT_POINT_OF_/DEV/SDB
  3. Run grub-install /dev/sdb
  4. Test if you can that the setup is working as expected

If you have issues with the boot, you can boot the system manually by using the grub shell at boot.

EDIT: I assume that the disks are not part of a RAID array

share|improve this answer
    
This sounded promising, but grub-install errors out: "/usr/sbin/grub-probe: error: cannot find a device for /boot/grub (is /dev mounted?)." Running "grub-probe /dev/sdb" errors out as well: "grub-probe: error: cannot stat `/dev/sdb'." The problem seems to be that the devices in /dev, in the chroot'ed environment, aren't really connected to anything. –  jdege Oct 18 '11 at 1:38
    
I discovered that there are instructions on the Ubuntu forums that show what you need to do to do a chroot fix: basically, you need to do a "ount -b" on /dev, /dev/pts, /proc, and /sys, before you do the chroot. I haven't tried it yet... ubuntuforums.org/showthread.php?t=1581099 –  jdege Oct 18 '11 at 13:10
    
Before the chroot run mount -t proc none MOUNT_POINT_OF_SDB/proc and mount --bind /dev MOUNT_POINT_OF_SDB/dev –  ciupinet Oct 22 '11 at 17:09

You want to reconfigure the grub-pc package:

dpkg-reconfigure grub-pc

One of the questions it will prompt you for is which disks you want to have grub installed on.

share|improve this answer
    
If I run that, while booted off of /dev/sda, will it not create a configuration that points to /dev/sda? –  jdege Oct 17 '11 at 2:19

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.