web-dev-qa-db-ja.com

どのフラッシュドライブの形状が依存しますか?好みに応じて変更できますか?

USBフラッシュドライブを持っています。 fdisk(Linux)によって生成された初期情報は次のとおりです。

# fdisk -l /dev/sdc

Disk /dev/sdc: 8053 MB, 8053063680 bytes
16 heads, 60 sectors/track, 16384 cylinders, total 15728640 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
Disk identifier: 0xd297c0f1

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1            2048    15728639     7863296    b  W95 FAT32

次に、さまざまなツール(badblockspartedfdiskgparteddisksなど)で遊んでみました。ドライブの初期状態を復元します(同じパーティションテーブル、同じパーティション番号/タイプ/サイズ/場所、同じファイルシステムおよび...ジオメトリ。しかし、fdiskを再度実行すると、異なるジオメトリが出力されました。

# fdisk -l /dev/sdc

Disk /dev/sdc: 8053 MB, 8053063680 bytes
232 heads, 46 sectors/track, 1473 cylinders, total 15728640 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
Disk identifier: 0x7a249df5

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1            2048    15728639     7863296    c  W95 FAT32 (LBA)

実際、私がしたことは次のとおりです。

  • badblocksを使用してテストを実行しました:badblocks -w -s -o /tmp/output /dev/sdc
  • fdiskpartedで新しいパーティションテーブルを作成しました
  • fdiskpartedでプライマリパーティションを作成しました
  • パーティションをFAT32およびexFAT(mkfs.vfat -F32 /dev/sdc1mkfs.exfat /dev/sdc1
  • パーティションシステムタイプIDを変更しました

確かに、フラッシュドライブにはヘッダーやシリンダーなどがなく、セクターの総数が同じであることが重要であることを知っています。しかしとにかく、フラッシュドライブに特定のジオメトリを設定したいのですが、どうすればよいですか?使用するツールやコマンドオプションに依存しますか?

1
gumkins

ジオメトリ(シリンダー、ヘッド、セクター)は非推奨であり、フラッシュドライブはもちろん、最新のハードディスクでも関係ありません。最近のオペレーティングシステムではほとんど使用されていません。事実上、すべてが線形アドレス(論理ブロックアドレス指定[LBA]、またはその他のインターフェイス固有の方法)を使用します。パフォーマンスには影響しません。

これらのCHS値は、MBRパーティションテーブルにCHSアドレスが含まれているために作成されます。現在のバージョンのfdisk(util-linux 2.27.1)は、デフォルトではこの紛らわしい情報さえ表示しません。

1
Metabolix

たとえば、を使用してジオメトリをオーバーライドできます。 fdisk -H 32 -S 32 /dev/sda。これにより、すべてのシリンダーの長さが512kになります。 msdosパーティションスキームのパーティションはシリンダー境界で始まるため、これはほとんどのSSDですべてのパーティションが適切に配置されるようにするためのやや気の利いた方法です(ブートローダー用のスペースを確保するために1つのトラックでオフセットされる最初のパーティションを除く)。

ただし、GPTを使用して、偽のジオメトリを忘れた方がよいでしょう。

0
András Korn