Ubuntu MATE pi - 创建备份映像

Ubuntu MATE pi - 创建备份映像

我想将当前状态备份为图像,但遇到了一个问题:我的 microSD 似乎包含两个分区:pi_root 和 pi_boot。如何使用 dd 创建具有两个分区的 microSD 卡的精确图像?

答案1

您可以使用dd

首先,你必须找到存储卡的设备名称,因为这个可能取决于使用的读卡器。运行sudo lsblk输出将类似于以下内容:

$ sudo lsblk
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
mmcblk0     179:0    0  29.3G  0 disk 
├─mmcblk0p1 179:1    0    56M  0 part /boot
└─mmcblk0p2 179:2    0  29.2G  0 part /

在这种情况下,mmcblk0是唯一的设备,因为它是在 Pi 上完成的。mmcblk0通常是与存储卡读卡器一起使用的名称,但 USB 读卡器也可能显示为sdb等等。

要对整个卡进行完整备份,请发出命令sudo dd if=/dev/mmcblk0 of=filename.img。如果卡的设备不是 mmcblk0,请按照输出的输出进行替换lsblk

这会将内存卡中的所有数据读入文件filename.img。通常不应从 Pi 执行此操作 - 因为读取实时文件系统可能会导致结果不一致。关闭 Pi,然后将卡放入另一台计算机。不要安装它。

要将备份写回卡中,请反转输入和输出,即sudo if=filename.img of=/dev/mmcblk0

请务必小心,在执行 dd 命令之前请阅读三遍。例如,如果您混淆了输入和输出,则可能会毁掉所有数据!

例如,如果您要压缩图像以便存储,请运行bzip2 filename.img。这将显著减小文件大小,尤其是在您有大量可用空间的情况下。要解压缩图像以便恢复,请运行bunzip2 filename.img.gz

答案2

如果你坚持使用,dd你可以按照下面描述的方式进行操作。提前提醒一下,还有更简单的工具,比如克隆与使用相比,它不太容易出错,而且性能可能更高dd

首先,确保您知道 SD 卡的驱动器号(我假设它在这里,/dev/sdb1并且/dev/sdb2包含您的分区)。您可以简单地提取此驱动器的完整映像,而不是寻址单个分区,而是使用驱动器本身(即/dev/sdb)。要获取映像中该驱动器的完整内容,请执行以下操作:

sudo dd if=/dev/sdb of=~/myimage.img

逆转它:

sudo dd if=~/myimage.img of=/dev/sdb

您可能会问如何获得正确的驱动器号,您可以通过使用来lsblk获得类似如下的输出:

$ lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
fd0      2:0    1     4K  0 disk 
sda      8:0    0 119,2G  0 disk 
├─sda2   8:2    0    16G  0 part [SWAP]
└─sda3   8:3    0 103,2G  0 part /
sdb      8:16   0   1,8T  0 disk 
├─sdb1   8:17   0     1G  0 part /media/<username>/pi_boot
└─sdb2   8:18   0    15G  0 part /media/<username>/pi_root

相关内容