dd はディスク領域全体を使用しません。

dd はディスク領域全体を使用しません。

ddユーティリティを使用してLive USBを作成しようとしています。私が最初にしたことは、次のコマンドを使用してUSBを消去することです。

~ $ dd if=/dev/zero of=/dev/sdb bs=512 count=1

コマンドによると、8GB USBの総メモリは7.6GBです。

~ $ fdisk -l
...
Disk /dev/sdb: 7.6 GiB, 8097103872 bytes, 15814656 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

問題は、ISOをUSBに書き込むために「dd」操作を実行した後、パーティションがディスク容量全体を占有しないことです。

このコマンドを実行すると、後続の出力が生成されます。

~ $ sudo dd if=kali-linux-2016.2-amd64.iso of=/dev/sdb bs=1M

2934+1 records in
2934+1 records out
3076767744 bytes (3.1 GB, 2.9 GiB) copied, 395.581 s, 7.8 MB/s

その後、fdiskコマンドを再実行してこの出力を生成しました。

Disk /dev/sdb: 7.6 GiB, 8097103872 bytes, 15814656 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: 0x77e6cfe3

Device     Boot   Start     End Sectors  Size Id Type
/dev/sdb1  *         64 5794271 5794208  2.8G 17 Hidden HPFS/NTFS
/dev/sdb2       5794272 6009311  215040  105M  1 FAT12

一番上の行には7.6GiBのメモリが表示されますが、パーティションはそれぞれ2.8GBと105Mしか占有しません。 gpartedでパーティションを分析しても、これら2つのパーティションのみが表示され、USBスティックに追加のスペースは表示されません。

ここで何か抜けましたか?

修正する
デバイスに余分なスペースがないという私の仮定は間違っていました。ディスクの残りのスペースを利用するために使用したコマンドで、次の質問に答えました。

ベストアンサー1

dd ユーティリティは、そのブロックの内容に関係なく、ブロックを読み書きします。パーティションより低いレベルで実行されます。この場合、イメージが作成されており、イメージには固定サイズのパーティションが2つしか含まれていません。ブロックサイズは約2.9GBにすぎないため、大きなディスクはこれらのブロックにのみ書き込まれます。

分割テーブルの仕組みについて良い記事があります。http://wiki.osdev.org/Partition_Table待機場所。簡単に言えば、この表には、各パーティションが始まる場所と各パーティションのサイズがリストされています。

おすすめ記事