FC10 does not boot when HDD moved to another machine
Frank Millman
frank at chagford.com
Tue Dec 23 09:11:40 UTC 2008
Mikkel L. Ellertson wrote:
> Frank Millman wrote:
> >
> > I did a search for '*grub*' on my system. It found a few files. The
> > following could be relevant -
> >
> > 1. /etc/sysconfig/grub
> > boot=/dev/sda
> > forcelba=0
> >
> > 2. /sbin/grub-install
> > I ran it, but it asked for an install_device. I prefer not to
> > guess, so I did not try any further.
> >
> >
> > For the record, 'ls /boot' looks like this -
> >
> > config-2.6.27.7-134.fc10.i686
> > initrd-2.6.27.7-134.fc10.i686.img
> > System.map-2.6.27.7-134.fc10.i686
> > vmlinuz-2.6.27.7-134.fc10.i686
> >
> > If I type 'umount /boot', it says '/boot: not mounted'. Is that
> > expected? As mentioned in my reply to Paulo, /etc/fstab has
> changed.
> > It used to contain an entry for /boot, but now it does not.
> I am not
> > sure when it changed, but I think it was when I selected
> > Install/Upgrade on the second machine. I got a warning
> message and did
> > not proceed, but a couple of things seem to have changed after that.
> >
> OK - this makes things interesting. Grub know where to find
> the /boot partition, but booting in the rescue mode does not find it.
> (It uses /etc/fstab to mount your other partitions.) The
> reason you have files in /boot is because they were written
> there when it was not being used as a mount point. If you get
> the /boot partition mounted on /boot, you will no longer see them.
>
> I suspect that what you need to do is add the
>
> UUID=b6c62c5a-0afb-4258-a726-6a377a6f3b9e /boot ext3 defaults 1 2
>
> line back into /etc/fstab, and then "mount /boot".
>
> If that works, then you will want to unmount it again, and
> copy the file that will be there to a temporary location,
> remount /boot, and copy them back. After that, you should be
> able to move the drive to the second machine, boot from the
> rescue disk, and have the full /boot tree. You can then build
> the initrd and make the changes in the Grub menu we talked about.
>
BRILLIANT!
Thank you, Mikkel. I followed your instructions, and it worked exactly as
you predicted.
There were a couple of minor hurdles to overcome. I will document them here
in case anyone else tries the same thing.
I had to make the following changes to /etc/grub.conf -
Before -
timeout=0
hiddenmenu
After -
timeout=10
#hiddenmenu
Then I could see the menu and select the alternative boot image.
After moving the hard drive to the second machine and booting in rescue
mode, /boot is *not* mounted. You have to type 'mount /boot' first.
Otherwise mkinitrd writes the new image to the unmounted /boot point, and it
will not be detected on a reboot.
Rebooting on the new machine appeared to hang, but then I realised it was
because the onboard graphics card is different. Luckily I could type Alt+F2
and get a text login screen, change /etc/inittab default from 5 to 3, and
reboot in text mode. Then I could configure X.
When booting the new machine, 'Starting udev' takes about 40 seconds. On the
original machine it takes 5 seconds. I don't know if there is anything one
can do about that.
I have now moved the drive back to the original machine, so I did not test
it thoroughly in the second machine, but as far as I could tell everything
was working fine.
Thank you very much indeed for all the assistance.
Regards
Frank
More information about the fedora-list
mailing list