118 救援模式.docx
- 文档编号:6256009
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:15
- 大小:395.90KB
118 救援模式.docx
《118 救援模式.docx》由会员分享,可在线阅读,更多相关《118 救援模式.docx(15页珍藏版)》请在冰豆网上搜索。
118救援模式
Linux系统的救援模式
救援模式最大的作用就是当系统的/boot分区被干掉了。
通过救援模式(类似于windowsPE)这样一套伪系统,将真系统中缺少的/boot数据修复过来
如果是整个boot分区被刚掉了
那么系统开机一定缺少boot文件夹中的内核文件、grub系统引导器文件、grub.conf引导器配置文件
那么我们解决的救援的思路也就是将真实系统缺少的东西进行修复安装
OK.现在我开始进行模拟/boot分区被摧毁的实验
第一步准备工作
克隆了一个系统以防止万一就不活了。
。
不浪费时间。
。
删掉克隆可以继续做
进正题,登陆系统在做救援之前需要查看几个东西然后记录下来
1.看挂载关系
查看”/”是与那个设备挂载的
再查看“/boot”是与那个设备挂载的
2.看系统版本和内核版本
系统版本
内核版本
3.备份grub.conf和fstab表
我为什么要做这个准备工作
解释下
这样做可以避免一会实验的时候。
不知道怎么写配置文件?
不知道装那套内核?
不知道/boot跟那个设备挂载等等的苦恼?
曾经吃过这种亏。
。
。
切记一定要做这些准备工作
第二步模拟摧毁我的/boot分区然后进入救援的伪系统
1.卸载boot然后格式化对应的挂载设备
由于准备工作中我已经记录了boot相关的设备所以直接操作
格式化掉这个设备(相当于清空了这个设备中原来的数据)
2.进入救援模式
进入的方法有很多,我着重介绍下网络引导进入和光盘引导进入救援
上课老杨讲的是借助他的254服务器做一个PXE的的引导向内核传递一个rescue救援参数然后进入到救援的伪系统
光盘引导的方法是通过服务器通过光驱引导进入系统同样的原理也是向内核传递一个rescue参数然后进入到救援的伪系统
1.虚拟机下模拟光驱插入光驱(选择镜像文件)
2.重启服务器从bios里选光盘启动。
不同的主板不同的选择的方式自己琢磨吧
EscF1F2F8-12回车delete无非这个几个键自己试试
设置光盘第一启动f10保存退出
这是使用光盘引导系统启动的主界面
我们选择linux的文本模式然后再后面追加一个rescue
这样做的目的是向内核传递一个我要以救援的模式进入系统
选择键盘语言之类的Englishus.......
不需要网络在这个系统上NO
这部最重要是扫描真实系统中有没有/存在如果有就把它挂到我的伪系统的/mnt/sysimage上去
参照下面我画的一个图
OK扫描到了我点击确定将我的真系统挂到伪系统的一目录上去
现在我们就是进入到伪系统了
那么我们应该怎么判断自己是在伪系统还是真系统
使用ls命令查看东西多的就是真系统东西少的就是伪系统
这样看/mnt/sysimage/etc/这个/etc里的东西明显多了很多就证明这个是真系统的etc
其绝对路径是/mnt/sysimage/etc/
Chroot/mnt/sysimage是改变根目录的起点位置参照下图
如果我是用了这个命令那么我的根开始的位置就是以/mnt/sysimage
我是用exit退出之后就回到了原来的伪系统的根位置
红色的根就是伪系统的根,蓝色的就是真系统的根刚才做的扫描的哪一步就是将这两个系统通过/mnt/sysimage挂载关联起来,默认情况下根的起始位置是红色的/位置。
可以使用chroot就将/的起始位置改到了蓝色的/。
使用exit可以退到伪根
第三步安装内核、grub、编写grub.conf文件
1.挂载光盘镜像到伪系统的一个路径然后将内核文件拷到真系统进行安装
将根路径切到/mnt/sysimage
将/boot与真实设备进行挂载
因为我的系统是由光盘引导启动的,所以我过滤看下系统中有没有挂载好的iso镜像
我找到了进到/mnt/source/Server中
在这个目录中找find-name“*kernel*.rpm”以这个开头、结尾的内核文件
红帽6系列的rpm是在Package文件中。
。
。
这个可以记下来
将内核文件拷到真系统的/tmp目录下不要在别的目录下
因为现在是用的伪系统,很多功能磁盘也没那么大尽量放到/tmp中操作
使用rpm-ivhker*.rpm--force安装
-i安装-v交互式-h#号进度条--froce强制重装
2.安装grub引导器
注意这里我们需要先退到伪系统
然后将真系统的grub文件拷到伪系统的/sbin下
其实这部我也不是很明白。
。
。
一直很苦恼
查看帮助
拷过来之后现在安装grub-install追加上帮助里的几个参数
这里我有个地方拼写错了/mnt/sysimage没有s
修改掉s后成功执行grub-install安装
2.编写grub.conf文件
再回到真系统很奇怪吧在伪系统里执行的grub-install然后再真系统里看到了安装后的
*1、*1_5、*2的文件
其实这里我也不是很清楚在伪系统里安装grub然后真系统里有了grub文件
我这里就偷了个懒
将之前备份的文件直接考到/boot/grub了
我是用wim打开下这个文件
这就是这个grub.conf文件的结构
Defalut是默认情况下选哪个title启动默认是0也就是第一个
Timeout在选择菜单哪里等待多久单位是秒
Title是标签名
root是指的引导文件在哪里第一个hd硬盘的第一个分区的里
细心的童鞋会发现这里怎么是hd硬盘之前挂载在的都是sd硬盘
这个我只能用我是以虚拟机做的这个实验真机是hd硬盘但是我在安装这个系统的时候我虚拟的是sisc硬盘,所以觉得应该是这个出的问题导致了这个标识的误差
Kernel内核的路径确实的是/boot/下面的内核
Ro只读参数
Root挂载的路径
Rhgb开机时候的大红背景可以去掉
Quiet静默模式写上之后开机就不会跳出那些硬件的debug消息
Noapic电源管理写上之后就可以屏蔽掉这个功能有的机子需要写这个开关
Initrd初始化内存磁盘的绝对路径
用于编写用户的开机自定义的一些服务启动之类的。
。
全部搞好了我们再查看下这个/etc/fstab表,确认无误然后执行重启命令
3.重启系统看能不能进入服务器
更改开机顺序,要么还是会以光盘启动因为我之前修改了开机顺序
注意这里我看到了红色的redhat就证明我之前的系统的引导内核部分全部搞定了
这个红色的字体是分水岭如果还没看到这个字符就
系统就开不开机了那么证明是系统内核部分的问题
那么现在卡到红色字体之后的部分了
这是个什么问题呢?
但是提示说要我们输入root用户的密码好吧我们给它
排查是因为fstab表引起的系统在引导结束之后找不到/、boot与那个设备挂载
所以我们现在去看看fstab表到底是怎么写的
原来如此我的/boot分区是跟一个标签为/boot的设备挂载的
因为我在这个实验之前我是将boot格式化了
系统每次格式化都会将设备的UUID重置、LABEL清空
那么我要修改/根与那个设备挂载发现是只读的无法进行修改
因为我的grub.conf文件是ro挂载根的还记得么?
之前的那个配置文件
两种解决方法
方法1重挂根
加上读写参数挂根
然后编写之前做准备工作时候记录的正确的设备与系统目录挂载的关系
方法2将设备赋予对应的标签名
对这个两个设备重新赋予标签名
也是要对应fstab表里写
然后重启系统
Ok救援成功再次进入到我们成功的系统里了
大家会说我之前让大家备份的/etc/fstab为什么没有派上太多的用场后面的实验也是直接查看系统当前有的fstab表
鉴于这个问题我想说如果我在这个实验之前我想说我不仅仅是毁掉了/boot分区的设备我把你的fstab也干掉了你怎么办?
你根本不清楚你的挂载关系。
。
你拿什么救援?
一个一个试?
所以说服务器必要的备份还是很有意义的尤其是这种灾难性的问题/boot分区都被别人干掉了。
难保你的fstab不会被别人干掉。
。
记得备份最好是将/etc整个目录打包备份到一个安全的服务器去。
。
。
。
救援模式的思路就是这些了光盘引导--挂boot--装内核--装grub--编写grub.conf--修改fstab--成功救援
熟悉系统的参数、加上好的备份可以加快救援的时间。
。
。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 118 救援模式 救援 模式