CSDN GitHub
Grub引导项修复详解 AderXCoding/system/tools/grub/repair_grub


本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可, 转载请注明出处

1  Grub丢失Ubuntu引导项修复


GRUB是大多数Linux系统默认使用的引导程序, 可以通过启动菜单的方式选择进入不同的操作系统(如果有的话).

当 “/boot/grub/grub.conf” 配置文件丢失, 或者关键配置出现错误, 或者MBR记录中的引导程序遭到破坏时, Linux主机启动后可能只会出现“grub>”的提示符,无法完成进一步的系统启动过程.

error : unknow filesystemgrub rescue>
  • 1
  • 2

的字样, 系统就是进不去.

这表示你的grub2的配置文件损坏, Grub找不到Ubuntu系统的引导项. 从而进入修复模式了(grub rescue), 也称救援模式.

在救援模式下只有很少的命令可以用: set, ls, insmod, root, prefix

命令 描述
set 查看环境变量,这里可以查看启动路径和分区
ls 查看设备
insmod 加载模块
root 指定用于启动系统的分区,在救援模式下设置grub启动分区
prefix 设定grub启动路径

具体修复步骤如下:

1.1   查看分区

grub rescue> ls列出磁盘分区(hd0) (hd0,msdos9) (hd0,msdos8) (hd0,msdos7) (hd0,msdos6) (hd0,msdos5) (hd0,msdos2) (hd0,msdos1)
  • 1
  • 2
  • 3
  • 4
  • 5

注 : 上面是我的分区设备, 每个人可能不一样, 但原理都是一样的.

1.2   寻找ubuntu所在分区

就是寻找你的Linux系统是装在以上哪个分区里

grub rescue> ls (hd0,msdos1)/
  • 1
  • 若出现unknown filesystem字样,则尝试下一个

  • 若出现的是你的ubuntu主文件夹下的文件夹和文件的名字,那就是的要找的分区了。

1.3   安装MBR


1.3.1    简易安装


grub> root (hd0,msdos8)指定Ubuntu系统根分区所在第一块硬盘中的位置, 具体的分区数字根据你的实际情况来决定.grub> setup (hd0)#安装GRUB到硬盘Ubuntu所在磁盘的FBR区中#退出GRUB安装模式。grub> cd#重新引导系统reboot
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

1.3.2    安装MBR的详细设置


  • 参见

Linux系统中修复GRUB引导故障手动引导进入操作系统

  • 修改启动分区

假如你找到的启动分区是 (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/grubgrub rescue>insmod normal                     //启动normal启动grub rescue>normal
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

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

  • 进入命令行启动ubuntu

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

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

grub >set root=hd0,msdos8grub >set prefix=(hd0,msdos8)/boot/grubgrub >linux /vmlinuz-xxx-xxx root=/dev/sda8 //里边的xxxx可以按Tab键,如果有acpi问题,在最后加一句acpi=offgrub >initrd /initrd.img-xxx-xxxgrub >boot
  • 1
  • 2
  • 3
  • 4
  • 5

这样就可以进入了

1.4    进入ubuntu修复grub


其实前面的操作, 已经恢复了MBR了, 我们进入Ubuntu后, 可以更新下GRUB引导项, 在终端里运行

sudo update-grubsudo grub-install /dev/sda
  • 1
  • 2

2  使用LiveCD通过急救模式恢复或重新安装GRUB


前一种方法的前提是Grub引导依旧可以使用, 只是丢失了Ubuntu的引导项, 而如果我们的Grub都已经损毁或者丢失, 则需要使用光盘镜像进入一个可以使用或者修复的Linux系统来完成GRUB的重新安装.

把系统光盘放入光驱, 重启 Linux 系统. 系统启动时按”F2”键, 在”boot:” 提示符下输入 “linuxrescue” 后”回车”, 进入”急救模式”引导光盘中的Linux系统.

之后依次按回车键接收默认的语言、键盘格式,提示是否配置网卡是一般选择“NO”,然后系统会自动查找硬盘中的Linux分区并尝试将其挂载到”/mnt/sysimage”目录(选择”Continue”确认并继续).

接下来需要特别注意 : 当出现是否初始化磁盘的警告窗口时,一定要选择”NO”, 以免对硬盘数据造成进一步损坏. 最后选择”OK”确认后将进入到带”sh-x.x#”提示符的Bash Shell环境。

注意, 不进入恢复模式, 也可以选择镜像中的”使用Ubuntu”选项, 也会进入光盘中的Linux, 但是不会尝试挂载磁盘, 这个时候我们可以选择手动挂载.

  • 如果MBR扇区引导程序没有被损坏, 确认待修复的Linux系统分区的挂载情况, 并重修 grub.conf文件.

  • 如果MBR扇区引导程序被损坏,即使重建grub.conf配置文件后仍然无法启动系统。这时可以在急救模式的shell环境中使用grub-install重新安装grub

下面我们着重讲讲第二种情况, 第一种情况下如果不会修改grub.conf文件, 可以使用第二种情况的方法处理

选择Ubuntu安装磁盘, 如果不确定具体在哪个磁盘, 可以用命令查看一下

sudo fdisk -l
  • 1

挂载Ubuntu系统安装磁盘(我的是在第0磁盘,故为sda0)

sudo mount /dev/sda0 /mnt
  • 1

开始恢复grub2系统引导

sudo grub-install --root-directory=/mnt/dev/sda
  • 1

执行命令之后, 如果没有报错, 则恢复成功, 重启即可.

恢复之后是之前的系统引导界面,如果新安装的系统没有在界面上显示,那么可以进入Ubuntu系统,进行grub/grub2更新

打开终端,输入

sudo update-grub2
  • 1

grub2请使用

sudo update-grub2
  • 1

本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可

Grub引导项修复详解相关推荐

  1. grub引导项修复详解_grub2修复引导 · LINCHUAN的小站

    [TOC] 前言 之前安装Ubuntu出问题的时候,都会出现grub source问题,一直也没太在意,因为毕竟还不是主要OS.只是这次装的东西有点多了,配置环境都更新了一遍,再重新配一次比较麻烦,结 ...

  2. grub引导项修复详解_重新安装win7后,修复Grub启动项

    重新安装win7后,修复Grub启动项 发布时间:2010-09-14 22:14:00来源:红联作者:null925 [i=s] 本帖最后由 null925 于 2010-9-14 22:18 编辑 ...

  3. grub引导项修复详解_win10 + ubuntu 18.04 双系统崩溃后 grub 引导项修复

    问题 我使用的是 win10 + ubuntu 双系统.但是有一次再重新划分硬盘的分区后,重新开机出现: error : unknow filesystem grub rescue > 原因 重 ...

  4. grub引导项修复详解_Ubuntu下修复grub引导

    很多时候,特别是在linux调整分区后,开机重启时会出现 error : unknow filesystem grub rescue> 的字样,系统就是进不去.这表示你的grub2的配置文件坏了 ...

  5. grub引导项修复详解_修复grub2双系统引导及顺序

    转: Ubuntu 10.04 LiveCD 修复 grub2 双系统引导 2010-05-29 - 星宇浪客 ( 阅读 : 3473) 今天就用 Ubuntu 10.04 的 LiveCD 的来修复 ...

  6. 一次grub引导项修复记录

    1.状况说明 给U盘上装了个Ubuntu 20.04.5 LTS,结果把硬盘上的GRUB引导项给搞坏了.不插U盘的话,开机进入grub shell界面,进入不了硬盘上的系统. 2.解决方法 2.1.在 ...

  7. 格式化linux grub,linux grub 引导启动过程详解

    机器加电启动后,BIOS开始检测系统参数,如内存的大小,日期和时间,磁盘 设备以及这些磁盘设备用来引导的顺序,通常情况下,BIOS都是被配置成首先检查 软驱或者光驱(或两者都检查),然后再尝试从硬盘引 ...

  8. 【已解决】grub引导项修复:Minimal BASH-like line editing is supported.

    目录 1 问题背景 2 问题探索 3 问题解决 4 告别Bug 1 问题背景 环境: Win10 Ubuntu20.04 现象:双系统电脑向移动硬盘安装Ubuntu系统后,重启黑屏并显示Minimal ...

  9. grub 引导启动过程详解

    机器加电启动后,BIOS开始检测系统参数,如内存的大小.日期和时间.磁盘设备以及这些磁盘设备用来引导的顺序.通常情况下,BIOS都是被配置成首先检查软驱或者光驱(或两者都检查),然后再尝试从硬盘引导. ...

最新文章

  1. Jmeter(六)关联之XPath提取器
  2. 网管菜鸟第一步:两年后必须跳槽『博客之星访谈』
  3. TensorFlow5-监督式机器学习基础知识
  4. Tomcat软连接访问配置(symbol link)
  5. ionic ios查看大图报错 the file to show is not valid image,or could not be loaded
  6. Python学习(三十七)—— 模板语言之自定义filter和中间件
  7. 【辨异】inverse, reverse, converse
  8. 2020-06-28
  9. IEC61850——开山篇
  10. 先验概率与后验概率的区别(老迷惑了)
  11. IDear 创建web项目
  12. 微信公众号聊天底部菜单动画
  13. C语言——测试电脑大小端
  14. 使用jmeter进行api接口压力测试
  15. fortran数组下标、行号、continue
  16. vmware 和 centos7 软件安装包 网盘链接(永久有效)
  17. CentOS8搭建FTP服务器
  18. 【Pyecharts】Python数据可视化:英雄联盟2020赛季数据全方位解读~
  19. 茅山后裔吧 (转载,有好多不错的道理)
  20. 使用MyBatis时出现java.io.IOException: Could not find resource com/ee/mybatis/mapper/Usermapper.xml 类似的错误

热门文章

  1. 作业一 统计软件简介与数据操作
  2. 腾讯云-视频直播(android集成)
  3. [原创] HBuildX,微信小程序模拟器报错(如若已在管理后台更新域名配置,请刷新项目配置后重新编译项目)
  4. 散列表--双散列、再散列与可扩散列
  5. python zip 函数
  6. uni-app的发展和应用
  7. 云南计算机专升本经验分享
  8. bootstrap 垂直居中 布局_Bootstrap 4 栅格系统垂直布局
  9. 大规模MIMO的信道互易性,信道信息反馈
  10. 关于睡眠检测自定义VIEW