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

答え2

だからスペースが存在することがわかりましたが、gpartedには表示されません。

将来のユーザーのために追加のスペースを利用するために使用する一連のコマンドは次のとおりです。

~ $ parted
GNU Parted 3.2
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.

(parted) print devices
/dev/sda (128GB)
/dev/sdb (8097MB)

(parted) select /dev/sdb                                                
Using /dev/sdb

(parted) print                                                          
Model: hp v195b (scsi)
Disk /dev/sdb: 8097MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End     Size    Type     File system  Flags
 1      32.8kB  2967MB  2967MB  primary               boot, hidden
 2      2967MB  3077MB  110MB   primary  fat16

(parted) mkpart primary 3077 7500       

(parted) quit                                                            
Information: You may need to update /etc/fstab.

確認する:

~ $ 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
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
/dev/sdb3       6009312 14648437 8639126  4.1G 83 Linux

答え3

十分なスペースがありますが、問題を引き起こす可能性がある別のパーティションが必要です。 gpartを更新して、すべてのパーティションが大丈夫であることを確認してください。これは問題の一部ではありません。

関連情報