avatar

目录
CentOS7之GRUB相关操作

CentOS7之GRUB相关操作

操作环境为WMware15,CentOS7。

参考文章

https://blog.csdn.net/qq_41671415/article/details/101783414

http://www.mamicode.com/info-detail-1754660.html

https://blog.51cto.com/14473285/2432770

一、设置GRUB密码

  1. ROOT权限,设置GRUB密码。

    Code
    $sudo grub2-setpasswo

    avatar

  2. 设置完成后,会生成 /boot/grub2/user.cfg 文件。

    avatar

  3. 重启

    Code
    $sudo reboot
  4. 在等待界面,按 e 进入GRUB。

    avatar

    要求输入密码,账户名为root,密码是刚才设置的。

    avatar

    输入正确后进入,GRUB界面。

    avatar

二、进入单用户模式

  1. 在GRUB编辑界面中,修改以下地方:

    • ro 可读改成 rw 可读写
    • 删除 rhgb quiet
    • 添加 init=/bin/sh

    avatar

  2. 按Ctrl+X,启动系统

    avatar

  3. 然后可以进行相关操作,这里举一个修改用户密码的例子

    avatar

三、忘记GRUB密码

如果设置 了GRUB密码,但是忘记了,那么我们可以利用光盘来恢复清除GRUB密码。

  1. 载入光驱

    avatar

  2. 启动虚拟机,在初始界面按F2进入BOOT设置

    avatar

    设置光盘为第一启动项

    avatar

    avatar

    avatar

  3. 重新进入系统,选择急救模式

    avatar

    进入命令模式

    avatar

    接着进入bash模式,删除刚才创建的密码文件

    avatar

  4. 重启虚拟机

    avatar

    这里可能会直接再次进入刚才那个急救模式的界面,可以在电源处关闭再重启

    avatar

  5. 恢复第一启动项(不然每次都以光盘启动),F10保存,重启

    avatar

  6. 再等待界面,直接按 e 进入,发现不用密码,就能直接进入。

    avatar

    avatar

四、GRUB损坏修复

有时候GRUB文件损坏会导致无法进入系统。这时候我们还是利用上面的光盘驱动来进行恢复。

  1. 模拟GRUB损坏

    执行命令

    Code
    $sudo dd if=/dev/zero of=/dev/sda bs=446 count=1
    $reboot # 重启

    从空设备文件zero中读取446字节的数据,将其覆盖到第一块硬盘(sda),从而破坏MBR扇区中的数据“模拟GRUB(stage1)的坏损的情况.

avatar

  1. 重启后,发现系统进不去了,因为文件损坏了

    avatar

  2. 按照之前的做法,进入急救模式=>命令模式=>挂载系统镜像,进入bash模式(忘记的可以翻到上面看)

  3. 查看原磁盘设备名

    我们先找到原来系统的磁盘(这里由于我看不到上面的信息加了 | more)

    Code
    #fdisk -l

    avatar

    avatar

  4. 重构

    Code
    #grub2-install /dev/sda
    #grub2-mkconfig -o /boot/grub2/grub.cfg
    #exit
    #reboot

    avatar

  5. 重启虚拟机(恢复正常,可以进入系统)

    avatar

文章作者: IT小王
文章链接: https://wangbowen.cn/2020/04/16/CentOS7%E4%B9%8BGRUB%E7%9B%B8%E5%85%B3%E6%93%8D%E4%BD%9C/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 IT小王

评论