将安装的系统打包到 tar.gz 文件中

将安装的系统打包到 tar.gz 文件中

我安装了 arch linux,分区方案如下:

/dev/mapper/lvm-root -> /
/dev/mapper/lvm-home -> /home
/dev/mapper/lvm-opt  -> /opt
/dev/mapper/lvm-pkg  -> /var/cache/pacman/pkg

这样,我将启动到 archlinux live CD 并执行以下操作:

mount /dev/mapper/lvm-root /mnt
tar -czvf arch-root.tar.gz /mnt
umount /mnt

mount /dev/mapper/lvm-home /mnt
tar -czvf arch-home.tar.gz /mnt
umount /mnt

mount /dev/mapper/lvm-opt /mnt
tar -czvf arch-opt.tar.gz /mnt
umount /mnt

mount /dev/mapper/lvm-pkg /mnt
tar -czvf arch-pkg.tar.gz /mnt
umount /mnt

然后,我将备份这些软件包,使用新的分区方案(可能不是 lvm)清理磁盘,在磁盘上的第一个分区上安装 windows,并将这些软件包解压到 windows 分区后的分区中。对于启动,我将使用grub-installarchlinux CD。

我的问题是,这会起作用吗?

答案1

这应该可行,但有一些警告。一方面,要注意不同的 FS UUID;现代发行版经常通过 UUID 列出挂载/etc/fstab,这将无法在创建新的 FS 和解压后继续存在(尽管它可能会dd直接从一个块设备转移到另一个块设备)。另一方面,您需要重新调整 GRUB 才能启动,确保分别为 GRUB 和内核提供正确的选项set rootroot=

此外,您发布的文字命令行将包含tar.gz文件中的路径,其中包括前缀/mnt,这可能不是您想要的。为了避免这种情况,tar -czvf <filename> /mnt请执行而不是cd /mnt; tar -czvf .。 (否则,你会发现自己解压它们并将所有内容都放在/mnt新卷中。)

答案2

是的;这正是备份和恢复系统的方式。

相关内容