使用 rsync 备份我的 Arch Linux 发行版似乎删除了我的 EUFI 可启动驱动器。我该如何修复此问题

使用 rsync 备份我的 Arch Linux 发行版似乎删除了我的 EUFI 可启动驱动器。我该如何修复此问题

我在 Dell XPS 13 9310 笔记本电脑上运行 2021 年 3 月版 Arch Linux。我想列出 Arch Linux 内核,但不幸的是我无法启动系统来获取它。Linux 发行版安装在加密的nvme0n1分区中。nvme0n1p3

昨晚我使用rsync来自 Arch Linux Wiki 的以下命令备份了我的系统;

 rsync -aAXHv --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} / /run/menu/username/backupname

不幸的是,直到运行命令后我才意识到,我还需要将交换文件包含在命令中--exclude。看来备份确实发生了;但是,有一些错误。备份完成后,我立即注意到我丢失了 wifi 连接,无法重新建立它。我决定重新启动计算机,希望重新启动可以解决 wifi 问题。但是,当我尝试重新启动时,系统根本无法启动。然后我启动到 BIOS 发现它不再识别任何 EUFI 启动设备。不知何故,虽然我不知道是怎么回事,但命令rsync删除了我的启动设备。

从那时起,我就从拇指驱动器上的 Arch Linux iso 启动,这样我就可以使用随附的 zsh shell 通过命令查看我安装的设备lsblk。我创建了两个目录/mnt/systemmnt/usb因此我可以nvme0n1p3在它们上面安装和备份硬盘。看来备份硬盘确实收到了完整备份。我尝试安装分区/dev/nvme0n1p3以查看其内容并查看是否有任何内容被删除;但是,我收到错误/mnt/system: unknown filesystem type 'cryptoLUKS',这表明无法识别加密硬盘,即使我之前使用命令解锁了它crypto setup open --type looks /dev/nvme0n1p3 lvm

我想我的问题是 1.) 运行如何会rsync这样禁用我的计算机?2.) 有没有办法修复它以及如何修复?3.) 或者我需要手动重新安装所有内容?关于问题 2,我想知道我是否可以使用备份来修复此问题,即使它有错误,并且作为新手,rsync我如何使用它来恢复所有内容?

答案1

使用该命令行,rsync只会写入/run/menu/username/backupname,这应该不会引起除“文件系统已满”错误之外的问题,因此一定是发生了其他事情才导致了问题。

(再说一次,通常/runtmpfs- 实际上是 RAM 磁盘。因此,如果/run/menu/username/backupname它不是备份媒体上单独文件系统的挂载点,那么在最坏的情况下,这可能会导致严重的“内存已满”情况,这可能会导致某些进程被终止。但即使这样也不应该产生重启后仍然存在的任何影响。)

也许某些原因导致了 UEFI NVRAM 启动变量的丢失——怎么efibootmgr -v说?

/mnt/system: unknown filesystem type 'cryptoLUKS'

这看起来就像您试图直接安装加密驱动器,但这行不通。解锁命令应该创建另一个设备以解密形式访问它,如果您还有 LVM,它们将充当另一个间接层。

crypto setup open --type looks /dev/nvme0n1p3 lvm

这看起来像是被严重自动更正的 版本cryptsetup open --type luks /dev/nvme0n1p3 lvm。如果您确实这样做了,它应该/dev/mapper/lvm为您创建一个,以便透明地访问 的加密内容nvme0n1p3

然后,如果假设只有一个文件系统,则 mount 命令应该是这样的:

mount /dev/mapper/lvm /mnt/system

但是如果加密分区内有 LVM,那么正如命令参数所cryptsetup建议的那样,下一步应该是这样的:

vgscan
pvdisplay /dev/mapper/lvm
vgchange -ay
lvs
mount /dev/mapper/<VG name>-<LV name> /mnt/system

如果命令vgscanpvdisplayvgchange导致lvs“找不到命令”错误,请尝试在它们前面加上lvm,即使用lvm vgscan而不是简单的vgscan;在 live-CD 环境中,LVM 工具有时会打包成单个二进制文件以实现紧凑性。

理想情况下,命令成功完成udev后可能会自动激活 LVM 卷组,因此和步骤将自动为您完成。但这些命令绝不会造成任何损害,如果自动激活出现问题,命令还应生成错误消息,以说明问题所在。和命令仅用于显示信息:第一个命令用于确定 PV 是否被成功检测到,第二个命令用于查看是否有任何 LV 被成功激活并找出它们的 VG 和 LV 名称。cryptsetupvgscanvgchange -aypvdisplaylvs

相关内容