运维开发网
广告位招商联系QQ:123077622
 
广告位招商联系QQ:123077622

Ubuntu 16.04 + win7 双系统 引导修复 grub修复之路

运维开发网 https://www.qedev.com 2020-03-20 08:27 出处:网络 作者:运维开发网整理
环境: win7 + Ubuntu 16.04双系统   250G SSD  win7一开始是C盘100G,D盘150G,装Ubuntu时从D盘压缩出40G

环境: win7 + Ubuntu 16.04双系统   250G SSD 

win7一开始是C盘100G,D盘150G,装Ubuntu时从D盘压缩出40G

           

问题产生原因:装Ubuntu的时候分配了40G的空间(swap 4G,/  36G)不够用了,于是在win7中从D盘又压缩出20G空间准备给Ubuntu系统用,但是重启的时候遇到了

grub rescue>

首先要进入Ubuntu系统,才能进行修复吧

解决方法:

第一步:grub rescue> 下先进入Ubuntu系统

由于在rescue模式下,只有少量的基本命令可用,必须通过一定的操作才能加载正常模块,然后进入正常模式。

rescue模式下可使用的命令有:set,ls,insmod,root,prefix(设置启动路径)

先假设grub2的核心文件在(hd0,8)分区,再来看看怎样从 rescue模式进入从(hd0,8)启动的正常模式(normal)。

在 rescue模式下search命令不能用,对不清楚grub2文件处于哪个分区的,可以用ls命令查看,比如

ls (hd0,8)/ 查看(hd0,8)分区根目录,看看有没有boot文件夹

ls (hd0,8)/boot/ 查看(hd0,8)分区的/boot目录下文件

ls (hd0,8)/boot/grub/ 查看(hd0,8)分区/boot/grub目录下文件

通过文件查看,可以确定 grub2核心文件处于哪个分区,接下来就可以进行从rescue到normal的转变动作:先 ls 看看分区,根据分区列表,猜下 / 分区的编号再 ls (hd0,x)/ 看分区目录下文件确定找到 / 分区,不对的话继续找。找到 / 分区的 (hd0,x) 继续

grub rescue>root=(hd0,x)

grub rescue>prefix=/boot/grub

grub rescue>set root=(hd0,x)

grub rescue>set prefix=(hd0,x)/boot/grub

grub rescue>insmod normal

rescue>normal

于是进入了Ubunt系统,但是总不能每次都这么进系统吧,于是我尝试修复grub ,以下是出了以下问题,如果你没有出以下问题,可以跳过,直接进入第四步

第二步:解决“Minimal BASH-like line editing is supported.”问题

用了网上不知道哪里的一个教程,结果出问题了,开机进入了这个界面,然后只有一个   grub>

我尝试使用ls列出分区列表什么的,发现并不能!后来想了以下,发现这是windows的引导界面,首先要进入Windows啊,可是怎么进呢?

解决方法:

使用 uuid 命令可以列出所有的硬盘分区,由于我们的Windows一般都是安装在 (hd0,0)分区的,所以进行以下几步可以进入Windows系统

grub> root (hd0,0)

grub> chainloader (hd0,0)+1

grub> boot

敲完回车就发现可以进Windows系统了

可是进Windows系统是为了干什么呢?

第三步:重新进入Ubuntu安装界面来修复引导

因为我需要做一个Ubuntu启动盘,进入Ubuntu的安装界面,这又是为什么呢?

因为我进不去Ubuntu系统!哭!

但是在制作Ubuntu U盘启动盘的过程中,发现会出现问题,没有办法用U盘启动,于是果断放弃,使用硬盘安装Ubuntu(只是为了进入安装界面修复引导,并不是重装),具体教程请移步:Windows 7下硬盘安装Ubuntu 14.04图文教程

好了,现在重启,进入Ubuntu安装界面就好!

第四步:修复Ubuntu引导

1.进入之打开终端,先在终端输入sudo fdisk -l (注意是小写的L,不是数字1,此步用于确定电脑中安装 Ubuntu所在分区的位置,输入以后会输出类似如下信息,找到ID为83的那行,记住/dev/sdaX的情况,比如本人的电脑是/dev /sda10。)

2.输入sudo -i(此步用于得到root权限,方便以下操作。)

3.输入mkdir /media/tempdir(创建一个文件夹tempdir,用于挂载刚才的sda10,此文件夹名称你可以依个人爱好而定,没有太多要求。)

4.输入mount /dev/sda10 /media/tempdir(将sda10挂载于tempdir文件夹下。)

5.输入grub-install --root-directory=/media/tempdir /dev/sda(本步骤用于来重新安装grub2到硬盘的主引导记录MBR里面。)

   输入以后如果出现“Installation Finished.No Error Reported.”字符,就表示操作成功了。

6.重启,熟悉的紫色界面    

泪流满面!!

扫码领视频副本.gif

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号