介绍
本篇指南会告诉你如果不知什么缘故丢失了GRUB后如何用一张Arch安装光盘重装GRUB。
注意
- 在这篇指南,我将使用sda1作为我的根udev类型references。如果你使用0.7.1以前的安装光盘,你应该将udev references换成devfs references。如果不明白请参见Technical_Terms#Hard_Drives。
- 同时,请注意本指南面对的是使用IDE驱动器而不是SCSI或者SATA驱动器的用户,所以如果你要在非IDE硬件上尝试,请将适当的地方替换为SCSI和SATA的名称。
启动安装光盘
首先你需要一张安装光盘。任何一种安装光盘都可以,当然,使用最新的光盘会比旧的要容易。
象平常安装一样启动光盘((不要使用root= option)然后进入下个步骤。
挂载你当前的安装
现在,你需要挂载你当前的已安装系统。一般操作过程如下:
- 注意: 你必须清楚哪个是恰当的分区和文件系统。这个例子理我将使用sda1作为根分区,ext3作为文件系统;你可以根据你的个人设置进行改变。
cd /
mount -t ext3 /dev/sda1 /mnt #如果你使用pre-0.7.1 CD,sda1就是/dev/discs/disc0/part1
mount -t proc proc /mnt/proc
mount -t sysfs sys /mnt/sys
mount -o bind /dev /mnt/dev
chroot /mnt /bin/bash
现在你已经以root身份登录入你当前的已安装系统,就象你刚启动登录一样。继续下个步骤!
重装GRUB
编辑/boot/grub/menu.lst确定一切都正常。一旦你完全确定menu.lst
grub-install /dev/sda
如果你做足之前的步骤,这条命令应该可以成功执行。(如果不行,留言之前的注意事项)就这样了,搞定!退出chroot然后重启:
cd /
umount -a
exit
cd /
umount -a
reboot
错误
如果你遇到一个错误说The file /boot/grub/stage1 not read correctly,有可能表示你的fstab/mtab由于某些原因不正确,需要修正。这两个文件分别是/etc/mtab和/etc/fstab。编辑他们,确认它们指向正确的分区,然后重新运行grub-install。
如果你遇到一个错误说sed: can't read /boot/grub/device.map: No such file or directory,这表示你需要使用带--recheck参数的grub-install。
grub-install --recheck /dev/sda
希望这能涵盖所有你可能碰到的情况。如果你遇到其它错误,重启动然后重新一步步再执行上面的步骤。
希望这篇指南对你有所帮助! — Shadowhand