您的位置:首页 > Web前端

以LVM安装的fedora重装windows后的修复引导过程

2015-04-27 22:51 507 查看
背景

步骤

Warning when installing in chroot



首先,吐槽一下标题的长度,接下来就是正文了(^_^)

背景

由于本人Win7系统已经卡到了不能忍受的地步,所以决定重装win8,但安完后发现引导项并没有我的fedora,用EasyBCD也无法找到fedora的引导。

在多方搜索后,发现我安装时使用了LVM逻辑卷管理方式(LVM是什么这里就不多说了,大家可以百度),并不像一般的分区那样
/boot
恰对应一个
/dev/sda?(?表示具体的分区号)
,而是所有空间一起对应一个
/dev/sda?
,而在其中,通过
/dev/mapper/
(mapper实际上是LVM卷组的逻辑名,这里应该是fedora的默认名称) 具体分配挂载位置。知道了这点,我们就可以用刻好的linux引导盘来手动修复grub了。

不会的同学可以参考Arch Linux安装手册,只用看挂载分区,和建立grub两部分就好。

步骤

准备一个linux引导盘,只要是linux系统都可以,我用的是刻有Ubuntu14.04的U盘。

重启,按F12(这个具体看个人电脑),选择Boot方式从usb设备启动

进入linux环境的命令行模式,或是图形界面的terminal终端。

fdisk -l 找到Linux所在的盘。输入命令后,会显示/dev/mapper/各LVM逻辑卷的信息,找到root,

挂在找到的root分区。

sudo mount /dev/mapper/root /mnt


挂载/dev,/proc,/sys,/run,/var。如果不挂载,你会发现你在chroot后的系统中,这些文件都为空。

sudo mount -o bind /dev /mnt/dev
sudo mount -o bind /proc /mnt/proc
sudo mount -o bind /var /mnt/var
sudo mount -o bind /sys /mnt/sys
sudo mount -o bind /run /mnt/run


chroot进入目标环境

chroot /mnt /bin/bash


建立grub的启动项

grub2-install --target=i386-pc --recheck /dev/sda
//默认的grub2-install /dev/sda好像也可以,但为了保险起见,还是写全点吧


这里可能会报错

bash-4.3# grub2-install --target=i386-pc --recheck /dev/sda
Installing for i386-pc platform.
/run/lvm/lvmetad.socket: connect failed: No such file or directory
WARNING: Failed to connect to lvmetad. Falling back to internal scanning.
/run/lvm/lvmetad.socket: connect failed: No such file or directory
WARNING: Failed to connect to lvmetad. Falling back to internal scanning.
/run/lvm/lvmetad.socket: connect failed: No such file or directory
WARNING: Failed to connect to lvmetad. Falling back to internal scanning.
Installation finished. No error reported.


我查了下资料,在https://wiki.archlinux.org/index.php/GRUB找到了解释

Warning when installing in chroot

When installing GRUB on a LVM system in a chroot environment (e.g. during system installation), you may receive warnings like /run/lvm/lvmetad.socket: connect failed: No such file or directory or WARNING: failed to connect to lvmetad: No such file or directory. Falling back to internal scanning. This is because /run is not available inside the chroot. These warnings will not prevent the system from booting, provided that everything has been done correctly, so you may continue with the installation.

所以,按上面的说法,我们不用去管这个警告,可以重启去检查结果了。如果顺利,这时就能看见熟悉的fedora的grub引导界面了。

虽然成功地解决了引导项的修复问题,但这也说明win8是无法直接找到LVM机制下的linux boot分区,从而引导的。所以,只有以grub方式引导才有可能双系统了。当然如果不用LVM卷管理,那就没这么多问题了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: