开始看《Linux Troubleshooting for System Administrators and Power Users》顺便记录一些我新学到的东西。
本书一开始就讲系统引导,启动和关机。这点其实也比较关键的,因为在实际的工作中也遇到过很多次,大部分情况下是GRUB(现在Lilo相对很少了)被完全破坏或者部分破坏。
遇到这种情况,我一般的作法,是采用系统安装光盘第一张,启动到救援模式,然后
#chroot /mnt/sysimages
#/sbin/grub-install /dev/sda
一般来说都能恢复。 但是对于只是部分损害,比如stage1还在MBR上,stage2引导不了。表现就是,机器开始后,屏幕上出现一个 grub> 虽然help以后,能看到很多命令,而且我也坚信这种情况下应高通过一定的命令,grub可以自动修复好,因为这是grub强大的地方,但是一直不得要领,直到后来,rachel告诉了我如何这点后,我才知道在这种情况下,如何修复grub,命令如下:
install (hd0,0)/boot/grub/stage1 (hd0) (hd0,0)/boot/grub/stage2 p
(hd0,0)/boot/grub/grub.conf
这里假设grub要安装的磁盘的第一块hd0,boot在hd0,0上。
看了这本书的引导器(bootloader)这节后,又新学到了一些东西,虽然觉得他的用处似乎没有上面那些技能更有用。 下的处理方式是在必须还能进入系统的情况下,或者是为了防范未来而采取的措施。
在stage1还在MBR的情况下可以采用下面的命令修复GRUB
grub>root(hd0,0) grub>setup(hd0)你可以创建启动软盘来修复GRUB,以红旗Linux DC5为例子。
#cd /usr/share/grub/i386-asianux/ #dd if=stage1 of=/dev/fd0 bs=512 count=1 #dd if=stage2 of=/dev/fd0 bs=512 seek=1
ok,这张软盘可以引导系统了,剩下要做的事情可以参考上面的内容了。
创建一张可启动CD(大小460k左右)
#cd /tmp #mkdir -p iso/boot/grub #cp /usr/share/grub/i386-asianux/stage2_eltorito iso/boot/grub #mkisofs -R -b boot/grub/stage2_eltorito -no-emul-boot -boot-load-size 4 -boot-info-table -o grub.iso iso
创建好的grub.iso烧录到CD上就可以引导了,但是他仅仅能引导stage1,也就是grub的第一阶段,然后出现一个grub>就完成了,就像下面的这张图片一样: ![image]/uploads/1168875621_0.png)
不过到了这里,剩下的事情也比较好办了,参考上面的如何安装的说明。