标签:恢复、/boot、grub.cfg、centos 6、centos 7
前言
/boot目录是一个系统启动最重要的目录,系统在上电自检MBR引导之后,系统就要读取/boot目
录下的文件。详细的内容见:http://vinsent.blog.51cto.com/13116656/1963546。总之/boot被破坏
了是很大的问题,今天就带大家一步步恢复/boot目录中的各文件,欢迎您的阅读!!
一、破坏现象
我们都知道/boot/目录是一个用于引导系统开机启动的目录,如果你不小心破坏了该目录。你将的系统将不能启动。CentOS 6会进入都如下界面:
CentOS 7 会进入到如下界面:
说明:上述条件不是可逆的;也就是说,破坏/boot/能出现上述错误提示界面,但出现上述界面不一定是/boot目录损坏,所以要辩证的思维来看待。
二、修复思路
出现了错误,不要害怕,用科学的思维来思考。既然删除了boot,那么我们就来看看/boot/目录下
有什么文件,我们只需要将所有文件还原即可。首先来看看/boot目录中都有那些文件。
[ root@vinsent ~ ]#ls /boot # 这是centos 7 的boot文件内的内容 config-3.10.0-514.el7.x86_64 efi grub grub2 # grub文件 initramfs-0-rescue-6f5368a682ab472398a493f780821598.img initramfs-3.10.0-514.el7.x86_64.img # 虚拟根文件 initramfs-3.10.0-514.el7.x86_64kdump.img # 故障发布文件 initrd-plymouth.img symvers-3.10.0-514.el7.x86_64.gz System.map-3.10.0-514.el7.x86_64 vmlinuz-0-rescue-6f5368a682ab472398a493f780821598 # 救援模式内核文件 vmlinuz-3.10.0-514.el7.x86_64 # 系统启动内核 [ root@vinsent ~ ]#
CentOS 6系统中/boot目录内的文件大体与CentOS 7相同,都是有内核文件,虚拟根文件系统,
以及grub文件。如下图:
我们清楚了/boot目录下的文件之后,只需要一一将这些文件恢复即可。
1、CentOS 6 恢复
由于破坏了/boot我们不能进入系统,只能利用光盘模式进入到救援模式。
选择光盘启动:启动读条时,将鼠标点进系统,并按下ESC键;切记只能按一下,否者不会出现以下界面。然后按↑↓方向键进入CD-ROM Drive 光盘启动模式。
选着进入救援模式
之后会让你选着语言以及键盘,这里就不上图;保持默认即可(英语、美式键盘)。
接下来进入选着网络,这里需要注意;一般我们选择不安装网络,如果你要执行远程复制文件等操
作,可配置网络;
默认接下的选项,当进入稀土界面我们选择continue即可
然后进入到shell选择界面。我们选择开启一个shell,以供我们使用,完成系统修复。
进入shell之后,我们就有得到了一个修复我们系统的平台,正式开始修复工作。下面我已命令行模
式的形式为大家展示,由于需要编辑文件,截图不太好说明。见谅!
bash-4.1# bash-4.1# chroot /mnt/sysimage sh-4.1# mount /dev/sr0 /mnt sh-4.1# cd /mnt/isolinux sh-4.1# cp vmlinuz /boot/ # 复制光盘上的内核文件到/boot/目录下 sh-4.1# mkinitrd initramfs-`uname -r`.img `uname -r` # 创建虚拟根文件:initramfs-`uname -r`.img sh-4.1# grub-install /dev/sda # 恢复grub1、1.5阶段的文件 sh-4.1# vi /boot/grub.conf # 恢复grub.cfg文件 default=0 timeout=5 hiddenmenu title Linux kernel /vmlinuz root=/dev/sda2 # 内核文件位置 其中root=/dev/sda2 必须指定 initrd /initramfs-`uname -r`.img `uname -r` # 写虚拟根文件系统路径 bash-4.1# sync # 同步数据至磁盘 bash-4.1# exit bash-4.1# exit reboot # 此处的reboot,即上图中的reboot;比建议手动输入reboot重启。
注意:
上述我们恢复内核文件的方法是重光盘中拷贝过来的;我们也可以使用rpm安装的方式来安装内核文件(rpm -ivh /mnt/Packages/kernel-xxxx --force)。
在恢复grub.conf文件时,kernel行中的root=/deb/sda2必须写,你如果不写root所在的分区,系统将找不到根,也就意味着系统仍然不可用。
2、CentOS 7 恢复
有了CentOS 6 恢复的经验,那么对于CentOS 7的恢复就显得很容易了。步骤和思路都是一样的,
只是在CentOS 7 中发生了一些变化(比如,在CentOS 7中使用grub2,而不在是grub了),有一些细
节需要大家注意。
启动时进入到排错模式:
进入救援模式
选择默认启动
系统为我们提供了一个小的临时的系统,我们使用该系统恢复/boot下相应的文件
首先恢复内核文件,我们这次采用rpm安装的方式实现:
恢复grub2目录内的文件
到此CentOS 7就破坏的/boot目录就得到了恢复。
三、本篇小结
本篇文章通过模拟/boot目录被破坏了的情况,手把手教大家如何一步一步的修复/boot目录,希望
对大家有所帮助。最近时间的确匆忙,可能有些许地方描述的不够清楚,还望见谅。
本文出自 “vinsent” 博客,转载请与作者联系!
标签:恢复、/boot、grub.cfg、centos 6、centos 7
原文地址:http://vinsent.blog.51cto.com/13116656/1963823