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/sysimage 引导中会提示 这个命令进入硬盘
首先修复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
本文转自岁月丶倾城博客51CTO博客,原文链接http://blog.51cto.com/alca0126/1341382如需转载请自行联系原作者
laihuadongcto