首先声明一下:这是我作为一个小白第一次写博客,欢迎各位批评指导。
前不久第一次装了Debian系统,之前对Linux的了解几乎是空白,后来为了在Win10下安装临时使用的软件以便于删除,就分割了出一个10G的新卷,那么问题来了,开不开机了,显示error:unknown filesystem。这是因为引导指向的位置顺序数没变(就是假如原来指向4位置的分区,现在还是指向4位置,但是由于新加分区,原来4位置的分区已经移向5位置了),但是因为分割,那个分区后移了一个,所以找不到了,就无法启动。
搜索一下解决办法:输入ls,将会列出所有分区以(hdm,xxxxn)的形式显示(其中m是0或1,目前就知道这两种,不知道是否有别的,道理应该一样,xxxx是几个字母,不同电脑可能不同,n也是数字)。然后输入set,就会看到prefix=(hdm,xxxxn)/boot/grub root=hdm,xxxxn的字样,这是引导指向的分区,由于在linux系统分区之前多出了一个分区,所以应该让引导找到新分区位置,所以输入
set root=hdm,msdos(n+1)
set prefix=(hdm,msdos(n+1))/boot/grub
其中m和n换成具体数字,n+1算出数字把括号去了
例如:输入set后显示
prefix=(hd0,msdos7)/boot/grub
root=hd0,msdos7
那么就输入
set root=hd0,msdos8
set prefix=(hd0,msdos8)/boot/grub
同理如果是删掉一个分区,就让n-1
然后输入insmod normal回车
这时发现grub secure>亮度变了,就证明成功了,然后输入normal,进入Linux系统,让其更新grub,具体操作如下:
su命令使用root限,sudo update-grub回车,sudo grub-install /dev/sda回车,注意第一个/前有个空格(我就陷进去好久),然后reboot回车重启就OK了。
ps:如果insmod normal之后还是显示error,就重复之前的步骤把每个盘试一下。