`

【转】grub rescue救援模式的处理

    博客分类:
  • win7
 
阅读更多

本人现在安装的是Windows 7+Ubuntu 10.10 双系统。今天想在自己的烂PC上装Mac,于是分了两个区,并且都没格式化。用leopard硬盘安装工具把dmg镜像加载到新分区后(现在应该被格式化成HFS+分区了),又安装了MacDrive,然后重启系统。

 

再然后,就悲剧了。

 

grub无法引导进入系统,大黑屏上出现:

unkown filesystem

grub rescue>

 

OK,确实悲剧了:估计Windows刚才的分区活动把Grub搞郁闷了,Grub进入Rescue模式。之后,手机google了一下,发现“love-姜红阳”的一篇blog 写得很好。现在转贴过来。

 

我的linux在调整分区后,出现了grub rescue>
这表示grub2的配置文件坏了,由于分区调整或分区UUID改变造成GRUB2不能正常启动,从而进入修复模式(grub rescue)也称救援模式。
 
在救援模式下只有很少的命令可以用:
set  ,  ls , insmod , root , prefix
 
(1)set  查看环境变量,这里可以查看启动路径和分区。
(2)ls   查看设备
(3)insmod  加载模块
(4)root  指定用于启动系统的分区,在救援模式下设置grub启动分区
(5)prefix 设定grub启动路径
 
一、分区乱了,我不知道boot目录在什么地方了
ls  #查看一下设备状态
如图:
grub rescue救援模式的处理 - 汉斯的遗忘 - 汉斯的遗忘 

grub rescue> ls (hd0,msdos3)
error: bad filename.
提示:错误的文件名,我在测试时发现必须是后面加一个/
 
grub rescue> ls (hd0,msdos3)/
./  ../  lost+found/
 
通过查看发现在(hd0,msdos1)/下有一个boot目录
 
二、设置grub的启动分区和路径
set root=(hd0,msdos1)  #设置grub启动分区
set prefix=(hd0,msdos1)/boot/grub/  #设置grub启动路径
查看一下设置情况:
grub rescue> set
prefix=(hd0,msdos1)/boot/grub
root=hd0,msdos1
 
三、加载基本模块
insmod /boot/grub/normal.mod  #加载基本模块
 
四、进入正常模式
normal  #进入正常模式,出现菜单,如果加载grub.cfg(错误的)可能出现问题,按shift可以出现菜单,之后按c键进入控制台
进入正常模式后就会出现grub>这样的提示符,在这里支持的命令就非常多了。
 
五、引导系统
set root=(hd0,msdos1)  #设置正常启动分区
linux /boot/vmlinuz ....  ro text root=/dev/sda1  #加载内核,进入控制台模式
initrd  /boot/initrd ....  #加载initrd.img
boot #引导
 
六、更新grub
安装:grub-install /dev/sda
更新:update-grub
 
 
 
虚拟机实验:
经过上面的经历,我在虚拟机里进行了一下实验,加深巩固。
一、把boot目录移到别的分区
mv /boot/   /home/
这样重启之后就出现了
grub rescue>救援模式。
二、手动启动过程记录
ls (hd0,msdos6)/  #找到了boot所在的分区
set root=(hd0,msdos6)  #设置grub启动分区
set prefix=(hd0,msdos6)/boot/grub/  #设置grub启动路径
insmod /boot/grub/normal.mod  #加载基本的模块
normal #从救援模式进入正常模式
 
set root=(hd0,msdos6) #设置系统启动分区,在这里指向内核所在的分区
linux /boot/vmlinuz-2.6.35-22-generic ro text root=/dev/sda1 #加载内核
initrd  /boot/initr .....  #加载initrd.img
boot  #启动
 

测试中正常启动并出现登录对话框。

 

双系统,win7 下一键Ghost ,进入grub rescue 的解决方法

 

本人安装的是win7+ubuntu10.10, 硬盘直接安装。因为win7 下装了几个大软件,所以决定一键Ghost 备份一下,结果重启之后,就进入了grub rescue 界面:

error:unknown filesystem

grub rescue>

 

研究了半天,才解决这个问题。先说说是怎么回事。

安装ubuntu 时,启动是用grub2 进行启动。我的win7 在C 盘, Ubuntu 空间是从D 盘里分出来的。我们知道,每次系统启动时都是先进入grub ,也就是先在ubuntu 的启动目录里选择进入哪个系统,如果按分区来讲,grub2(hd0,msdos7) 也就是我的ubuntu 所在的分区。那么启动时root 应该设在(hd0,msdos7), 可一键ghost 会修改启动,它把root 改在(hd0,msdos9), 这是个windows 分区,也就是NTFS 分区,ubuntu 是不能识别这种文件系统的,所以就有了error:unknown filesystem ,这种情况下自然不能启动,那么grub2 就会启动grub rescue 模式,就是修复模式。那么我们要做的就是把grub 重新指向(hd0,msdos7) 。

 

下面是具体步骤:

 

查看分区

因为每个人的分区不一样,所以我们要查看分区, 用ls 指令

grub rescue>ls

回车后,就会出现

(hd0) (hd0,msdos9) (hd0,msdos8) (hd0,msdos7) (hd0,msdos6) (hd0,msdos5) (hd0,msdos1)

grub rescue>

注:我用的是grub2, 对于grub 用户,分区前没有msdos 字样

上面是我的分区,每个人的不一样。

grub rescue>set 回车

prefix=(hd0,msdos9)/boot/grub

root=hd0,msdos9

从上面可以看出来现在我的系统是从(hd0,msdos9) 里启动的。

那么怎么知道ubuntu 在哪个分区呢?进入第二步

 

寻找 ubuntu 所在分区

这一步我们要一个一个的试,

还是用ls 指令

先试下在不在(hd0,msdos8 )里边

grub rescue>ls (hd0,msdos8)

回车会发现,不是,还是unknown filesystem

接着来

。。。。。。。。。

当我试到

(hd0,msdos7) 的时候,可以看到一下子多了很多字,这些就是我ubuntu 主文件夹下的文件夹和文件的名字。OK ,找到分区了!

 

修改启动分区

grub rescue>root=(hd0,msdos7)
grub rescue>prefix=/boot/grub //grub
 路径设置 
grub rescue>set root=(hd0,msdos7)
grub rescue>set prefix=(hd0,msdos7)/boot/grub
grub rescue>insmod normal //
 
启动 normal 启动

grub rescue>normal

依次敲入上面的指令,是不是看到熟悉的启动菜单了?选 win7 后,一键 Ghost 就开始备份系统了。别高兴太早,一切还都没开始呢。如果你不是因为一键 Ghost 问题进入 grub rescue, 可以直接跳到第⑤步

 

再来一遍

当你等着一键Ghost 备份完系统,重启后,你发现还是

error:unknown filesystem

grub rescue>

别着急,再把前三步进行一遍就可以了

 

进入命令行 启动 Ubuntu

进入系统启动选项界面后,你发现,无论点那个还是进不去,这是因为你还没有真正的修改grub, 这个要到ubuntu里修改

进入系统启动项界面后,按C 进入命令行模式

grub >set root=hd0,msdos7

grub >set prefix=(hd0,msdos7)/boot/grub

grub >linux /vmlinuz-xxx-xxx root=/dev/sda7 // 里边的 xxxx 可以按 Tab 键,如果有 acpi 问题 , 在最后加一句 acpi=off
grub >initrd /initrd.img-xxx-xxx
grub >boot

Ubuntu 正常启动了吧?

 

进入 ubuntu 修复 grub

大功就要高成了

进入Ubuntu 后, 修复grub

在终端里运行

sudo update-grub

重建 grub 到第一硬盘 mbr
sudo grub-install /dev/sda

好啦,重启,一切搞定!

 

 

感谢姜红阳的解决方案。

分享到:
评论

相关推荐

    Ubuntu重装启动失败进入修复grub rescue模式.docx

    Ubuntu重装启动失败进入修复grub rescue模式 本文将详细介绍Ubuntu重装启动失败进入修复grub rescue模式的解决方法。该方法适用于在Ubuntu重装过程中出现启动失败的问题,并且介绍了在grub rescue模式下如何修复...

    linux rescue救援模式详解.doc

    Linux Rescue救援模式详解 Linux Rescue救援模式是一种特殊的启动模式,用于修复无法启动的 Linux 系统。以下是 Linux Rescue 模式的详细解释和使用指导。 什么是 Linux Rescue 模式 Linux Rescue 模式是一种特殊...

    LINUX GRUB引导故障和救援模式

    LINUX 下GRUB引导故障和救援模式,讲解详细。

    windows grub修复

    windows grub修复 Grub Rescue修复方法

    linuxrescue恢复grub.pdf

    Linux Rescue 模式下的 GRUB 恢复 Linux Rescue 模式是 Linux 系统中的一种特殊模式,用于恢复和修复系统。在这种模式下,可以使用 Linux Rescue 光盘或硬盘安装的方式进入安装界面,然后使用 shell 命令来修复系统...

    GRUB实验-单用户破密码-引导菜单加密-救援模式

    本文档为GRUB的实验文档,关于单用户破密码、引导菜单加密、救援模式

    U盘安装Linux系统后重启时进入”grub rescue>”模式解决方法

    浪潮NF8460M4服务器安装麒麟Linux的时候,用外置光驱无法识别,改用u盘安装,安装成功后,重启正常,但把U盘拔掉后,重启系统时,无法正常进入系统,进入了”grub rescue>”模式。 折腾了一番,发现是在安装的时候...

    重装xp后修复grub

    重装xp后修复grub 在我们安装了双系统后,会发现Linux进不了了,但实际上Linux还是在硬盘上,只是无法进入而已。 通过压缩包里面的软件和步骤,完全解决重装xp系统后恢复Linux的问题

    开机grub终极解决方法.doc

    2. 进入 linux rescue 模式:`linux rescue` 3. 挂载硬盘上的 Linux 系统:`chroot /mnt/sysimage` 4. 进入 GRUB 命令行模式:`grub` 5. 修复主引导记录:`grub>root (hd0,7)` 和 `grub>setup (hd0)` 方法二:使用...

    使用多重启动管理器GRUB引导Linux系统.pdf

    如果 GRUB 配置文件损坏或丢失,系统可以使用 Linux 的救援模式修复 GRUB。首先,使用救援模式启动 Linux,然后使用相关工具修复 GRUB 配置文件。 GRUB 的优点 GRUB 有许多优点,例如可以引导多种操作系统、支持多...

    grub-1.98grub

    grub-1.98grub

    grub学习笔记grub学习笔记

    grub学习指导grub学习指导grub学习指导grub学习指导grub学习指导grub学习指导grub学习指导grub学习指导

    Grub2基础教程Grub2基础教程

    一、grub2新特性 二、grub2安装与启动 三、grub2配置文件详解 四、脚本修改 五、使用grub2常见错误及修复方法

    GRUB 2 bootloader - Full GRUB 2 bootloader_files

    GRUB 2 roadmap GRUB 2 introduction New layout Sample grub.cfg file Sample /etc/grub.d/ directory Sample /etc/default/grub Basic usage How GRUB 2 works? Add new GRUB script Update GRUB Change script ...

    grub loading…… grub error 15

    装系统,把grub给装没有了:“grub loading…… grub error 15”

    grub2基础教程-修订版

    d)支持rescue模式,可用于系统无法引导的情况 e)国际化语言。包括支持非ASCII的字符集和类似gettext的消息分类,字体,图形控 制台等等 f)有一个灵活的命令行接口。如果没有配置文件存在,GRUB会自动进入命令模式 g)针对...

    BackTrack5提示error-unknown filesystem怎么办.docx

    退出 GRUB Rescue 模式,进入熟悉的 GRUB 模式: grub rescueinsmod normal 回车 grubnormal 回车 Step 5: 修复 GRUB 修复 GRUB: sudo update-grub 回车 Step 6: 安装 GRUB 安装 GRUB: sudo grub-install /...

    Linux系统GRUB引导单用户模式三种方式

    本文介绍了在GRUB引导下进入Linux单用户模式的三种方式。

    grub customizer grub修改器

    Grub Customizer 是GRUB2的图形化管理程序。目前,它只提供GRUB2菜单选项编辑功能:重新排序、重命名或增加/删除选项。

Global site tag (gtag.js) - Google Analytics