Fedora23 引导修复

原创 2015年11月18日 16:59:40

原文: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添加GUI桌面快捷方式

下载的ECLIPSE直接解压可以用,没有GUI快捷方式,启动不方便。参照 smartsvn带的脚本,稍微改动一下添加成功...

Fedora 23 系统安装

[1] Insert the Fedora installation disk and start Computer. Then, Following screen is displayed, Pus...

如何在fedora23上安装和运行MySQL server (MySQL 已经被MariaDB取代)

如何在fedora23上安装和运行MySQL server (MySQL 已经被MariaDB取代)

fedora23 安装ffmpeg

试图在线安装,但是提示没有。[zhangz@zwfedora23 ~]$ sudo yum install ffmpeg Yum command has been deprecated, redire...
  • k7arm
  • k7arm
  • 2017年05月14日 10:28
  • 396

opencv 3.1.0 configuration on fedora 23

From:http://www.linuxdiyf.com/linux/12610.html 1.安装编译环境 $ sudo dnf install gcc gcc-c++ ncurses-deve...

fedora23 搭建时间服务器ntp

ntp时间服务器非常常用,这里使用的fedora23,实际上和centos7基本无差别,把dnf改为yum就可以,当然centos和redhat系列都可以按照这样来配置时间服务器。 我们按常见的装包...

Fedora23安装fcitx拼音输入法

http://blog.throneshuai.info/2015/12/15/fedora-fcitx-install/ 12月份fedora23正式上线,据说23是最好用的fe...
  • ztguang
  • ztguang
  • 2016年02月01日 00:00
  • 471

Fedora 23 Wine TM 2013 Preview2安装过程/TXPlatform导致无法登录问题最新解决方案

刚从ubuntu转到fedora,本来很稳定的WineQQ又没法使用了,前几天参考了一下百度贴吧的帖子(http://tieba.baidu.com/p/2796471332)做了一个完整的解决;后来...
  • vhyme
  • vhyme
  • 2015年11月15日 12:59
  • 616

改变fedora23 konsole的ls输出颜色

不知道什么时候改个颜色要这么费劲了,记得以前在调色板上选一下就可以了,现如今到了23怎么变成这样了。还是说我的方法有问题,谁知道的话麻烦告诉我一下,这里只好先改bashrc中的语句了,总感觉这个方法有...
  • k7arm
  • k7arm
  • 2016年05月17日 23:31
  • 529

fedora23 安裝opencv3.1.0

我是参考 这篇文档来进行安装的,在安装前面的那些依赖库都很顺利,没有出问题,让我很是担惊受怕,几乎很少这么顺利。终于等来了错误,发生在安装ffmpeg上。直接在fedora23上使用命令安装ffmpe...
  • k7arm
  • k7arm
  • 2016年10月09日 12:32
  • 288
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Fedora23 引导修复
举报原因:
原因补充:

(最多只允许输入30个字)