ubuntu手动删除swap分区后重启,出现no such patition,grub rescue解决方案

2017-01-12 09:53:16来源:oschina作者:_牵挂_人点击

之前手动调整swap分区大小之后,将原有的swap分区给删除了,手贱啊,结果重启后系统进不去了,提示:"no such partition",本来想重装系统,奈何之前没备份。于是乎网上各种查资料,折腾了一下午,终于搞定了,具体方法如下:


输入“ls”命令可以查看所有的磁盘分区信息:


(hd0),(hd0,msdos7),(hd0,msdos6),(hd0,msdos5),(hd0,msdos4),(hd0,msdos3),(hd0,msdos2),(hd0,msdos1)


输入set命令,可以查看root和prefix的路径设置信息如下:


root=(hd0,msdos8)


prefix=(hd0,msdos8)/boot/grub


而ls命令列出的磁盘分区中并没有(hd0,msdos8),我想这就是提示“no such partition”的原因,原本(hd0,msdos7)分区是swap分区,被我删除了,少了一个分区,之前Linux的boot安装在(hd0,msdos8)中,删除swap分区后,分区重新分配设备id,结果原来的(hd0,msdos8)变成了(hd0,msdos7),所以提示“no such partition”。需要找到boot的安装目录,进行重新引导。可通过“ls (hd0,msdosn)/boot/grub”找到boot的所在分区(其中n为编号),如果不是boot所在分区会提示“unknown filesystem”,假如最后找到boot所在分区为(hd0,msdos7),输入以下命令:


set root=(hd0,msdos7)


set prefix=(hd0,msdos7)/boot/grub


insmod normal


normal


则可以进入系统选择界面,登陆系统后,打开终端输入以下命令:


sudo update-grub


sudo grub-install /dev/sda


sudo reboot


至此问题得以解决。本文针对的是boot没有单独分区的情况,如果boot目录单独一个分区,请参考http://forum.ubuntu.org.cn/viewtopic.PHP?f=139&t=348503。

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台