您尚未登录。

#1 2017-10-31 10:55:09

驿窗
驿窗
所在地: 基础开源研究
注册时间: 2016-06-03
帖子: 927
个人网站

(已解决)rsync 恢复系统,无法完成grub安装

昨天升级后出了很多问题,以前用 rsync 做过备份,备份硬盘可以单独正常启动和使用,参考的是这个帖子:
https://bbs.archlinuxcn.org/viewtopic.php?id=4611
我自己加了 --exclude=var/cache/pacman/ --exclude=lost+found --exclude=var/log/journal

恢复的时候,用archiso引导电脑,操作如下面:
# mkdir new old
# mount /dev/sda2 old
# mount /dev/sda1 old/boot
# mount /dev/sdb3 new
# mount /dev/sdb1 new/boot
# rsync -avixHAXKh --exclude=iso/ --exclude=swapfile --exclude=var/cache/pacman/ --exclude=lost+found --exclude=var/log/journal/ old/ new/

下面这一步忘记写了,现在增加上来:
# nano -w new/etc/fstab(修改uuid)

# arch-chroot new
# grub-install --target=i386-pc /dev/sdb
上面的过程都没有问题,下面一步会报错:
# grub-mkconfig -o /boot/grub/grub.cfg
错误是 failed to connect to lvmetad. Falling back to devie scanning. 如下面的图片:

照相

这个错误导致我恢复到 sdb3的系统无法被 grub 识别到,引导菜单里没有sdb3系统选项。

reboot 后重新 arch-chroot ,再 grub-install/grub-mkconfig -o,报错依旧。

下面需要怎么操作才能救?


.

最近编辑记录 驿窗 (2017-11-01 20:05:19)


开源/Linux大众化,从驿窗开始~

离线

#2 2017-10-31 10:59:50

zplinux
会员
所在地: 江西省
注册时间: 2014-10-12
帖子: 187

Re: (已解决)rsync 恢复系统,无法完成grub安装

是不是需要 重新安装 grub 到 sdb ?


Archlinux + DWM,喜欢 K.I.S.S 理念!

离线

#3 2017-10-31 11:18:49

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,384
个人网站

Re: (已解决)rsync 恢复系统,无法完成grub安装

没关系的。

离线

#4 2017-10-31 13:24:01

驿窗
驿窗
所在地: 基础开源研究
注册时间: 2016-06-03
帖子: 927
个人网站

Re: (已解决)rsync 恢复系统,无法完成grub安装

zplinux 说:

是不是需要 重新安装 grub 到 sdb ?

安装grub到sdb应该没出问题,grub 已经可以 win7; 但备份的 archlinux on sda 也有问题,也没出现在引导菜单里


上面的图片,是报错后 reboot 重新安装 grub 到 sdb 的过程;reboot 之前,已经做过下面操作:
# mkdir new old
# mount /dev/sda2 old
# mount /dev/sda1 old/boot
# mount /dev/sdb3 new
# mount /dev/sdb1 new/boot
# rsync -avixHAXKh --exclude=iso/ --exclude=swapfile --exclude=var/cache/pacman/ --exclude=lost+found --exclude=var/log/journal/ old/ new/
# arch-chroot new
# grub-install --target=i386-pc /dev/sdb
# grub-mkconfig -o /boot/grub/grub.cfg
都是在最后一步( grub-mkconfig -o /boot/grub/grub.cfg)报错。
从过程看,安装 grub 到 sdb 这一步应该没有问题,因为安装操作(# grub-install --target=i386-pc /dev/sdb)没有报错,只是在生成引导菜单时报错;

最近编辑记录 驿窗 (2017-10-31 13:41:05)


开源/Linux大众化,从驿窗开始~

离线

#5 2017-10-31 13:34:21

驿窗
驿窗
所在地: 基础开源研究
注册时间: 2016-06-03
帖子: 927
个人网站

Re: (已解决)rsync 恢复系统,无法完成grub安装

依云 说:

没关系的。

没关系是指,与 grub 报错没有关系,需要找其它地方的问题?


开源/Linux大众化,从驿窗开始~

离线

#6 2017-10-31 14:39:02

驿窗
驿窗
所在地: 基础开源研究
注册时间: 2016-06-03
帖子: 927
个人网站

Re: (已解决)rsync 恢复系统,无法完成grub安装

不会需要重装吧?
那太...


开源/Linux大众化,从驿窗开始~

离线

#7 2017-10-31 18:38:41

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,384
个人网站

Re: (已解决)rsync 恢复系统,无法完成grub安装

piter 说:
依云 说:

没关系的。

没关系是指,与 grub 报错没有关系,需要找其它地方的问题?

这个报错应该不影响你的使用。

离线

#8 2017-10-31 22:32:55

驿窗
驿窗
所在地: 基础开源研究
注册时间: 2016-06-03
帖子: 927
个人网站

Re: (已解决)rsync 恢复系统,无法完成grub安装

明白了,我想想。


开源/Linux大众化,从驿窗开始~

离线

#9 2017-11-01 09:50:13

驿窗
驿窗
所在地: 基础开源研究
注册时间: 2016-06-03
帖子: 927
个人网站

Re: (已解决)rsync 恢复系统,无法完成grub安装

昨晚仔细回顾了一下以前用 rsync 备份时的细节,找到了一些差异:
1、昨天用 rsync 恢复时,目标分区没有做格式化,只是删除了相关目录;而以前备份时,目标分区都做过格式化操作;
2、昨天用 rsync 恢复前,已经把目标 /boot 分区挂载到目标 / 分区;而以前备份时,没有挂载,/ 分区和 /boot 分区是各自单独用 rsync 分别进行备份的;
3、昨天用 rsync 恢复时,加了很多 --exclude的参数;
4、昨天用 rsync 恢复时,rsync -avixHAXKh old new 命令的源目录和目标目录,都没有加 / ,即使用的是 old new ,没用 old/ new/;这一点昨天在这里描述问题时也没注意,写错了 sad
5、昨天修改 /etc/fstab (uuid) 时,并没有 arch-chroot;

今天,按照这些差异,做了重新恢复,操作如下 :
1、恢复之前,先执行 mkfs.ext4 ,格式化目标 / 分区和目标 /boot 分区;
2、恢复时,目标 / 分区和目标 /boot 分区 分别单独用 rsync 进行恢复,而不是挂载 /boot 分区后再一起恢复;
3、恢复时,去掉所有 --exclude相关参数,只使用 rsync -avixHAXKh old/ new/ ;
4、恢复时,使用 old/ new/ ,而不是 old new ;
5、修改 /etc/fstab (uuid) 时,先 arch-chroot 再修改;

按上面的操作,系统已经完全正常

谢谢百合仙子提示的与 grub 报错无关!我一直以为是 grub-mkconfig 报错导致的问题,所以一直没能解决问题,方向不对;

下面是成功后的图片,也证明了百合仙子说的,与 grub-mkconfig 报错无关:即使报了这个错,grub也能够正常生成引导菜单并成功引导系统;
grub


.

还有一点疑问的地方是,上面三个差异,哪一个会导致无法正常生成引导菜单的问题,有哪位来给帮助分析下;
我感觉和 old/ new/关系比较大一些,不知道对不对;




.


开源/Linux大众化,从驿窗开始~

离线

#10 2017-11-01 13:03:01

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,384
个人网站

Re: (已解决)rsync 恢复系统,无法完成grub安装

rsync 的源地址加不加 / 是不一样的:不加的话源地址目录会被同步到目标地址,加了就只同步里边的内容。

离线

#11 2017-11-01 16:58:59

驿窗
驿窗
所在地: 基础开源研究
注册时间: 2016-06-03
帖子: 927
个人网站

Re: (已解决)rsync 恢复系统,无法完成grub安装

依云 说:

rsync 的源地址加不加 / 是不一样的:不加的话源地址目录会被同步到目标地址,加了就只同步里边的内容。

果然如此~
找到原因的感觉真心不错~

不过这个 / 导致的目录与目录内容之间的关系,我需要再研究一下,不是很能理解差异;


开源/Linux大众化,从驿窗开始~

离线

页脚