在同一台电脑上测试 Linux 驱动器的 tar 存档

在同一台电脑上测试 Linux 驱动器的 tar 存档

介绍

我的 oc 上有 kubuntu 20。我使用 Kbackup 以 tar 形式创建了 kubuntu(22 gb)的备份

我的 kde 驱动器 (sda2) 的文件映像

我想要的是

我希望通过在同一台电脑上创建一个空的 ext4 分区(sda5)来在同一台电脑上测试此备份

发生了什么 我成功创建了第二个ext4分区。在编辑 fstab 文件,调整正确的 UUID 并应用引导加载程序后,我的启动菜单根本没有显示双 kde。我甚至复制了在/根父级kde。此分区现在引导标志也。

以下是启动修复粘贴箱和其他信息:https://paste.ubuntu.com/p/Zbp74KWn3R/(请注意,分区信息识别出 sda2 具有引导功能,但无内核使用 sda5) 我已经将内核复制进去usr/src/dev/sda5

blkid 的输出

/dev/sda5: UUID="a8bc0529-436e-48eb-9100-b64d24bb493d" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="88989976-f24a-b145-822e-9582051b94e

fstab新的/sda5分区的文件:

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/sda2 during installation
UUID=a8bc0529-436e-48eb-9100-b64d24bb493d /               ext4    errors=remount-ro 0       1
# /boot/efi was on /dev/sda1 during installation
#UUID=D492-A6EC  /boot/efi       vfat    umask=0077      0       1
#UUID=D492-A6EC  /boot/efi       vfat    defaults      0       1
#UUID=D492-A6EC  /boot/efi       vfat    defaults      0       1
#UUID=D492-A6EC  /boot/efi       vfat    defaults      0       1
#UUID=D492-A6EC  /boot/efi       vfat    defaults      0       1
#UUID=D492-A6EC  /boot/efi       vfat    defaults      0       1
UUID=D492-A6EC  /boot/efi       vfat    defaults      0       1

请就这个问题指导我。

编辑

我从备份中排除了以下目录

--exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found" 

編輯2 我发现我也排除了“/boot”。目前我的/sda5 只有一个“efi”文件夹。

编辑3 复制/boot文件夹后,grub和paste-bin成功集成/sda5。

我选择了/sda5,哎呀!我被启动回/sda2。看起来复制的启动文件让我回到 sda2代替sda5 入口

请指导我如何重新生成 /sda5 的启动文件,以便我可以登录它在自己的系统上进行测试。

答案1

我终于做到了测试我的克隆系统在同一台计算机的分区中原始的。我创建了一个 linux 文件系统的 tar 备份,其中排除了--排除={“/dev/","/proc/","/sys/","/tmp/“,“/跑步/","/mnt/使用 kbackup 恢复“/media/*”、“/lost+found”、“/boot”

一定不要忘记包括因为它包含分区表,如果没有它,整个备份就毫无用处。 引导必须单独备份,因为它会将系统重定向到加载确切位置,即 /dev/sdaX,这是我从经验中学到的。如果您使用原始位置以外的其他位置,则可能必须单独生成启动 grub 文件克隆 Linux 文件系统

然后我创建了一个内部 ext4 分区来测试 tar,因为我没有其他笔记本电脑并且不打算测试我自己的系统。 我定期编辑 fstab 文件。创建交换文件很容易。

在我的系统上它被命名为/dev/sda5(试驾)。

然后我没有使用 livecd,而是使用了我自己的根系统,该系统旨在进行克隆

首先,我将测试驱动器安装在 /mnt/Test 上(例如)

sudo mount /dev/sda5 /mnt/Test

并将我的整个 Linux 文件系统解压到该文件夹测试

接下来,我创建了以下被排除在外的空目录tar 备份

sudo mkdir temp && sudo mkdir proc && sudo mkdir sys && sudo mkdir dev && sudo mkdir boot

然后我从我的复制了以下启动文件自带启动系统克隆系统作为

sudo cp -r /boot/vmlinuz-5.8.0-25-generic /mnt/Test/boot

sudo cp -r /boot/vmlinuz-5.8.0-41-generic /mnt/Test/boot

sudo cp -r /boot/vmlinuz /mnt/测试/boot

sudo cp -r /lib/modules/5.8.0-25-generic /mnt/Test/lib/modules/

sudo cp -r /lib/modules/5.8.0-41-generic /mnt/Test/lib/modules/

然后我听从了如何恢复 /boot 中已删除的文件?(vmlinuz 丢失,系统无法启动)

对于 /sys /proc /run /dev 中的 i;执行 sudo mount --bind "$i" "/mnt/Test$i";完成

chroot /mnt/测试

mkinitramfs -o /boot/initrd.img-5.8.0-25-通用 5.8.0-25-通用

mkinitramfs -o /boot/initrd.img-5.8.0-41-通用 5.8.0-41-通用

然后我更新了克隆系统和原始系统内部的 grub。sudo update-grub

如果缺少,请创建 mnt 目录

sudo mkdir -m 755 /mnt

由于很难区分克隆系统与原始系统的区别,为了确定您是否确实进入了克隆系统,请在原始系统的克隆系统的 $HOME 目录中创建一个文本文件,列出一些文本“(老大哥正在看着)”。

相关内容