知识屋:更实用的电脑技术知识网站
所在位置:首页 > 操作系统 > linux

Fedora使用LiveCD或USB修复GRUB2引导

发布时间:2014-09-05 15:08:07作者:知识屋

Fedora使用LiveCD或USB修复GRUB2引导
 
用 LiveCD 或 USB 启动之后,首先应该明确的是你的 Fedora 装在哪个分区,现在的硬盘都应该是 SATA 的吧,那么就对应 /dev/sda#,#是个数字,1~4表示主分区,5开始是逻辑分区。如果你在可伶的用着 IDE 硬盘,那么就对应/dev/hda#。
  www.zhishiwu.com  
打开你的磁盘实用工具,或者叫 Disk unity,找到 Fedora 安装所在分区,我的在 sda10,所以下面就拿这个说明了。
 
1
su
2
mount-t ext4 -o rw/dev/sda10/media
 
把 Fedora 的安装分区挂载到当前的 LiveCD 文件系统下,当然如果你比较偷懒的话,比如我:),直接在文件管理器里面双击一下那个分区,然后就会在/media/_FEDORA_*** 下挂载了。  www.zhishiwu.com  
 
原来安装在硬盘上的 Fedora只是把文件目录挂上来了,一点硬件资源也木有,啥事也干不了,只能用来 copy/paste 一下数据,现在把当前系统的资源给他:
 
1
su
2
mount-t proc none/media/proc
3
mount-o bind/dev/media/dev
4
mount-o bind/sys/media/sys
5
mount-t devpts devpts/media/dev/pts
特别看清楚上面的指令,千万别把 /dev 写成了 /dev/,如果这样就会出现:/dev is not a block device 了。
 
挂完后用 chroot 命令切换到原来的 Fedora 中去:
 
 
1
su
2
chroot/media
3
grub2-install/dev/sda
当然上述指令是讲 grub2 安装到硬盘 MBR 上恢复引导,如果你想装在当前分区中让其他软件来引导就应该是:
 
grub2-install /dev/sda10
 
OK,做下扫尾工作:
 
1
exit
2
umount/media/proc
3
umount/media/dev/pts
4
umount/media/sys
5
umount/media/dev
6
umount/media
7
reboot
 
当然,上述修复的 grub 是原来的 grub,其实grub2很强大,能自动识别 N 多系统,只需重新生成配置 
文件即可:
 
1
su
2
grub2-mkconfig  -o /boot/grub2/grub.cfg
3
reboot
 
Congratulations!
 
今天在帮别人修复的时候,又遇到一些问题,写下来分享:
 
首先,这台电脑的分区并不是我上面写的简单的一个 / 分区,用的 LVM 和一个 boot 分区 sda8,那么在挂载的时候就要分别挂载了。在 LVM 里有一个 root 的逻辑卷组和一个 swap 卷组,位于 /dev/mapper/vg_fedora_root,和 /dev/mapper/vg_fedora_swap(这个的取名是自己定义的,如果采用系统自己默认的分区安装,不是手动的话,名字不同)
 
1
su
2
mount-o rw /dev/mapper/vg_fedora_root/media
3
mount-o rw/dev/sda8/media/boot
然后挂载上述写的资源。
 
其次,在执行grub2-install 的时候,遇到错误:
 
1
[root@localhost]# grub2-install /dev/sda
2
/sbin/grub2-setup: warn: Your embedding area is unusually small.  core.img won't fitinit..
3
/sbin/grub2-setup: warn: Embedding is not possible.  GRUB can only be installedinthis setup by using blocklists.  However, blocklists are UNRELIABLE and their use is discouraged..
4
/sbin/grub2-setup: error: will not proceed with blocklists.
网上查的是 MBR 和 sda1 之间的那块 embedding area 太小了,应该是默认的 63,如果是 32 的话会出现这个问题,但是我执行 fdisk  -lu,显示这电脑已经是 63 了,不明原因。 
google了一把,没找到解决方案还是安装不上去,后来我在wiki上面,看到了这个用法,强制安装。
 
1
grub2-install--force /dev/sda
竟然可以装上去,并且成功启动~
 
(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜