将 Linux 备份到 Windows 文件系统以供以后恢复

将 Linux 备份到 Windows 文件系统以供以后恢复

我需要将 Linux 安装的文件备份/复制到外部驱动器,以便我可以将它们恢复到新的、更大的磁盘上。

用于恢复的目标磁盘是两倍大,并且将具有更大的分区,ext4并且linux-swap.对整个磁盘或其第一个分区进行映像并不是一个好的选择,因为两者都需要稍后重新分区,我想避免。

我正在备份到 exFAT 格式的驱动器,但将 ext4 Linux 安装复制到 exFAT 时存在一些问题

  • 可能会破坏文件系统中重要的硬链接和快速*符号链接ext4(会破坏Linux)

  • 不会保留文件所有权/权限和setuid位(会破坏 Linux)

  • 不会保留能力(会破坏Linux)

  • 也不会保留文件扩展属性(xattrs),因为我相信许多文件都有重要信息(我不关心 Unix ACL,因为我认为没有任何文件使用它们)

如果我将文件直接复制到 NTFS、FAT32、exFAT 等,大部分元数据都会被破坏。

我不关心压缩,因为原始磁盘比我的备份驱动器小,但是(GNU)tar似乎只保留权限/所有权(使用-p和 提取--same-owner)、链接和 xattrs,但是需要文件功能支持来备份现代 Linux 。

其他主要选项似乎是 CloneZilla Live 系统,cpio它似乎可以创建tar档案。

所以主要的选择是

  1. CloneZilla 或仅对分区进行成像
  2. tar本身,这可能会破坏东西
  3. cpio,这可能受到tar存档格式的限制?

* 83,000 个符号链接中的 80,000 个是快速符号链接,如果可能的话我想保持它们的快速性

答案1

根据 @cat 的评论,发布我的评论作为答案 -

您是否考虑过制作一个与旧安装大小相同的稀疏文件,将其格式化为 ext4 文件系统,并安装在环回上,然后复制到该文件?将解决所有权限丢失等问题。 exFAT 的文件大小限制是 16EiB,当然足够大了。

根据 @cat 给我的评论,显然足够大的单个文件不会成为问题......

相关内容