mbr损坏以及grub.conf的配置文件丢失或出错的方法

在使用linux过程中我们可能因失误造成mbr的损坏,在我初学的时候,遇到这种问题只有重装系统,现在想想真够笨的。。下面具体演示mbr损坏和grub.conf配置文件损坏或丢失的具体做法。


系统RHEL6.6


模拟一:mbr损坏。

使用dd if=/dev/zero of=/dev/sda count=1 bs=400破坏mbr。

wKiom1UCuFSBhsnqAACul9jO7zg084.jpg


mbr损坏以后重启系统以后不能进入,默认从光盘启动了。wKiom1UCul6jEAw8AAK_rHHHPqo307.jpg


进入救援模式,并chroot到根分区,具体进入不再演示。

# chroot /mnt/sysimage

安装grub-install命令安装grub,--root-directory指定根,/dev/sda指定磁盘。

# grub-install --root-directory=/ /dev/sda 

重启以后系统正常启动。

wKioL1UCvc2zaDE5AAGstovwrxE584.jpg


模拟2:grub配置文件丢失

wKiom1UCvlyhl1SaAAFEprAA21Y801.jpg

开机后直接进入grub shell。使用find(hd0,0)/ 然后敲tab键可查看所指磁盘分区的文件,(hd0,0)是第一块硬盘的第一个分区,在下图中可看到,kernel文件在此分区。

find (hd0,0)/        敲tab查看此分区文件,第一个磁盘的第一个分区,我的是boot分区。

root (hd0,0)       指定root, root是指定启动时的位置,不是根分区。

kernel /vm-----   指定kernel文件,敲tab键可补全

initrd /init------    指定initrd文件,敲tab键可补全

boot                   启动

wKioL1UCxc6hrm9mAAKHnDsHp18614.jpg



启动过程中出现错误,出现内核恐慌,仔细查看,No or empty root= argument 没有指定根所在磁盘分区,关机进入grub重新指定就OK了。具体过程在下。

wKiom1UCxKyCiKxPAAHEjhLrnCE088.jpg



在kernel /vmlinux------后加上ro(read-only,只读)以及root=/dev/sda2指定根目录所在磁盘分区,使用RHEL5的时候不用指定,这里使用的是RHEL6。

wKioL1UCxc6w3nPXAAKz8IUPcis304.jpg


boot回车后可以重新进入系统。

进入系统后,还没完,需要重建grub.conf配置文件,不然下次重启依然进入 grub shell。这里就不再演示。

你可能感兴趣的:(丢失,grub,MBR损坏)