
私は一度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
今は問題ありません。しかし、もうアクティブな32GB SDカードがなく、64GB SDカードしか残っていません。このカードを空の32GB SDカードに再転送したいです。
この場合、次のものが利用できないとしますdd
。dcfldd
どうですか?dd
または使用できますかdcfldd
?乗り継ぎが到着したらどうなりますか?32GBの境界ターゲットSDカードにあります(データ整合性の問題)?
追加の説明:
答え1
sdaが64GBのソースSDカードで、sdbが32GBのターゲットSDカードであるとします。以下を使用して、必要な数のセクタのみをコピーするようにddを制限できます。
dd if=/dev/sda of=/dev/sdb bs=512 count=61315072
答え2
私はハードドライブを使ってこれを何度もしました。dd
小さなハードドライブに大きなハードドライブを挿入するだけです。 32GBに達すると失敗しますが大丈夫です。
それでも疑わしい場合は、周囲の古いUSBスティック/ハードドライブでこれを実行してください。
答え3
任意のツールを使用して、次のコピーを作成できますcat
。dd
メリットはなく、cat
デメリットしかありません。) ターゲットディスクの端に達すると停止します。この簡単なアプローチの欠点は、関心のあるセクションのコピーが成功したかどうかを言うのが難しいことです。
コピーしたいアイテムを正常にコピーした場合、コピーコマンドは成功ステータスを返し、そうでない場合はエラーが発生するようにするには、適切な量のデータをコピーするコマンドを使用します。ファイルの最初のNバイトをコピーするには、を使用しますhead -c
。コピーするバイト数は、セクタ数にセクタサイズを掛けた値です(fdisk
リストでは512バイト)。セクタはゼロから始まる(セクタ0にはパーティションテーブルを含む)、コピーするセクタの総数は、最大の「終了」値に1を加えた値です。
head -c $((61315071*512+512)) /dev/sdSOURCE >/dev/sdDESTINTATION
sdSOURCE
をsdDESTINATION
適切なデバイス名に変更します。上書きするデバイスが上書きするデバイスであることを確認するのに役立つ他のコマンドをfdisk -l /dev/sdDESTINATION
実行grep sdDESTINATION /proc/partitions
します。file -s /dev/sdDESTINATION