我想知道是否有一种简单的方法可以将文件从 Linux(Ubuntu,ext4)和 Windows(ntfs)分区备份到外部硬盘(FAT32)。我主要使用 Linux 分区,并尝试使用 rsnapshot,但我总是收到大量有关复制符号链接的错误。我想这是正常的,因为 FAT32 不支持符号链接。
是否有其他方法可以像 rsnapshot 那样逐步备份所有这些文件,同时保留权限、符号链接等?
答案1
在 fat 分区上创建大文件并将它们挂载为文件系统。然后它们可以被格式化为看起来像本机文件系统,并且所有符号链接/等都会被保留
答案2
由于FAT32
不支持符号链接、权限、 s 和其他高级文件ACL
功能ext4
,NTFS
你不能只复制系统文件从 Linux 或 Windows 系统分区到一个FAT32
分区。
无论如何,您可以创建存档包使用能够保留这些功能的应用程序,并将这些包保存到您的FAT32分割。
例如,在 Ubuntu Linux 上,您可以使用tar
它来创建备份,方式类似于以下(我想在 Windows 上也可以做类似的事情):
# tar czvf /path/to/fat32/backup.tar.gz /
不过,你可能会遇到问题,因为FAT32
文件系统无法保存大于 4 GB 的文件,并且经常发生系统备份需要比这更大的情况。
作为此问题的一种解决方法,您可以使用与此类似的命令来分裂档案可以分块保存在 FAT32 分区上(详情请参阅此处):
# tar czvf - / | split --bytes=4000MB - backup.tar.gz.
还有其他工具,例如dar
,让您创建备份档案并原生支持在 4GB 上自动分割。
4GB 的限制确实很烦人,但如果你使用一个足够现代的系统exFAT
可以避免格式化分区。exFAT
就好像FAT32
,但可以保存大于 4GB 的文件,任何比Windows Vista或Mac OS X 10.6更新的系统都可以在其上进行读写。
要在 Ubuntu 中使用它,您只需安装软件包exfat-utils
,exfat-fuse
它应该在 Universe 存储库中。
答案3
对于 Linux 备份,请参考 @gerlos 的回答。tar
是备份 ext 文件系统的最佳实践。
对于 Windows,最好重新启动到另一个已安装的 Windows 或 Windows PE。目前,备份 NTFS 卷的最佳方法是使用 WIM。Windows 有一个内置工具,部署映像服务和管理工具 Dism.exe
可以处理 wim。记住你永远无法备份正在运行的 Windows. 在备用 Windows 系统(或 Windows PE)中,运行此命令(不区分大小写)
Dism.exe /Capture-Image /CaptureDir:D:/名称:First/ImageFile:E:\capture.wim Dism.exe /Split-Image /ImageFile:E:\capture.wim /SWMFile:F:\split.wim /FileSize:4000
请注意,D:是要备份的卷,E:是临时位置,必须支持超过 4GB 的文件,F: 是 FAT32 卷。
如果您要将其备份到 exFAT 或 NTFS 位置(推荐),则无需拆分映像。
要恢复备份,请再次转到备用系统并运行
Dism.exe /Apply-Image /ImageFile:F:split.swm /SWMFile:F:\split*.swm /ApplyDir:D: