I have a multiboot system with Windows XP and Ubuntu 13.04. I use Grub 2 to boot from the MBR to a chainloader in the Ubuntu partition, and the chainloader gives me the option of booting to XP or Ubuntu. I just got a new drive and cloned the entire original drive (A) to the new drive (B). Well, something happened and I don't have a backup that will help me.
The chainloader on drive A is corrupt, and drops me down to a Grub Rescue prompt. I thought maybe the drive designations were changed, so I was able to hack in to the menu and try and modify them, using fdisk to give me the drive designations, but that didn't work. I have since gone back to a generic MBR on drive A to be able to boot into XP.
On drive B, the chainloader is also corrupt, but doesn't seem to be as bad. It goes into the menu, and I can select my XP partition and it boots fine, but I'm not able to boot into Ubuntu.
Right now, I'm running off the Ubuntu 13.04 live DVD. I am unable to mount the Ubuntu partition for drive A. Perhaps I need to let that go. I can clone back to it later. I can mount the Ubuntu partition for drive B, and get in and modify files and do all kinds of stuff. I figure I just need to rebuild my chainloader grub.cfg file and everything will be OK, but when I run the command "sudo update-grub", I get the error message
failed to get canonical path of /cow. I did some poking around, and came across the suggestion to run the command
sudo chroot /mnt. I do that and get the error message
cannot find a device for / (is /dev mounted?). I try changing to the mount of my drive B (
/mnt/sdb5) and it says
No such file or directory.
I guess I have two questions:
- Am I thinking correctly that if I can run update-grub and rebuild my
grub.cfgfile on drive B, I will be able to boot into Ubuntu?
- If so, how can I rebuild it when I'm running off the live DVD?