web-dev-qa-db-ja.com

GPT-ディスクドライブまたはパーティションテーブルのプロパティ?

私はいつもGPTがパーティションテーブルをディスクに書き込む方法であり、好きなように自由にそれを行うことができると思っていました。しかし、私が電話したとき

fdisk -l

すべてのパーティションが削除された外付けドライブ(USBポート経由で接続)の場合、警告が表示されました

WARNING: GPT (GUID Partition Table) detected on '/dev/sdb'! The util fdisk doesn't support GPT. Use GNU Parted.

Disk /dev/sdb: 500.1 GB, 500074283008 bytes
255 heads, 63 sectors/track, 60797 cylinders, total 976707584 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: 0x00000000

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1   976707583   488353791+  ee  GPT

ご覧のとおり、System = GPTが表示されます。私は考えました:OK、パーティションで遊んでいたときかもしれませんが、GPTパーティションを/dev/sdbから完全に削除しませんでした。そこで、fdiskを使用して新しいMBRパーティションを作成しました(fdiskによると「Linuxタイプでサイズ465.7のパーティション1 GiBが設定されています」))、fdisk -lと呼ばれます。取得しました

WARNING: GPT (GUID Partition Table) detected on '/dev/sdb'! The util fdisk doesn't support GPT. Use GNU Parted.

Disk /dev/sdb: 500.1 GB, 500074283008 bytes
60 heads, 62 sectors/track, 262555 cylinders, total 976707584 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: 0x00000000

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048   976707583   488352768   83  Linux

そして、これは私が理解していないことです。 fdiskは古いスタイルの非GPTパーティションを作成しましたが、それでもドライブはGPTタイプであると見なします。

どういう意味ですか?これは、GPTがディスクハードウェアの一部のプロパティでもあることを意味しますか?

1
John Smith

このコンテキストでは、 マスターブートレコード(MBR)GUIDパーティションテーブル(GPT) は、2つの異なるタイプのパーティションテーブル-パーティション情報を保持するデータ構造-ディスクに保存できます。 (「MBR」は、BIOSモードのブートローダーまたはディスクの最初のセクターを参照する場合にも使用できますが、これらの意味は質問とは関係ありません。)質問の多くは、MBRで使用されるデータのレイアウトに関連しています。対GPT:

  • MBRは、ディスクの最初のセクターを使用し、拡張パーティションと論理パーティションが存在する場合は、ディスク上のほぼどこにでも配置できる追加のセクターを使用します。
  • GPTは、ディスクの最初の34セクターとディスクの最後の33セクターを使用します(512バイトのセクターとデフォルトのパーティションテーブルサイズを想定しています。これらの前提条件が満たされない場合、使用されるセクターの数は変わる可能性があります)。

したがって、GPTはMBRよりもはるかに多くのディスクを使用し(ただし、最新のディスクの総容量と比較すると、ディスク容量はわずかです)、GPTはMBRの重要な最初のセクターを使用します。このため、GPTの一部は保護MBR、であり、通常のMBRによく似ています。ただし、保護MBRは、ディスク全体またはディスクの2TiBのいずれか小さい方をカバーする単一のタイプ0xEEパーティションで構成されます。保護MBRの考え方は、古いMBR専用のパーティショニングツールで誤ってディスクをトラッシングするのを防ぐために、GPTを認識しないツールにディスク全体が使用されていると思わせることです。

使用したLinuxfdiskのバージョンは、GPTに完全に対応していません。GPTデータ構造を検索し、見つかったときに警告するのに十分な知識があります。 GPTデータ構造を正確に報告するのに十分なGPT認識ではありませんが、保護MBRだけです。新しいバージョンのfdiskは、GPTディスクをより完全な方法で処理できます。 libparted(parted、GParted、その他のツールのコア)や私自身のGPT fdisk(gdisksgdiskcgdisk)。

あなたはGPTディスクから始めました。次に、ディスクからパーティションを削除しました。ただし、これはGPTデータ構造を削除しませんでした。ディスクを空として識別するデータ構造を作成しただけです。 fdiskはGPTデータ構造を理解しないため、有効なGPTパーティションで満たされたディスクと、GPTデータ構造はあるがパーティションが定義されていないディスクの違いを区別できません。 fdiskを使用して新しいMBRを作成し、GPTの保護MBRを(あなたの場合は)単一のLinuxパーティションを定義するMBRに置き換えました。ただし、これにより、GPTデータ構造の66セクターがそのまま残っていることに注意してください。 (ただし、これらのセクターのうち33は、定義したパーティションの最後にあるため、ファイルシステムのデータ構造またはファイルの内容で上書きされる可能性があります。)fdiskはこれらのGPTデータ構造を検索するため、引き続き文句を言います。 GPTの検出について。

GPTからMBRに変換するときは、libpartedに基づくものを使用することをお勧めします。このツールは、古いGPTデータ構造を空白にするのに十分な知識があります。または、my gdiskを使用して、MBRデータ構造を同等のGPTに変換することもできます。あなたが使用した古いfdiskは明らかにこれを行いません。 (新しいfdiskバージョンが何をするのかはわかりません。)古いfdiskのようなWindowsのツールは、古いGPTデータを残します。

現在、お使いのディスクは技術的には合法的なMBRディスクです。ただし、一部のツールは、fdiskと同様に、これについて文句を言います。私のgdiskは、MBRまたはGPTのどちらとして扱うかを尋ねます。これは、誰かが誤って保護MBRを消去した場合の回復を支援することを目的としています。しかし、自分が何をしているのかわからない場合、問題が発生する可能性があります。他のいくつかのツールは、未知の方法で誤動作する可能性があります。問題を回避するために、ディスク上で私のfixpartsを使用することを検討してください。このプログラムは、ほとんどのLinuxディストリビューションのgdiskまたはgptfdiskパッケージにインストールされており、不要なGPTデータ構造を消去できます。ただし、重要な注意点が1つあります。新しいパーティションがディスクの終わりのGPTデータ構造と重複しているため、fixpartswithinを消去します。運が悪ければ、ファイルまたはファイルシステムの損傷を引き起こす可能性のあるパーティション。より良い選択は、ファイルシステムを最後から(33セクターまで)縮小し、次にfixpartsを実行することです。

MBRを使用するやむを得ない理由がない限り、最近はGPTを使用することをお勧めします。 DOSやWindowsXPなどの古いOSにはMBRが必要ですが、Windows 7以降を含むほとんどまたはすべての最新のOS、リモートで最新のLinux、ほとんどまたはすべての現在のBSD、およびIntelベースで実行されるOS X/macOS Mac、GPTをサポートします。 GPTには、バックアップデータ構造、エラーを検出するためのチェックサム、名前付きパーティションなど、MBRに比べて適度な利点があります。これまでのようにGPTからMBRに変換すると、その切り替えを行うと問題が発生するか、少なくとも混乱が生じる可能性があることが明らかになりました。もちろん、最大限の互換性を得るには、MBRが優れており、これは一部のリムーバブルメディアでは重要な場合があります。ただし、原則として、GPTが優れたパーティションテーブルです。

1
Rod Smith