原文:http://www.aqcoder.com/blog/detail/id/5ab714b0-8dd2-11e5-b7ab-2a06cd74bd52/
作者:aqcoder

概述

这两天觉得 D 盘不够用了,就用分区助手扩张了下 D 容量,不知道什么原因,Fedora 引导失败了(我是双硬盘双系统,还好 win7 能用)。在 3 天间断的各种折腾下终于搞清楚了 grub2 的基本知识。下面做个记录,希望对和我有相同情况的同学有所帮助。

系统 & 硬盘

这里还是先介绍下我的系统分布,因为后面一些命令和硬盘及系统所在分区有关,命令根据自己的情况调整。
我的机器是双硬盘双系统,win7 在 ssd 上共一个分区, fedora 在机械硬盘上第二个分区,第一个分区为 /boot 引导分区。其他 D、E、F。

[aquarius@localhost-localdomain ~]$ ll /dev/ | grep sd
brw-rw----. 1 root     disk      8,   0 Nov 17 23:02 sda     // ssd
brw-rw----. 1 root     disk      8,   1 Nov 17 23:02 sda1
brw-rw----. 1 root     disk      8,  16 Nov 17 23:02 sdb
brw-rw----. 1 root     disk      8,  17 Nov 17 23:02 sdb1    // boot 分区
brw-rw----. 1 root     disk      8,  18 Nov 17 23:02 sdb2    // linux 分区
brw-rw----. 1 root     disk      8,  19 Nov 17 23:02 sdb3
brw-rw----. 1 root     disk      8,  21 Nov 17 23:02 sdb5    // D
brw-rw----. 1 root     disk      8,  22 Nov 17 23:02 sdb6    // E
brw-rw----. 1 root     disk      8,  23 Nov 17 23:02 sdb7    // F

手动引导

首先介绍一种手动引导方法,此方法可以引导进入 Linux,但是进入后不做任何操作的话在重启还是会引导错误。

error: unkown file system.
Entering rescue mode...
grub rescue>

以上就是我的引导错误界面(我就不截图了,因为已经修复好了。。。),错误信息为未知的文件系统。我们可以输入命令 set 来看下:

error: unkown file system.
Entering rescue mode...
grub rescue>set
root=(hd0,msdos2)
prefix=(hd0,msdos2)/grub2

发现 (hd0,msdos2) 这个分区是我的 linux 分区(LVM文件系统),而非我的 boot 分区(ext4 文件系统),所以它才会识别不出文件系统。

知道原因就好办了:

error: unkown file system.
Entering rescue mode...
grub rescue>set
root=(hd0,msdos2)
prefix=(hd0,msdos2)/grub2
grub rescue>
grub rescue>set root=(hd0,msdos1)   // 输入这两行命令
grub rescue>set prefix=(hd0,msdos1)/grub2

输入以上两行命令指定 root 和 prefix。可能有写童鞋不知道自己的 boot 目录在哪。可以用 ls 命令一个一个的尝试。

grub rescue>ls  // 直接 ls 列出所有磁盘及分区
(hd0) (hd0,msdos1) (hd0,msdos2) (hd0,msdos5) (hd0,msdos6) (hd0,msdos7) (hd1) (hd1,msdos1)
grub rescue>ls (hd0, msdos5) // 这个是 windows 的 NTFS 分区,会报错
unkown file system.
grub rescue>ls (hd0,msdos1) // 这个就对了
ext4 file system.
grub rescue>ls (hd0,msdos1)/ // 注意后面多了正斜杠,就是查看目录下的内容
config-4.1.6-100.fc21.x86_64
config-4.1.7-200.fc22.x86_64
config-4.2.5-300.fc23.x86_64
efi
elf-memtest86+-5.01
extlinux
grub2
initramfs-0-rescue-f2bce17deae6475d9e341aba0fd1d20f.img
initramfs-4.1.6-100.fc21.x86_64.img
initramfs-4.1.7-200.fc22.x86_64.img
initramfs-4.2.5-300.fc23.x86_64.img
initramfs-fedup.img
initrd-plymouth.img
lost+found
memtest86+-5.01
System.map-4.1.6-100.fc21.x86_64
System.map-4.1.7-200.fc22.x86_64
System.map-4.2.5-300.fc23.x86_64
vmlinuz-0-rescue-f2bce17deae6475d9e341aba0fd1d20f
vmlinuz-4.1.6-100.fc21.x86_64
vmlinuz-4.1.7-200.fc22.x86_64
vmlinuz-4.2.5-300.fc23.x86_64
vmlinuz-fedup

经过几次尝试,你就可以找到你的 boot 分区了.然后在载入 normal 模块,启动 normal 模块,就进入引导了.

grub rescue>insmod normal
grub rescue>normal

这里有的童鞋可能会报 /boot/grub2/i386-pc/normal.mod not found 错误.那是因为你的系统中没有这个模块.那就改用 LiveCD 修复吧.不过这里可以指定内核引导,我这里就不做介绍了.

引导界面:

Linve CD

如果你不能通过上述方法进入系统,还有个必杀技 – Live CD。当然,你需要一个引导 USB。

至于启动 U 盘整么制作,这里就不介绍了,推荐个工具 LinuxLive USB Creator:http://www.linuxliveusb.com/。

进入 Live CD 后,选中 live 模式,不是安装的硬盘哦~ 除非你想重装系统。。。

打开终端,执行下列命令(不要把前面的提示符和注释粘进去哦,这个不是小白应该都知道吧):

[live cd ~]$ mount /dev/sdb2 /mnt/           // 挂载 linux 分区
[live cd ~]$ mount /dev/sdb1 /mnt/boot       // 挂载 boot 分区
[live cd ~]$ chroot /mnt/boot                // 注意一定要有这步

修复引导项

注意:此处接的是手动 grub2 recuse 引导或者 live CD 引导,进入系统后的终端操作。

这部分其都是 grub2 的基本概念和用法,想了解全的童鞋可以查 grub2 手册 http://fedoraproject.org/wiki/GRUB_2

执行下列命令:

[live cd ~]$ grub2-install /dev/sdb
[live cd ~]$ grub2-mkconfig -o /boot/grub2/grub.cfg

第一条命令是写入 MBR,所以这步操作一定要谨慎,你必须知道你在干什么,硬盘要选对,我是用机械硬盘引导的,所以我选了 /dev/sdb

只有一颗硬盘且双系统的童鞋要注意了:你确定你是想用 grub2 做为引导。如果你用 winload 作为引导那上面所诉都是错,请马上关闭网页,我在胡说八道。。。

第二套命令是自动生成引导配置,如果你查阅过一些老的资料修改 /boot/grub/menu.lst 这是 grub 的配置, grub2 已经放弃了这种配置,grub2 的配置都有脚本生成。这条命令会读取 /etc/default/grub /etc/grub.d/* 等配置文件及系统环境,自动生成配置,详见手册。

注意:如果你的系统用的是 EFI 配置目录可能在 /boot/efi/EFI/fedora/grub.cfg

重启

重启。。。如果顺利的话,应该就大功告成了。

本文的一些操作是一些基本的引导操作,请确保你知道你在干什么,重要的话要多说几遍,所以本文所述都是错的,错的,错的。。。

Fedora23 引导修复相关推荐

  1. 引导修复_怎么使用bcdrepair引导修复系统【详细步骤】

    bcdrepair 引导修复工具 是用于修复磁盘分区mbr或者uefi情况出故障的工具,它功能强大,使用起来也是功效快速,那么bcdrepair怎么用呢?下面情况具体操作步骤. 1.到u启动官网下载u ...

  2. 计算机安装双系统后系统引导修复的方法

    知友提出问题:电脑双系统怎么用,我装的是win8和win7.win8安装在C盘上,可以正常使用,我把win7安装在一个新分区的盘符上G盘,为什么开机没有win7系统选择项启动,只有一个win8和GHO ...

  3. win7xp双系统引导修复工具

    1.win7&xp双系统引导修复工具 2.win7&xp双系统启动显示菜单修改工具 转载于:https://blog.51cto.com/angf2/652366

  4. linux 更改 引导分区,Linux系统引导过程及引导修复

    0.Linux系统引导过程: 1.通电 2.bios初始化 3.磁盘引导阶段 4.grub2文件引导程序 5.内核加载 6.系统初始化镜像 7.系统启动级别 8.超级用户密码 以下内容是针对各过程会出 ...

  5. bios uefi legacy_安装win10用uefi还是legacy?win10 uefi引导修复教程

    超过10万人正在关注 赶快来关注吧,这里有你想找的热点资讯,这里有你想要的各种资料,还有海量的资源,还在等什么.快来关注,大佬带你开车. UEFI和Legacy是两种不同的主板引导项,legacy就是 ...

  6. linux删除win分区工具,Win 10 和 Linux 双系统,从硬盘删除Linux分区,Win 10引导修复...

    由于安装双系统后,Linux 用的比较少.因此,从Win 10 磁盘管理中删除了linux 占用的磁盘空间,重启后无法进入win 10 ,出现如下情况: 有人提出,此时需要重装系统,并不用如此麻烦,通 ...

  7. deepin efi 启动u盘_deepin启动引导修复教程

    deepin系统很不错使用的用户也很多但是在启动引导的时候还是有不少用户遇到了问题,今天就给你们带来了deepin启动引导修复教程,快来一起看看吧. deepin启动引导怎么修复: 1.首先准备Dee ...

  8. ubuntu18与win10双系统引导修复

    安装ubuntu系统后一般来说ubuntu会接管win10的开机引导,一般都是先装win10然后再装ubuntu,这样引导界面就会变成ubuntu的引导界面,但是由于win10更新频率太快,经常更新可 ...

  9. bootmgr快速修复win7_「科普」UEFI+GPT、Legacy+MBR引导模式介绍 引导修复

    此贴主要介绍3个内容: 1,磁盘分区表格式:MBR.GPT 2,BIOS引导模式:Legacy BIOS.UEFI BIOS 3,引导修复方法:NTBOOTAutofix工具修复.BOOTICE工具修 ...

最新文章

  1. 从前后端分离到GraphQL,携程如何用Node实现?\n
  2. Java SSH 集成框架开发中的错误解决
  3. IDEA 真牛逼,900行 又臭又长 的类重构,几分钟搞定
  4. 人们常说的微型计算机简称为 机,(精华版)国家开放大学电大专科《计算机文化基础》网络课单项选择题题库及答案...
  5. 一个容易被忽视的css选择器
  6. iOS 使点击事件穿透透明的UIView
  7. STM32学习——TIM基本定时器
  8. Android 系统(230)---OTA 软件包工具
  9. 一点一点学习Ubuntu
  10. Android 数字格式化
  11. 什么是程序中的数字指纹
  12. 原生js三种选项卡效果(滑动)
  13. RXTX for java在arm上的使用
  14. Mineros 远程登录,外网登录,解决无法在家控制机器的问题
  15. 夸克服务器过载或暂停维修,服务器过载或CGI脚本出错
  16. 微软将要求供应商提供带薪育儿假;倪光南谈中国软件业机遇,称已出现由中方主导的开源社区...
  17. java获取生僻字_生僻字与16进制的转换
  18. Jmeter在win10上字体界面小永久调大方法
  19. session_unset和session_distory
  20. requests库请求获取不到数据怎么办?不妨试试看这种妙法

热门文章

  1. 研究生英语期末复习(Unit2)
  2. 北大青鸟代码---asp.net初学者宝典
  3. 初探Spring(一)
  4. 【物联网】11个物联网消息传递的神话
  5. pdc是什么部门_PDC绩效管理
  6. 常见的请求头的用户代理User-Agent汇总
  7. 全球及中国航空钛锻造行业发展前景趋势分析及投资风险研究报告2021年版
  8. 极限编程(Extreme Programming)—重构
  9. 古人真N※→姓氏图腾(1)
  10. Android程序设计:实现手机和电脑文件的共享互传