在VMware虚拟机上安装了centOS 7,安装完之后出现grub,并没有正常开机,这种情况我查了很多,需要手动配置。我查了几个,但是都有一些问题,所以博主整合了一下。
出现这个问题的原因是grub配置文件错误、损坏或丢失,需要执行以下步骤修复:
- 罗列所有的磁盘区块:
grub>ls
出现(hd0),(hd0,msdos1),(hd0,msdos2)
- 确定boot分区:
ls (hd0,X)/boot/grub
如果存在,则列出该文件夹里的所有文件,不存在则会报错。
若boot为独立分区则使用
ls(hd0,X)/grub2
- 将boot分区设置为临时root分区:
grub>set root=hd0,msdos1
hd0,msdos1为第二步中确定的boot分区
- 命令后面的路径可以用tab键补全,xxxx代表你的系统内核版本号。/dev/mapper/centos-root为根分区,如果分区格式不是lvm的,根据你的本机情况填写,如/dev/sda1
grub>linux16 /vmlinuz-xxxx.e17.x86_64 root=/dev/mapper/centos-root
- 命令后面的路径可以用tab键补全,xxxx代表你的系统内核版本号,博主也是这一步一直走不通,看了另一个论坛才解决
grub>initrd16 /initramfs-xxxx.e17.x86_64.img
- 启动
grub>boot
- 进入系统之后使用命令重新生成grub配置文件,这一步博主忘记弄了,不知道再次开机是否还要重新配置一遍。
grub2-mkconfig -o /boot/grub2/grub.cfg
参考的博客:
https://blog.51cto.com/kusorz/1954289
https://www.v2ex.com/t/219360