我正在寻找一种工具来将整个 ext4 分区备份到映像中。我尝试了最新版本的 mondo,但不起作用。有什么好的替代方案吗?
答案1
看一眼档案归档
可以在最新的系统救援光盘
据报道,它与 partimage 的作者是同一个人。
它有很多改进,包括: - ext4 支持 - ntfs 支持 - 文件级而不是块级 - 使用多个核心进行压缩
基本上,在保存/压缩分区后,它可以恢复为不同大小的分区和不同格式的分区(因此您也可以使用它来转换分区的格式),并且如果部分备份损坏,它不会破坏整个映像(就像在块级备份上一样)。
唯一的缺点(如果你认为这是一个缺点的话)是,它目前只是一个命令行应用程序(但它最终应该会得到一个 GUI)。
命令行条目非常简单。
要保存分区:
fsarchiver savefs /mnt/backup/gentoo-rootfs.fsa /dev/sda1
其中 '/mnt/backup/gentoo-rootfs.fsa' 是保存的路径,'/dev/sda1' 是克隆的分区。
要恢复分区:
fsarchiver restfs /mnt/backup/gentoo-rootfs.fsa id=0,dest=/dev/sda1
只需反转上述选项即可。据我了解(在文档中),id=0 似乎是必要的,因为一个图像可以包含多个分区。有关更多使用说明(例如保存多个分区),请查看快速开始指导。
边注:
事实证明,我实际上是在克隆新更新的 Windows 工厂安装克隆时从 Linux Mint LiveCD 上编写此内容(作为娱乐)。我之前在网上搜索过更好的分区克隆替代方案,因为我想最终丢弃这张我使用多年的 Ghose '03 光盘。完成恢复后,我会留言告诉您情况如何。
更新:
刚刚完成备份,没有任何错误。这花了一点时间,因为开始时我不知道使它成为多线程的选项。压缩设置为默认值(相当于 gzip -6),磁盘上的分区为 4.48GB(高度修剪/更新的 XP + Chrome),输出文件重 2.3GB。这里没什么可抱怨的。
答案2
现代版本e2图像(1.42.7或更高版本)允许从命令行有效地克隆/备份 Ext2/3/4 分区。
e2image -ar /dev/sdaX ~/sdaX.img
-a
确保复制文件数据(而不仅仅是文件系统结构)。-r
确保数据以原始图像格式存储(就像您使用 获得的格式一样dd
),而不是 QEMU 的 QCOW2 格式。
生成的图像在磁盘空间使用方面是高效的,因为:
- e2image 不会复制现有文件未使用的块
- 当输出到图像文件时,它会将其存储为稀疏文件,这样大块的零就不会占用磁盘上的任何空间。
复制稀疏文件时仍需小心,以确保复制时不会写出零。
避免这种情况的一种方法是将映像文件存储在 squashfs 映像中。这是一个只读的可挂载文件系统,它会压缩其中的数据,但仍允许其中的映像文件可寻址和挂载。
答案3
尝试克隆兹拉。它在 liveCD 环境中运行,并支持任何类型的分区(包括 ext4)和各种存储(NFS、SMB、SSH、本地文件系统)。
我经常使用它来对我们实验室的工作站进行成像。
答案4
我喜欢 dd
dd if=/dev/sda1(或者只是整个磁盘的 sda)of=/home/user/backup.img
和
dd if=/home/user/backup.img of=/dev/sda1
把它拿回来