Linux调整分区后grub修复
我使用的debian,由于前期根目录/所在分区分得小,没多久,根目录就满了,无奈使用gparted进行磁盘调整,对/所在分区扩容,扩容后重启,出现以下字样。说明磁盘的引导文件grub已损坏。
error : unknow filesystem
grub rescue>
这时就在grub rescue模式下操作即可。修复过程比较简单。
1. 查看磁盘的主要分区,输入ls
即可,显示磁盘主要分区。
`(hd0) (hd0,msdos9) (hd0,msdos8) (hd0,msdos7) (hd0,msdos6) (hd0,msdos5) (hd0,msdos2) (hd0,msdos1)`
2. 查找文件系统分区
我的linux根目录/在msdos5上,可以直接设置。不知道文件系统在哪个分区的,可以使用ls (hd0,msdos1)/
查看,若出现unknown filesystem
字样,则尝试下一个
……
若出现的是你的主文件夹下的文件夹和文件的名字,那就是的要找的分区了。
3.修改启动分区
(假如你找到的启动分区是hd0,msdos8)
grub rescue>root=(hd0,msdos8)
grub rescue>prefix=/boot/grub //grub路径设置
grub rescue>set root=(hd0,msdos8)
grub rescue>set prefix=(hd0,msdos8)/boot/grub
grub rescue>insmod normal //启动normal启动
grub rescue>normal
之后你就会看到熟悉的启动菜单栏了
4、进入命令行启动debian
进入系统启动选项界面后,只是这次有效,重启后还是会卡在grub丢失问题上。 因为你还没有真正的修改grub,这个要到debian终端里修改。
进入系统启动项界面后,按C进入命令行模式,startx进入图形界面, 在终端里运行
sudo update-grub
sudo grub-install /dev/sda
5、重启,搞定!!
注:我在完成到第4步时,初始使用root用户,输入startx
进入图形模式。打开文件系统后,除了根目录,没有其他盘符显示,说明我调整分区后,磁盘的引导标签失效,可以使用partx命令进行重新登记盘符。具体看下一篇文章吧。
参考: 怎样修复grub开机引导