[首页]
[文章]
[教程]
首页
Web开发
Windows开发
编程语言
数据库技术
移动平台
系统服务
微信
设计
布布扣
其他
数据分析
首页
>
其他
> 详细
grub2故障举例及修复
时间:
2018-07-07 12:27:45
阅读:
215
评论:
0
收藏:
0
[点我收藏+]
一、CentOS7/RHEL7启动先从加点自检开始,然后会将控制权交给BIOS,BIOS工作完成后会将控制权交给GRUB。GRUB在整个启动流程中起到很大的作用,而GRUB中最重要的就是/boot/grub2/grub.cfg配置文件。启动过程中通过临时修改GRUB可以做很多事,包括修改root密码这种危险操作,所以需要对grub.cfg做一些必要操作。
1、设置grub密码
通过grub2-mkpassword-pbkdf2生成加密密码,并编辑配置文件00_header(注意在RHEL6时我们可以直接修改/boot/grub/grub.conf,如今在RHEL7官方建议修改grub的模板文件,然后将模板文件编译进入grub.cfg)
通过模板文件编辑配置
查看/boot/grub2/grub.cfg,可以看到已经自动将我们对00_header做的配置编译到该文件
重启后,在开机时想要编辑grub需要输入用户和密码
2、通过grub修改终端界面的窗体大小。开机后编辑grub配置,在下图位置添加vga=ask,然后按ctrl+x启动
800X600这个大小看着比较舒服,输入对应十六进制,回车即可
如果想要永久生效,编辑/etc/default/grub文件即可。注意,如果直接指定大小,需要明确表明340是十六进制,写法是0x340
通过通过grub2-mkconfig使配置编译到grub.cfg
3、应急模式。在下图位置,填写s。
注意:应急模式需要root密码。通过netstat查看当前开放的端口、服务,可以看到为空。
4、修该root密码。如图,输入
重新挂载文件系统,改为读写模式,就可以修改了。修改完毕后,需要touch /.autorelabel,否则selinux会影响我们进行的操作。
5、grub程序故障。
模拟故障
解决办法:进入救援模式,重新安装grub程序。
首先,进入救援模式
注意:输入df查看当前的文件系统挂载信息。可以看出,我们的boot分区位于/dev/sda1上;通过fdisk -l /dev/sda也可以看到操作系统就安装在该文件系统。所以,我们需要将grub程序安装在/dev/sda1上,完成修复。
进入急救模式,安装grub程序前,需要先切换根环境到/mnt/sysimage。否则是无法安装的,如下。
6、模拟grub配置文件丢失;内核文件和虚拟文件系统文件丢失。
重启后,系统直接提示进入救援模式。
修改BIOS让光盘引导操作系统
同样进入到/mnt/sysimage根环境中进行操作。挂载系统盘,安装kernel,然后安装grub程序,最后生成grub.cfg配置文件。(三者缺一不可,原因参照其引导过程)
解决后,我们修改BIOS,将引导顺序改回到磁盘优先。(工作中,为防止有人理由修改BIOS的手段***操作系统,需要设置BIOS密码)
7、MBR扇区故障。
MBR扇区故障,如果没有备份将会是一件很麻烦的事。工作中也应当将MBR扇区进行备份。
备份MBR扇区(备份MBR需要将备份到没有安装操作系统的硬盘上)
模拟故障
同样进入救援模式,创建一个目录,将存有MBR备份的分区挂载到该目录,然后即可还原
grub2故障举例及修复
原文:http://blog.51cto.com/13434336/2137497
踩
(
0
)
赞
(
0
)
举报
评论
一句话评论(
0
)
登录后才能评论!
分享档案
更多>
2021年09月23日 (328)
2021年09月24日 (313)
2021年09月17日 (191)
2021年09月15日 (369)
2021年09月16日 (411)
2021年09月13日 (439)
2021年09月11日 (398)
2021年09月12日 (393)
2021年09月10日 (160)
2021年09月08日 (222)
最新文章
更多>
2021/09/28 scripts
2022-05-27
vue自定义全局指令v-emoji限制input输入表情和特殊字符
2022-05-27
9.26学习总结
2022-05-27
vim操作
2022-05-27
深入理解计算机基础 第三章
2022-05-27
C++ string 作为形参与引用传递(转)
2022-05-27
python 加解密
2022-05-27
JavaScript-对象数组里根据id获取name,对象可能有children属性
2022-05-27
SQL语句——保持现有内容在后面增加内容
2022-05-27
virsh命令文档
2022-05-27
教程昨日排行
更多>
1.
list.reverse()
2.
Django Admin 管理工具
3.
AppML 案例模型
4.
HTML 标签列表(功能排序)
5.
HTML 颜色名
6.
HTML 语言代码
7.
jQuery 事件
8.
jEasyUI 创建分割按钮
9.
jEasyUI 创建复杂布局
10.
jEasyUI 创建简单窗口
友情链接
汇智网
PHP教程
插件网
关于我们
-
联系我们
-
留言反馈
- 联系我们:wmxa8@hotmail.com
© 2014
bubuko.com
版权所有
打开技术之扣,分享程序人生!