文档章节

Ubuntu 开机出现 grub rescue 的模式下修复

Junn
 Junn
发布于 2013/06/04 09:59
字数 748
阅读 9.7K
收藏 9

「深度学习福利」大神带你进阶工程师,立即查看>>>

由于在Windows下面对分区修改,导致grub所在分区由sda3变成了sda2了,这样一来找不到grub了,Ubuntu开机就出现了
 
grub rescue >
 
在此情况下,可以如下解决,并不用重新安装系统
 
第一步,找出你的Linux盘在那个分区以及grub目录在什么位置。
 
如果你还记得最好,忘了也无所谓,使用下面命令逐个试探即可:
 
grub rescue>ls
 
回车后,ls命令会列出所有磁盘分区信息,如:
 
(hd0,4),(hd0,7),(hd0,8),(hd0,9)
 
循环使用如下命令,直至显示该分区所包含文件内容而不是unknown filesystem以及其他一些不正常信息
 
grub rescue>ls (hd0,0)/boot/grub
 
(网上有写ls (hd0,0)/grub的,可能根据不同linux发行版本不同吧,Ubuntu 10.04是grub是放在/boot下面的。或者可以ls其他文件也一样)
 
假设我们试到(hd0,8)时,成功显示了文件内容,则表示。
 
第二步:
 
grub rescue>set  root=(hd0,8)
 
//括号里分区为上一步尝试成功的分区,即linux grub 所在分区
 
grub rescue>set  prefix=(hd0,8)/boot/grub
 
第三步:
 
grub rescue>insmod  normal.mod
 
网上有些insmod /grub/normal.mod的,我的Ubuntu 10.04并不成功
 
至此,应该退出了grub rescue模式,进入了熟悉的grub模式
 
第四步:
 
grub>normal
 
第五步:修复grub
 
进入Linux系统后,在命令行里
 
sudo  update-grub
 
第六步:
 
sudo grub-install /dev/sda              //sda是你的启动磁盘

另附一篇

grub rescue模式下修复

由于在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
grubgrub
grub rescue>normal -------->若出现启动菜单,按c进入命令行模式

rescue>linux /boot/vmlinuz-xxx-xxx root=/dev/sda x

rescue>initrd /boot/initrd.img-xxx-xxx

rescue>boot

内核版本号 -xxx-xxx可以按Tab键查看后再手动补全。     
Junn
粉丝 144
博文 412
码字总数 288918
作品 0
海淀
技术主管
私信 提问
加载中
请先登录后再评论。
Swift百万线程攻破单例(Singleton)模式

一、不安全的单例实现 在上一篇文章我们给出了单例的设计模式,直接给出了线程安全的实现方法。单例的实现有多种方法,如下面: class SwiftSingleton { } 这段代码的实现,在shared中进行条...

一叶博客
2014/06/20
3.5K
16
WSGI Web服务器--UV-Web

uv-web是一个轻量级的支持高并发的WSGI Web服务器,基于libuv构建,部分代码源于开源项目bjoern,本质是python的C扩展,所以适用于部署绝大部分 python web应用(如 Django) 特性 兼容 HTTP 1...

Jone.x
2013/03/04
1.8K
0
Steam Installer for Wheezy

Linux游戏最近因为Valve旗下Steam平台的支持而获得快速增长。最初Steam只承诺支持最流行的桌面发行版Ubuntu,但最近它已向其它流行发行版开放了大门。但如果你使用的是不那么流行的发行版呢?...

匿名
2013/03/06
899
0
轻量级校验框架--Jquery-Lweight-validate

jquery-Lweight-Validate :轻量级校验框架。之所以这么称呼它。原因很简单,与其他校验框架相比,次框架没有太多的JS代码在你的HTML中,仅仅一行,其他所有的校验属性,均通 过框架中自定义...

德古拉-大猫
2013/05/05
2.8K
3
cgi模式 web服务器--LiuGinx

liugnix是一个 cgi模式 web服务器。 支持语言 因使用的为CGI 模式,支持所有cgi模式运行的程序。 php python go perl 如何运行 cd mywebsite liugnix_ENV liuginx --help2013/05/07 01:10:43...

Able
2013/05/07
878
0

没有更多内容

加载失败,请刷新页面

加载更多

创建具有列表理解的字典 - Create a dictionary with list comprehension

问题: I like the Python list comprehension syntax. 我喜欢Python列表理解语法。 Can it be used to create dictionaries too? 它也可以用来创建字典吗? For example, by iterating over......

技术盛宴
35分钟前
15
0
从JS数组中删除重复的值[duplicate] - Remove duplicate values from JS array [duplicate]

问题: This question already has answers here : 这个问题已经在这里有了答案 : Get all unique values in a JavaScript array (remove duplicates) (79 answers) 获取JavaScript数组中的......

法国红酒甜
今天
7
0
如何使用AngularJS在浏览器的控制台中访问$ scope变量?

问题: I would like to access my $scope variable in Chrome's JavaScript console. 我想在Chrome的JavaScript控制台中访问$scope变量。 How do I do that? 我怎么做? I can neither see ......

fyin1314
今天
18
0
ImageMagick - 添加水印

背景 最近制作思维导图想添加自己的水印,网上很多例子都是使用ImageMagick来完成。但是不少代码在本地并不可行。经过一番试验,找到两个方法。 方法一 代码 stackoverflow方法改良: conver...

wffger
今天
11
0
OSChina 周四乱弹 —— 到底是怎样的饕餮盛宴在等待着我!

Osc乱弹歌单(2020)请戳(这里) 【今日歌曲】 小小编辑推荐 :《你 能 來 保 護 我 的 世 界 嘛》- 歪门 《你 能 來 保 護 我 的 世 界 嘛》- 歪门 手机党少年们想听歌,请使劲儿戳(这里)...

小小编辑
今天
77
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部