很多时候,特别是在linux调整分区后,开机重启时会出现

        error : unknow filesystem
        grub rescue>
        的字样,系统就是进不去。这表示你的grub2的配置文件坏了……
        由于分区调整或分区UUID改变造成grub2不能正常启动,从而进入修复模式了(grub rescue),也称救援模式。
        
        在救援模式下只有很少的命令可以用:set  ,  ls , insmod , root , prefix

        (1)set  查看环境变量,这里可以查看启动路径和分区。
        (2)ls   查看设备
        (3)insmod  加载模块
        (4)root  指定用于启动系统的分区,在救援模式下设置grub启动分区
        (5)prefix 设定grub启动路径

具体修复步骤如下:
       1、查看分区:grub rescue> ls   回车
            会出现如下字样:
            (hd0) (hd0,msdos9) (hd0,msdos8) (hd0,msdos7) (hd0,msdos6) (hd0,msdos5) (hd0,msdos2) (hd0,msdos1)
       注:上面是我的分区设备,每个人可能不一样,但原理都是一样的。
       
       2、寻找ubuntu所在分区:
           (就是寻找你的Linux系统是装在以上哪个分区里)
             grub rescue> ls (hd0,msdos1)/
            若出现unknown filesystem字样,则尝试下一个
            ……
            若出现的是你的ubuntu主文件夹下的文件夹和文件的名字,那就是的要找的分区了。

        3、修改启动分区:
             (假如你找到的启动分区是hd0,msdos8)

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

grub rescue>normal

之后你就会看到熟悉的启动菜单栏了

4、进入命令行启动ubuntu

进入系统启动选项界面后还是进不去,

因为你还没有真正的修改grub,这个要到ubuntu里修改

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

grub >set root=hd0,msdos8

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

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

这样就可以进入了

5、进入ubuntu修复grub

在终端里运行        sudo update-grub

sudo grub-install /dev/sda

6、重启,搞定!!

注:我当时只是修改了1~3步骤,然后在菜单栏就可以进入系统了,且一切正常。

可惜,在重启时,系统就只有一个光标在左上角不停的闪,咋也进不了系统。后来开机按F2,开机启动项改为硬盘启动就好了。

怎样修复grub开机引导(grub rescue)的更多相关文章

  1. 开机出现 grub rescue> 终端模式修复方法

    1.  先使用ls命令,找到Ubuntu的安装在哪个分区:     grub rescue>ls     会罗列所有的磁盘分区信息,比方说:     (hd0),(hd0,msdos3),(hd ...

  2. Ubuntu 开机引导文件 /etc/default/grub

    # If you change this file, run 'update-grub' afterwards to update # /boot/grub/grub.cfg. GRUB_DEFAUL ...

  3. 格式化LInux后开机进入grub怎么办

    问题:格式化Linux系统盘之后,重启进入grub 1.grub 引导进入windows系统 进入grub grub>rootnoverify (hd0,1) [可以使用Tab键( 比如 roo ...

  4. Linux操作系统奥秘02-系统引导(GRUB)

    GRUB的加载流程 GRUB是GNU的一款多重引导软件.GRUB包含了3个重要的文件:stage1 ,e2fsstage1_5,stage2.这三个文件分别代表了GRUB运行的3个阶段. 1.stag ...

  5. 开机进入grub命令行之后。。。。

    最近由于经常整理自己电脑上的文件,难免都会遇到误删系统文件或者操作失误导致系统不能够正常进入的情况.这时就会出现grub错误的提示,只能输入命令才能进入系统.那么该输入什么命令呢?其实非常简单. gr ...

  6. 多系统引导 Grub

    目录 1. 多系统引导程序 1.1 简介 1.2 Grub History 1.3 支持Windows系统下安装的grub版本 1.4多系统引导程序对比: 1.5 相关参考 1.5.1 Grub 2 ...

  7. 开机出现grub界面(待尝试)

    开机出现grub界面 试一下这个命令: grub> rootnoverify (hd0,0) grub> chainloader +1 grub> boot 这样就可以进入到wind ...

  8. 如何配置Ubuntu 16.04 GRUB 2引导加载程序

    正如你所知,GRUB 2 是大多数 Linux 操作系统的默认引导加载程序.GRUB 是 GRand Unified Bootloader 的缩写,它是 Linux 启动时首先要加载的一个程序,此后它 ...

  9. 关于linux开机进入grub问题的解决方法

    用还是用ls (hd0,X)/grub命令查看每个盘里面的内容, 情况一 :如果你是在/boot/grub这个目录下找到的 grub rescue>root=(hd0,9)         gr ...

随机推荐

  1. python模块之 fabric

    Python模块之Fabric   Fabric简介 Fabric是一个Python库,可以通过SSH在多个host上批量执行任务.你可以编写任务脚本,然后通过Fabric在本地就可以使用SSH在大量 ...

  2. GeneXus学习笔记——入门篇

    使用GeneXus做开发做了有一段时间了 却发现一个问题(O_O)?就是除了相关的Wiki外 网上其他地方的相关资料都很少 于是乎我就想在这记录一些东西 来帮助以后会用到的人(°ー°") 那 ...

  3. Mac下配置git环境和客户端SourceTree+Git常用命令大全(Mac 10.12)

    前言: 如果不想折腾,直接下载GitHub桌面端,高度集成git,不需要学习git的任何命令. https://desktop.github.com/ 一.配置git环境 1.上官网https://g ...

  4. express后端和fetch前端的json数据传递

    在使用express做后端,前端使用fetch API来请求后端时,一般都是用 JSON 数据进行通信的. 下面是一个简单的例子: 前端: if (up) { var passwordAgain = ...

  5. web操作文件的上传到服务器 并可下载 并且读取出来

    1.文件的上传-servlet实现文件上传---核心API—DiskFileItemFactory 一.文件上传概述 l  实现web开发中的文件上传功能,需完成如下二步操作: •    在web页面 ...

  6. ubuntu安装ntp时间服务器

    1.安装ntp软件 sudo apt-get install ntp2.修改配置文件      sudo vim /etc/ntp.conf driftfile /var/lib/ntp/ntp.dr ...

  7. python_SMTP and POP3

    #!/usr/bin/python #coding=utf-8 #发送邮件 import smtplib from smtplib import SMTP as smtp import getpass ...

  8. Go语言学习笔记三: 常量

    Go语言学习笔记三: 常量 定义常量 常量就是在声明后不能再修改的量. const x int = 100 const y string = "abc" const z = &qu ...

  9. Oracle执行计划的查看

    前言 一个系统在刚开始的时候,由于数据库中数据量不大,开发人员的主要精力都在业务与功能实现上.系统完成部署上线后随着时间的累积,每个表中的数据都在不断增长,我们往往会发现系统越来越慢,这可能是程序设计 ...

  10. Node.js模块封装及使用

    Node.js中也有一些功能的封装,类似C#的类库,封装成模块这样方便使用,安装之后用require()就能引入调用. 一.Node.js模块封装 1.创建一个名为censorify的文件夹 2.在c ...