码迷,mamicode.com
首页 > 其他好文 > 详细

手把手教你如何恢复 /boot 目录

时间:2017-09-08 22:55:29      阅读:2649      评论:0      收藏:0      [点我收藏+]

标签:恢复、/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 目录

标签:恢复、/boot、grub.cfg、centos 6、centos 7

原文地址:http://vinsent.blog.51cto.com/13116656/1963823

(0)
(1)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!