2011年1月9日星期日

修复GRUB

从第一次使用Linux(Red Hat 9.0)时候,就需要学会修复GRUB。因为安装Windows的时候,会把GRUB的引导信息覆盖掉。那时候是用Redhat 9.0的光盘启动,进入修复模式,光盘会找到已经安装的系统。chroot进去后,grub-install /dev/hda就可以了。

后来用了Debian,Linux用了udev,在/dev下的设备名是动态生成的,而不是像以前一样静态的,不管有几块硬盘,/dev/hda1、2什么的一堆都有。

这样子如果用Live CD启动,Live系统的/dev下面是没有硬盘设备名的。这里需要用mknod手动生成:
# mknod /dev/sda1 b 8 1
然后挂载要修复的系统再chroot进去:
# mount /dev/sda1 /mnt
# chroot /mnt
进去后还要再生成/dev/sda:
# mknod /dev/sda b 8 0
然后安装grub即可:
# grub-install /dev/sda
mknod要创建的设备名的大号和小号在/usr/src/linux/Documentation/devices.txt。

没有评论:

发表评论