Cru*_*se5 5 linux filesystems backup
如何将正在运行的 Linux 文件系统 (Debian 10) 克隆到文件.img?我想将其闪存到另一个 SSD,并希望新系统能够以完全相同的方式运行。Clonezilla 不适合我。新机器的硬件将完全相同。
您可以使用 dd 或 ddrescue 甚至 cat 将整个块设备复制为映像(假设目标是 /dev/sdb)
$ dd if=/dev/sda of=/mnt/master.img
(...)
$ dd if=/mnt/master.img of=/dev/sdb
Run Code Online (Sandbox Code Playgroud)
它应该可以工作,因为您将拥有整个分区表引导扇区和文件系统本身 1 对 1 复制到新介质上。它还将克隆整个分区表和主驱动器的结构。
该映像不是 iso,您不应该这样想。简而言之,您的驱动器和随后的映像将包含整个驱动器结构:
|<-- sda ------------------------------------------------------------->|
| |<-- sda1 --->|<-- sda2 --->|<-- sdaN --->|
+--+--+--+--+--+--+--+--+--+-+=============+=============+...==========+
| MBR, part.table, boot.sect | partition 1 | partition 2 | partition n |
+--+--+--+--+--+--+--+--+--+-+=============+=============+...==========+
Run Code Online (Sandbox Code Playgroud)
你的新驱动器也会有它。
除了 root 权限之外,您不需要任何花哨的东西来复制主设备并写入目标块设备。
您还可以制作系统分区的映像(假设它是/dev/sda1),在目标驱动器上创建一个新的分区表,确保您的系统分区至少与映像一样大,然后将sda1.img复制到/dev /sdb1 并使其可使用您选择的启动管理器启动。但这需要更多工作,尤其是在像您这样的情况下。
-- 假设您只需要第一个分区,如评论中所述,您还可以复制 /dev/sda 的第一部分,其中包含分区表/引导加载程序 + 第一个分区 (/dev/sda1) 并将其复制到您的目的地。
$ dd if=/dev/sda of=/mnt/master1.img bs=1M count=7600
(...)
$ dd if=/mnt/master1.img of=/dev/sdb
Run Code Online (Sandbox Code Playgroud)
|<-- sda -----------------------------------
| |<-- sda1 --->|
+--+--+--+--+--+--+--+--+--+-+=============+
| MBR, part.table, boot.sect | partition 1 |
+--+--+--+--+--+--+--+--+--+-+=============+
Run Code Online (Sandbox Code Playgroud)
分区表会有些错误,因为它包含不存在的分区,并且将来可能需要修复,但它会起作用。它并不优雅,但可以工作。