答案1
一种方法是创建一个空白操作系统并复制您需要的所有文件夹和文件。
有很多这方面的教程。
检查如何创建 Linux 系统备份rsync
另一种方法也是克隆整个驱动器、分区上的数据或操作系统的最佳方法,我自己更喜欢使用,在dd
我看来,这是设备/分区克隆/备份的最佳方法。
dd
将一点一点地克隆一切。
dd
在开始试验和尝试不同的工具之前,如果可以的话,我会使用 将该设备完整备份/克隆到另一个设备,并检查备份/克隆是否有效。
如果您的整个设备是加密的举luks
个例子,您可以进行整个克隆并刷新到您的新设备,这也可以!
如果您使用已安装的fuse/sshfs,您也可以直接备份/克隆到此网络文件夹。
您可以列出所有块设备lsblk
例子:
- 如果您的驱动器是 /dev/sda 并且您想在目录或存储上存储/备份/克隆
dd if=/dev/sda of=/home/user/osbkp.img bs=1M status=progress
你不需要名称.img有可能os123.bkp也
- 将正在运行的系统实时克隆到目标驱动器,而无需创建映像。
源是/dev/sda,目标是/dev/sdb
dd if=/dev/sda of=/dev/sdb bs=1M status=progress
有时,您创建新的备份/克隆到新驱动器,但无法从此设备启动,而是使用 dd 重试(没有任何方法 100% 有效)
- 将映像克隆到新驱动器,其中目标是 /dev/sdb
dd if=/home/user/osbkp.img of=/dev/sdb bs=1M status=progress
- 克隆给定分区
dd if=/dev/sda1 of=/home/user/part1.img bs=1M status=progress
解释:
if=输入/源
of=输出/目标
bs=复制的块大小 有不同的块大小可以使用,我更喜欢 1MB,您可以使用此设置加快或减慢进程,您必须自己找到最佳选项
状态=进度 实时状态
- 如果您使用 fat* 作为存储,您可以拆分文件,也请查看该帖子:
您必须牢记以下几点:
0。dd 将克隆该设备的所有内容。
你的驱动器是/dev/sda
,你克隆这个
有5个分区
/dev/sda1
/dev/sda2
/dev/sda3
/dev/sda4
/dev/sda5
您将从 /dev/sda 获得一个文件,其中包含所有这些分区、mbr、gpt 等。
1.您可以克隆到每个驱动器/存储
- 您可以从硬盘克隆到 USB,或从 USB 克隆到硬盘等,然后从新设备运行克隆的操作系统
2.您运行的目标设备必须具有相同的尺寸或必须更大
- 您无法将较大的设备克隆到较小的驱动器或仅克隆分区的已用空间
- 例子: 您要克隆的分区是 8 GB,但该分区上的操作系统只有 1 GB,因此您有 7 GB 的可用空间,您想要克隆以运行操作系统的目标是 4 GB,这是不可能的!您将使用 dd 将整个设备克隆到新驱动器,但无法调整其大小。
如果您克隆到更大的设备,您可以使用剩余空间创建一个新分区,并在新设备/操作系统上安装/使用它。
如果您尝试将剩余空间合并到给定分区,请务必小心!
3.最好的方法是使用实时系统或其他 Linux 系统,而不是插入驱动器并从目标克隆到源或从目标克隆到存储
4.每个设备都有其唯一的 uuid 和标签名称,如果您将驱动器 a 克隆到 b 并且您在一台电脑上有两个驱动器,并且您尝试使用标签名称或 uuid 启动其中一个,请检查 grub 或您的启动管理器会出现问题或者您启动了错误的操作系统。
您可以使用blkid
和其他命令来检查这一点。
您可以更改它并生成新的 uuid、标签等,但要小心
5.您不需要格式化克隆映像将运行的驱动器,dd 将销毁/删除所有内容,并从给定的支持操作系统创建新的 mbr、gpt、格式、文件系统等
使用 dd 创建基本克隆并执行您的操作,但后来我的意思是最好仅克隆/复制已更改的文件。
在 GNU/LINUX 中一切都是文件。