8GB USBフラッシュドライブは公称512Bですか、それとも10MBですか?

8GB USBフラッシュドライブは公称512Bですか、それとも10MBですか?

Arch Linux ISO USBドライブを作成して使用しようとしています。方向Arch Linux Wikiから。実行後:

$ sudo dd count=1 bs=512 if=/dev/zero of=/dev/sde && sync

parted512バイトのセクタは1つだけ認識されます。

$ sudo parted /dev/sde -s print
Error: /dev/sde: unrecognised disk label
Model:  (file)
Disk /dev/sde: 512B
Sector size (logical/physical): 512B/512B
Partition Table: unknown
Disk Flags:

新しいパーティションを作成できません。

$ sudo parted /dev/sde -s mklabel msdos
$ sudo parted /dev/sde -s mkpart primary fat32 0% 100%
Error: Can't have the end before the start! (start sector=1 length=0)
Error: Unable to satisfy all constraints on the partition.

countbsフラグを省略すると、ddディスク全体ではなく10 MBだけが記録されます。

$ sudo dd if=/dev/zero of=/dev/sde && sync
dd: writing to ‘/dev/sde’: No space left on device
20481+0 records in
20480+0 records out
10485760 bytes (10 MB) copied, 0.0177212 s, 592 MB/s
$ sudo parted /dev/sde -s print
Error: /dev/sde: unrecognised disk label
Model:  (file)
Disk /dev/sde: 10.5MB
Sector size (logical/physical): 512B/512B
Partition Table: unknown
Disk Flags:

答え1

(Gillesが暗​​示したように)USBデバイスで作業していません。

最初の手がかりはModel出力です。

$ sudo parted /dev/sde -s print
Error: /dev/sde: unrecognised disk label
Model:  (file)                                     <= file!
...
  • あなたの命令:

    sudo dd count=1 bs=512 if=/dev/zero of=/dev/sde && sync
    

/dev/sde512バイトのゼロで埋められたファイルを生成します。

  • 次のようにディスク全体に書き込もうとしたとき:

    sudo dd if=/dev/zero of=/dev/sde && sync
    

/dev/sdeパーティションに余分なスペースがないまでファイルに書き込みます/dev

    dd: writing to ‘/dev/sde’: No space left on device

/dev、(おそらく)実際にはRAMディスクだからです。 (ウデブ)、そのパーティションに設定された制限をすべて超えました...

これにより、dd正しいディスクで作業する極度に重要。その名前の別のディスクがある場合は/dev/sde削除されます。完全に。あなたがリンクしたArch Wikiに記載されているように:

警告する:これにより、/ dev / sdのすべてのデータが回復不能に削除されます。X


USBデバイスを接続したら、次の例を確認してください。

lsblk

たとえば、詳しくは次をご覧ください。男性または-h:

lsblk -o NAME,STATE,RM,HOTPLUG,TYPE,TRAN,SIZE,PHY-SEC,LOG-SEC,FSTYPE,MODEL,VENDOR,LABEL,PARTLABEL

そして:デバイスはありませんいいえ同じことを得るdev/xxx入るたびに。ランダムです。

その他の注意事項:

これを行うとき:

sudo parted /dev/sde -s mklabel msdos

msdosパーティションを分割したテーブルを作成します。文書 /dev/sde。これは素晴らしい作品です。ただし、次の作業に進むと:

sudo parted /dev/sde -s mkpart primary fat32 0% 100%

ファイルにデフォルトのパーティションを作成しようとすると、次のエラーが発生します。

Error: Can't have the end before the start! (start sector=1 length=0)

これは、パーティションテーブルがあるセクタ0からパーティションの起動を拒否するためです。MSDOS、住んでいる。だからテストするスタートセクター 1 またはオフセット 512. しかし、ファイルは 512 バイトにすぎないため終わり対応するセクタも512にあり、次の情報を得ることができる。「始まる前に終わる」

それにもかかわらず、FAT32パーティションの最小サイズは65,527クラスタ、つまり約32MBです。

答え2

私は非常に似た問題を解決しました。

rm /dev/sdb

USBドライブ(/ dev / sdbに接続)を接続します。

その後、ドライブ全体の新しいパーティションテーブルを作成できます。

関連情報