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待機場所。簡単に言えば、この表には、各パーティションが始まる場所と各パーティションのサイズがリストされています。