Dd

使用 DD 僅複製一半(部分)可移動設備

  • April 22, 2022

我有一個具有這種結構(或非常接近)的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

我通過(實際上)sda(從另一台電腦,所以設備在哪裡sdb)轉移到了(我選錯了)64GB SD卡:dd``dcfldd

# dcfldd if=/dev/sda of=/dev/sdb bs=1M

所以現在,我的新 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

好吧,暫時沒問題,但是現在我沒有源 32 GB SD 卡了,只剩下 64 GB SD 卡,我想再次將它轉移到一些空的 32 GB SD 卡。

在這種情況下,我假設我不能使用dddcfldd

我可以做什麼?我可以使用ddordcfldd嗎?當傳輸到達目標 SD 卡上的32 GB 邊界時會發生什麼(數據完整性問題)?

進一步說明

  • 複製 SD 卡的任何其他方法都可以,但我有一個問題:這種情況是Raspberry Pi 2的一些 SD 卡引導驅動器,並且通過複製partimagegparted不起作用(Raspberry 無法啟動)。只有dd似乎沒有缺陷的複製。
  • 類似的問題,但我認為不一樣。
  • dcfldd工具的語法和行為與dd. 它只是提供更多資訊(進度……等)。這是手冊頁

假設 sda 是您的 64GB 源 SD 卡,而 sdb 是您的 32GB 目標 SD 卡。您可以限制 dd 僅複製所需扇區的數量:

dd if=/dev/sda of=/dev/sdb bs=512 count=61315072

我已經多次用硬碟做到這一點:你只是dd把大的放在小的上。當它達到 32 GB 時它會失敗,但這很好。

如果您仍然有疑問,我建議您嘗試在您身邊的舊 U 盤/硬碟上進行操作。

引用自:https://unix.stackexchange.com/questions/317814