克隆并重新安装 SD 卡

克隆并重新安装 SD 卡

我有一张微型 SD 卡,其中包含以下分区:

Disk /dev/sdb: 29,7 GiB, 31914983424 bytes, 62333952 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xa6202af7

Device     Boot  Start      End  Sectors Size Id Type
/dev/sdb1         8192   122879   114688  56M  c W95 FAT32 (LBA)
/dev/sdb2       122880 10608639 10485760   5G 83 Linux

我想克隆它,但只是克隆这两个分区,而不是整个 29,7GB。所以我使用了这个命令:

dd bs=1M count=$((5431623169 / (1024*1024) + 1)) if=/dev/sdb of=myimage.img
truncate -s 5431623169

这应该创建一个具有两个分区的映像。现在我想挂载 myimage.img 的第二个分区来修改它。因此我正在运行命令:

sudo mount -t ext4 -o loop,offset=62914560 myimage.img mount/

然而这会产生以下输出:

mount: wrong fs type, bad option, bad superblock on /dev/loop1,
       missing codepage or helper program, or other error

       In some cases useful info is found in syslog - try
       dmesg | tail or so.

相反,sdb1 安装得很好。我确信它是 ext4,因为 blkid 返回了它。

该微型 SD 卡是 Raspberry Pi Linux 系统的完整固件。如果我将 myimage.img 闪存到新的 SD 卡并运行它,系统似乎可以正常工作,这意味着它可以安装它。

知道为什么我无法使用上面所示的 mount 命令手动安装它吗?

答案1

问题是我没有复制最后一个扇区的最后 512 个字节。这样最后一个分区就不完整了。通过再复制一个扇区,一切都正确安装。

相关内容