linux系统mbr的备份,gurb文件丢失,kernel的排错

备份mbr:dd </dev/sda> /tmp/mbr bs=512 count=1

还原mbr: dd if=/tmp/mbr of=/dev/sda


首先,我们应该知道mbr是由446字节的引导区+64字节的分区表和2字节的结束符构成。

在排错前,我们首先破坏mbr的引导区 然后删除掉boot里边的所有文件包括内核。

dd if=/dev/zero of=/dev/sda bs=446 count=1  破坏系统引导区

vim /etc/fstab  修改根的路径 让系统引导找不到根分区


在重新启动系统的时候,选择光盘启动进入linux的修复模式,在boot界面输入:linux rescue

sh-3.2# 此时我们就在光盘的修复模式中了,想要修复系统首先我们要进入系统的硬盘中。

chroot /mnt/sysp_w_picpath  引导中会提示 这个命令进入硬盘


首先修复mbr的引导区,挂载光盘 mount /dev/hdc /mnt

/sbin/grub-install /dev/sda

这样我们的mbr就已经修复完成


查找根

进入硬盘后,我们使用fdisk -l 可以看到我们的硬盘信息但哪一个是根呢?

e2label /dev/sda1  查看根分区

当找到我们的根后,我们先随便将根分区挂载到一个文件夹下

mkdir /tmp/aa

mount /dev/sda  /tmp/aa 将根挂载

进入根后,修复我们的fstab文件


修复内核

首先我们要先安装内核,进入硬盘,挂载光盘

找到内核的rpm包,安装过程中会告诉你内核已经安装,可强制安装参数

rpm -ivh kernel-2.618-164.e15.i686.rpm --force

内核安装完成后,基本上就可以手动引导系统启动了

root (hd0,0)

kernel /vmlinuz-2.6.18-164.e15 ro root=LABEL=/  只读形式

initrd /initrd-2.6.18-164.e15.img


手动引导成功后,修复grub.conf文件。

vim /boot/grub/grub.conf

default=0

timeout=5

title welcome to alca-linux

root (hd0,0)

kernel /vmlinuz-2.6.18-164.e15 ro root=LABEL=/  只读形式

initrd /initrd-2.6.18-164.e15.img


reboot

OK!!!!!


ps:mount 命令如果挂掉 可以在网络引导光盘 装下until-linux 修复mount