目录
1 背景
很久以前,我在自己的电脑里同时装了windows 7 和ubuntu (双系统,不是虚拟机), 使用easybcd设置了开机引导菜单。
前几天,window 的C盘容量告急,遂准备用其他容量较充裕的盘匀一点空间给c盘, 这时候又用到了分区助手(这不是本文重点,但需要注意的一点是分区助手要安装在C盘,我曾经吃过亏,装在d盘结果开不了机)。
c盘扩充容量成功了。
但是,第二天再开机,试试ubuntu能不能打开,果不其然。
本文的问题产生了,即windows 盘重新分区后,linux盘找不到了。
2 问题出现
实际上,给linux的磁盘空间和内容依然存在,只是地址改变了。
3 查找解决方案
参考两篇文章
grub error: unknown filesystem的解决办法
开机显示erro:file’/boot/grub/i386-pc/normal.mod’ not解决
总结一下要点
(1) 列出逻辑盘符
grub rescue>> ls
(2) 找到文件 /boot/grub 或者 /grub 所在的盘符
——因为不同版本的系统grub文件存放的绝对路径不相同。
所以以下的两个命令都要在不同的逻辑盘符下挨个试试。
grub rescue>> ls (hd0,msdos8)/grub
grub rescue>> ls (hd0,msdos8)/boot/grub
直到出现
说明文件就在 这个盘符下,那进入第三步。否则继续试接下来的盘符
(3) 设置grub路径
grub rescue>> set root=hd0,msdos8
grub rescue>> set prefix=(hd0,msdos8)/grub
(4)尝试进入ubuntu开机选择菜单
grub rescue>>insmod normal
grub rescue>>normal
出现
以为大功告成?没有!
进入ubuntu, 关闭系统,再重启,选择ubuntu 还是会出现 本文开头的提示。因为上述的步骤只对本次开机起作用,没有保存到文件中。
(5)grub文件更新
进入ubuntu,打开命令窗口
sudo update-grub
接下来输入密码
紧接着,输入
sudo grub-install /dev/sda
目的是将GRUB(系统引导器)安装在第一块硬盘的引导区。
4 解决问题
重启,直接出现
由原来的windows 第一引导变成 ubuntu第一引导系统。
应该是最后一句命令造成的,可以通过easyBCD重新设置回windows第一引导。