win7 +v Ubuntu 16.04 grub rescue 模式下修复 grub
先说一下我的系统环境,我是 Win7 + Ubuntu 16.04 双系统,先安装的 Win7,后安装的 Ubuntu。采用的是 Windows 引导 Ubuntu 的方式,使用的工具是”EasyBCD 2.3 个人版本“。Ubuntu 分区时,"/boot" 是单独分区的。详细分区情况如下:“/boot” 分区, “/” 分区, “swap 交换空间“。
另外需要说明的,我在安装 Ubuntu 时,“安装启动引导器的设备”选择的是 "/boot" 所在的分区。
下面正式开始详细说明解决办法:
进入 Ubuntu 时,画面如下: 
首先,使用 ls 命令,找到 Ubuntu 的分区,执行 ls 命令后的结果如下:
- ls

此时会看到硬盘上的分区情况,例如(hd0,msdos1),(hd0,msdos2)等等,其中 hd0 中的 0 代表第 1 块硬盘(硬盘号从 0 开始),msdos1 中的 1 代表第 1 个分区。
然后依次调用如下命令,直到找到 Ubuntu 所在的分区,命令如下:ls (hdx,msdosy)
其中 x 代表硬盘号,y 代表分区号。
以我的机器为例,依次查看每个分区情况:
- ls (hd0,msdos1)
- ls (hd0,msdos2)
- ls (hd0,msdos3)
- #......
执行结果如下: 


执行完之后,发现 (hd0,msdos5)和(hd0,msdos6)是 Ubuntu 的分区。然后分别执行如下命令,确定 grub 所在的分区:
- ls (hd0,msdos5)/grub
- ls (hd0,msdos6)/grub
- # 若 “/boot” 没有单独分区,需要执行如下命令(待验证):
- ls (hd0,msdos5)/boot/grub
- ls (hd0,msdos6)/boot/grub

执行完之后,发现 (hd0,msdos5) 中,有 grub.cfg 文件。说明 (hd0,msdos5) 是我们要找的引导分区。
之后,再依次执行如下命令,修复 grub 引导,并进入 grub2 引导画面:
- set root=(hd0,msdos5)
- set prefix=(hd0,msdos5)/grub
- insmod normal
- normal
- # 若 “/boot” 没有单独分区,需要执行如下命令(待验证):
- set root=(hd0,msdos5)
- set prefix=(hd0,msdos5)/boot/grub
- insmod normal
- normal

执行完上述命令之后,就可以看到 Ubuntu 的 grub2 引导画面,可以正常进入 Ubuntu 了。 
不过你会发现,若重新启动电脑的话,问题依旧。那是因为我们还没有执行 grub 的更新命令。
重新执行上述的命令,进入 Ubuntu。然后在终端执行如下命令更新 grub:
- sudo update-grub2
- sudo grub-install /dev/sda
注意: /dev/sda 后面不要加分区号,例如 sda1,sda2 之类的。
执行结果如下: 

至此,grub 终于的修复完毕。不过,此时若重新电脑的话,你会发现,启动时变成了 Ubuntu 引导 Windows 了。而修复之前是 Windows 引导 Ubuntu。
为了解决这个问题,我用的方法是先进入 Win7,然后使用 ”EasyBCD“ 重新修复 MBR 从而解决了这个问题。
操作方法很简单:启动 EasyBCD,选择左侧的 ”BCD部署“,然后选中右侧的 ”在MBR中安装 Windows Vista+的bootloader“,也就是默认的第一项,最后点击 ”编写 MBR“ 按钮。
到这里,才算是直接的完成了 grub 的修复,并且可以用 Windows 引导 Ubuntu 了。
参考资料:
http://blog.csdn.net/liangxanhai/article/details/7654478
http://my.oschina.net/junn/blog/135450
win7 +v Ubuntu 16.04 grub rescue 模式下修复 grub的更多相关文章
- Ubuntu 16.04 grub rescue 模式下修复 grub
前几天整理了下电脑的分区,合并并删除一些分区,结果导致 grub 被破坏了,Ubuntu进不去了,启动后直接进入了 rescure 模式.后来又折腾了下,终于修复好了,现总结一下. 先说一下我的系 ...
- win7 与 Ubuntu 16.04 文件传送
win7 与 Ubuntu 16.04 文件传送 环境:主机系统为win7,虚拟机为vmware12, 虚拟系统为ubuntu 16.04 方案一: 通过虚拟机vmware的共享文件夹实现. 方案二: ...
- CentOS 7在grub rescue模式中修复系统
安装完CentOS 7后 修改硬盘分区后,系统重启后,无法正常启动,进入grub rescue模式: 网上大多数centos grub rescue的资料应该是Centos 7之前的,其中提到的命令很 ...
- 在 Ubuntu 16.04 中安装谷歌 Chrome 浏览器
进入 Ubuntu 16.04 桌面,按下 Ctrl + Alt + t 键盘组合键,启动终端. 也可以按下 Win 键(或叫 Super 键),在 Dash 的搜索框中输入 terminal 或&q ...
- Ubuntu 16.04下安装64位谷歌Chrome浏览器
1.进入 Ubuntu 16.04 桌面,按下 Ctrl + Alt + t 键盘组合键,启动终端. 也可以按下 Win 键(或叫 Super 键),在 Dash 的搜索框中输入 terminal 或 ...
- Ubuntu 16.04下安装谷歌浏览器(转)
1.进入 Ubuntu 16.04 桌面,按下 Ctrl + Alt + t 键盘组合键,启动终端. 2.在终端中,输入以下命令,将下载源加入到系统的源列表. sudo wget http://www ...
- Ubuntu 16.04中安装谷歌Chrome浏览器
1.进入 Ubuntu 16.04 桌面,按下 Ctrl + Alt + t 键盘组合键,启动终端. 2.在终端中,输入以下命令: sudo wget https://repo.fdzh.org/ch ...
- ubuntu 16.04(Windows 10双系统+grub引导)无法进入tt1~tt6(NVIDIA驱动安装相关-黑屏,login loop,分辨率)
目录 前言回顾 最终解决: 0.关闭x服务 1.禁用nouveau 2.加入 3.更新 4.查找匹配驱动 5.选择推荐版本 6.等待安装后重启,nvidia-smi查看是否安装成功,或者lsmod | ...
- UEFI启动模式下安装Ubuntu 16.04教程【转】
本文转载自:http://blog.csdn.net/Jesse_Mx/article/details/61425361 前言 最近常帮人安装Ubuntu,也算积累了一些经验.这篇博文主要谈一谈如何在 ...
随机推荐
- Unity鼠标点击Collider
void OnGUI() { if (Event.current != null && Event.current.type == EventType.mouseDown) { )) ...
- Hacking up an armv7s library
NOTE: Please take care with this. I obviously cannot test if this will actually work on a new iPhone ...
- Delphi Code Editor 之 几个特性(转)
Delphi Code Editor有几个特性在编写大规模代码时非常有用.下面分别进行介绍: 原地址:http://www.cnblogs.com/pchmonster/category/343330 ...
- 【Android N 7.1.1】 处于锁屏界面时可以转屏
frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarWindowManager.ja ...
- JavaBean入门及简单的例子
不会编写JavaBean就不是一个Java开发人员. 那么,何谓JavaBean呢? JavaBean是符合某种规范的Java组件,也就是Java类. 它必须满足如下规范: 1)必须有一个零参数的默认 ...
- Egret打包App 修改App名称和图标 (Egret4.1.0)
图标替换位置在项目res下的drawable这些目录下,用新图标覆盖即可. 这里我用白色图片替换了白鹭默认的图片ic_launcher.png 修改App名字,在res->value->s ...
- 【BZOJ4524】[Cqoi2016]伪光滑数 堆(模拟搜索)
[BZOJ4524][Cqoi2016]伪光滑数 Description 若一个大于1的整数M的质因数分解有k项,其最大的质因子为Ak,并且满足Ak^K<=N,Ak<128,我们就称整数M ...
- Swift - 获取当前系统时间
// 获取当前系统时间 let date = NSDate() let timeFormatter = NSDateFormatter() timeFormatter.dateFormat = &qu ...
- 10.Curator队列
Curator也提供ZK Recipe的分布式队列实现.利用ZK的 PERSISTENTSEQUENTIAL节点,可以保证放入到队列中的项目是按照顺序排队的.如果单一的消费者从队列中取数据,那 ...
- .NET中将中文符号转换成英文符号
public static string ConvertToEn(string text) { const string s1 = ".:,?!.“”‘’"; const stri ...