前几天整理了下电脑的分区,合并并删除一些分区,结果导致 grub 被破坏了,Ubuntu进不去了,启动后直接进入了 rescure 模式。后来又折腾了下,终于修复好了,现总结一下。
先说一下我的系统环境,我是 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
- 大小: 240.5 KB
- 大小: 102.8 KB
- 大小: 34.1 KB
- 大小: 31.4 KB
- 大小: 28.9 KB
- 大小: 101.7 KB
- 大小: 249.6 KB
- 大小: 204.4 KB
- 大小: 284.1 KB
- 大小: 325.2 KB
分享到:
相关推荐
内网环境安装mysql5.7数据库所需deb安装包,libaio1_0.3.110-2_amd64.deb ,libmecab2_0.996-1.2ubuntu1_amd64.deb ,libmysqlclient20_5.7.25-1ubuntu16.04_amd64.deb,libmysqlclient-dev_5.7.25-1ubuntu16.04_amd...
Ubuntu 16.04入门手册 Getting Started with Ubuntu 16.04
本文主要是在ubuntu 16.04环境下,如何安装 eclipse。
Ubuntu 16.04入门手册 Getting Started with Ubuntu 16.04.rar
VM中ubuntu16.04安装VM tools的详细步骤,及具体说明和图示
用U盘制作ubuntu16.04系统的一些心得,包含下载网址,安装整理的一些详细过程
ubuntu 16.04 可以方便使用的清理工具 ubuntu-tweak ubuntu 16.04 LTS
Ubuntu16.04 离线安装openssh所需的安装包deb(修正了安装步骤)
ubuntu16.04 iso 镜像。ubuntu16.04 iso 镜像。ubuntu16.04 iso 镜像。ubuntu16.04 iso 镜像。ubuntu16.04 iso 镜像。ubuntu16.04 iso 镜像。ubuntu16.04 iso 镜像。
这篇文章主要介绍了Ubuntu 16.04 中文版安装基础入门教程(图文),需要的朋友可以参考下 安装Ubuntu16.04 1、进入 live cd 桌面 1)安装盘下载地址:http://releases.ubuntu.com/16.04/,可以用硬盘启动,也可以...
ubuntu16.04中安装使用dockerubuntu16.04中安装使用docker
ubuntu16.04搭建伪分布式文档
emqttd-ubuntu16.04-v2.3.0.zip 开发工具 用于tcp的通讯
ubuntu-16.04.7-desktop-amd64 下载链接:https://blog.csdn.net/kt1776133839/article/details/123229169
Ubuntu16.04使用Docker全指南 ubuntu16.04_docker.pdf
解决docker的ubuntu16.04官方镜像,默认无法使用https的apt源的deb包。解压缩后,执行setup.sh安装即可。
文档为本人亲自编写,由于能力有限,如发现错误,欢迎批评指正。同时,欢迎有安装过程中有问题的小伙伴们一起交流学习。
ubuntu16.04安装oracle操作文档
有时候会遇到客户是内网环境的,无法在线通过apt install mysql-server进行安装,本文将提供mysql5.7.33所需的离线安装包和依赖。
Ubuntu 16.04安装Calibre电子书管理软件.docx