我有一个具有这种结构(或非常接近)的32GB SD 卡:
luis@Fresoncio:~$ sudo fdisk -l
Disk /dev/mmcblk0: 29.2 GiB, 31393316864 bytes, 61315072 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: 0xec4e4f57
Device Boot Start End Sectors Size Id Type
/dev/mmcblk0p1 1 125000 125000 61M c W95 FAT32 (LBA)
/dev/mmcblk0p2 125001 33292287 33167287 15.8G 83 Linux
/dev/mmcblk0p3 33292288 61315071 28022784 13.4G 83 Linux
Run Code Online (Sandbox Code Playgroud)
我将(从另一台计算机,因此设备所在的位置sda和sdb)传输到(我选择了错误的)64GB SD 卡通过dd(ddcfld事实上):
# ddcfld if=/dev/sda of=/dev/sdb bs=1M
Run Code Online (Sandbox Code Playgroud)
所以现在,我的新 64GB SD 卡是:
luis@Fresoncio:~$ sudo fdisk -l
Disk /dev/mmcblk0: 59.5 GiB, 63864569856 bytes, 124735488 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: 0xec4e4f57
Device Boot Start End Sectors Size Id Type
/dev/mmcblk0p1 1 125000 125000 61M c W95 FAT32 (LBA)
/dev/mmcblk0p2 125001 33292287 33167287 15.8G 83 Linux
/dev/mmcblk0p3 33292288 61315071 28022784 13.4G 83 Linux
Run Code Online (Sandbox Code Playgroud)
嗯,暂时没问题,但是现在我没有源 32 GB SD 卡了,只剩下 64 GB SD 卡了,我想再次将它转移到一些空的 32 GB SD 卡上。
在这种情况下,我假设我不能使用dd或ddcfld
我可以做什么?我可以使用dd或ddcfld吗?当传输到达目标 SD 卡上的32 GB 边界时会发生什么(数据完整性问题)?
进一步说明:
小智 15
假设 sda 是您的 64GB 源 SD 卡,sdb 是您的 32GB 目标 SD 卡。您可以将 dd 限制为仅复制所需扇区的数量:
dd if=/dev/sda of=/dev/sdb bs=512 count=61315072
Run Code Online (Sandbox Code Playgroud)