Centos6 系统修复grub

2017-07-08  本文已影响0人  一言不合_c8a0

GRUB引导的stage1阶段损坏,系统启动会直接进入光盘引导界面,stage1.5阶段损坏,系统启动失败且不会自动进入光盘引导界面 grub-install修复grub后,则将grub相关的文件放置于grub目录下,若某文件丢失,则导致启动失败
一. 修改默认启动程序
/sbin/init进程被破坏,则系统启动时不能正常启动,则可将第一启动进程改为/bin/bash

进入当前界面,按a键 imageimage
在当前界面的 rhgb quiet 后面编辑init=/bin/bash (rhgb 启动过程图形界面显示 quiet 显示内核启动过程) imageimage imageimage
/bin/bash环境下,文件系统只读挂载,mount -o remount,rw / 读写挂载文件系统
ctrl+alt+del 退出系统

二、服务无法启动,导致开机失败(在单用户或/bin/bash环境下修改服务的开机启动项)
进入当前界面,按a键

imageimage 2 . 在当前界面的 rhgb quiet后键入 1进入单用户模式,或直接进入/bin/bash下 imageimage
执行命令

chkconfig --list 查看服务启动失败的进程是否在指定模式下开启 chkconfig sshd on 开始服务的进程,默认运行级别为2345,也可自定义运行级别,在此以sshd服务为例 chkconfig --level 2 sshd on 只启动sshd服务在运行级别2下启动 reboot 重启系统

三、修复grub目录和grub.conf文件
GRUB引导的stage1阶段损坏,系统启动会直接进入光盘引导界面,stage1.5阶段损坏,系统启动失败且不会自动进入光盘引导界面grub-install修复grub后,则将grub相关的文件放置于grub目录下,若某文件丢失,则导致启动失败grub-install --root=directory /dev/sda 安装grub文件,--root指定grub的跟目录,默认选择在/下的boot目录,/dev/sda指定安装的磁盘设备

进入光盘修复救援模式 imageimage
生成grub文件 imageimage
编辑/boot/grub/grub.conf文件 imageimage

chroot /mnt/sysimage 进入系统真实系统下 df -h 观察发现/挂载到/dev/sda2分区上 grub-install /dev/sda 在/挂载磁盘生成grub目录 vim /boot/grub/grub.conf default=0 \默认进入第一个引导系统 timeout=5 \ 5秒后自动进入启动界面 hiddenmenu \隐藏菜单 title danran \ 标签 root (hd0,0) boot目录在(hdo,0)分区上 kernel /vmlinuz-2.6.32-696.e16.x86_64 ro root=/dev/sda2 或 kernel /vmlinuz-2.6.32-696.e16.x86_64 ro root=UUID=XXXXX \指明内核文件,ro为只读挂载,root指定跟分区,rhgb为启动过程图形化显示的参数,quiet为显示内核启动过程的参数 initrd /initramfs-2.6.32-696.e16.x86_64.img 指明ramfs文件

四、当在grub.conf文件中,将kernel和initrd的顺序写反了,导致启动失败,从而临时在启动时调整/boot/grub/grub.conf文件中kernel和initrd的顺序
/boot/grub/grub.conf文件中的kernel和initrd的顺序是固定的kernel /vmlinuz-2.6.32-696.e16.x86_64 ro root=/dev/sda2initrd /initramfs-2.6.32-696.e16.x86_64.img 指明ramfs文件如下图所示

imageimage 在以下界面中将将光标放到最下一行,然后按o打开新的一行,然后在新加入的空行中编辑initrd /initramfs-2.6.32-696.e16.x86—64.img imageimage imageimage
将最上面错误的哪行initrd按‘d’键删除,然后按‘b’键启动 imageimage imageimage

五、在系统启动临时使用命令行编辑/boot/grub/grub.conf文件
在系统仅损坏/boot/grub/grub.conf文件时,系统在启动时会自动进入如下界面

imageimage 使用交互式命令临时编辑grub.conf文件,指明启动必要的文件路径即可,但仅临时启动,不改变/boot/grub/grub.conf文件 imageimage grub未损坏或者不完全损坏时,也可通过菜单进入grub命令编辑界面,如下界面按'e'键 imageimage 按“c”键进入grub交互命令窗口 imageimage 即如下界面,编辑内容同上 imageimage imageimage

六、在系统启动界面命令行修复grub目录
使用grub-install /dev/sda命令生成grub目录

mv /boot/grub /appgrub-install /dev/sda

imageimage

使用grub命令交互安装grub(修复stage1和stage1.5阶段)

grub交互命令依赖于/boot/grub/目录下的stage文件

dd if=/dev/zero of=/dev/sda bs=1 count=446 破坏引导记录grub的第一阶段stage修复操作: grub grub > root (hd0,0) 表示/boot分区的磁盘分区位置在第一块磁盘的第一块分区上 grub > setup (hd0) stage1分区不属于任何分区,故只需指明磁盘即可

imageimage

dd if=/dev/zero of=/dev/sda bs=1 count=4000 skip=512 seek=512 破坏引导记录grub的第1.5阶段stagemv /boot/grub/stage1_5 /appmv /boot/grub/stage2 /app 将grub目录下的stage1.5和stage2阶段的文件移除,然后执行修复操作 修复操作: grub grub > root (hd0,0) 表示/boot分区的磁盘分区位置在第一块磁盘的第一块分区上 grub > setup (hd0) stage1分区不属于任何分区,故只需指明磁盘即可

imageimage

故grub交互命令依赖于/boot/grub/目录下的stage文件

七、修改系统启动背景图片(图片格式只能为.xpm.gz格式)
将本地图片(640X480)上传到Linux系统的/boot/grub目录下
格式转换为*.xpm.gz格式转换需要使用convert工具

which convert 查看工具的路径 rpm -qf which convert 查看工具对用的安装包convert -resize 640X480 -colors 14 win.png win.xpm -resize指定图片的大小 -colors指定颜色为14位,win.png图片转换为win.xpm

imageimage

win.xpm图片文件进行压缩打包为win.xpm.gz
gzip win.xpm

编辑grub.conf文件,将win.xpm.gz图片文件路径写入

splashimage=(hd0,0)/grub/win.xpm.gz (hd0,0)表示boot的/

imageimage

启动界面如下

imageimage

八、在grub.conf文件中添加密码口令,从而达到进单用户或菜单启动 界面加密的目的
密码放在不同的位置,即产生不同的加密效果

在系统中执行命令 grub-md5-crypt 生成md5加密口令 grub-crypt 生成512加密口令

imageimage

在grub.cfg文件中编辑 password --[md5] 口令 增加加密口令或md5加密 password --encrypted 口令 添加512加密口令

imageimage

加入的两个密码都不影响电脑的正常启动,只是在编辑启动设置选项时起作用;第一个password --md5加密是在菜单选择时输入密码,第二个password --encrypted加密是在编辑系统启动设置时输入密码,如下所示

第一密码的输入,编辑此界面进入单用户或grub命令设置时输入md5加密口令,按‘p’键输入口令,然后进入正常的编辑界面 imageimage imageimage
进入系统时的界面的加密 imageimage
当如下界面按‘b’键启动时,将会进入第二次加密512口令加密界面 imageimage
密码输入正确,即可正常进入系统 imageimage

结论
在grub.conf文件上的不同的位置设置密码,发生的效果不同,故需准确明白需要在启动的哪个阶段加密从而才能在适当的位置添加密码,否则可能不产生理想的效果,在title之前添加密码即为启动菜单选择界面加密,在title之后为选择title之后的加密,在内核文件之后添加密码即为启动系统加密

上一篇下一篇

猜你喜欢

热点阅读