私はいつも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がディスクハードウェアの一部のプロパティでもあることを意味しますか?
このコンテキストでは、 マスターブートレコード(MBR) と GUIDパーティションテーブル(GPT) は、2つの異なるタイプのパーティションテーブル-パーティション情報を保持するデータ構造-ディスクに保存できます。 (「MBR」は、BIOSモードのブートローダーまたはディスクの最初のセクターを参照する場合にも使用できますが、これらの意味は質問とは関係ありません。)質問の多くは、MBRで使用されるデータのレイアウトに関連しています。対GPT:
したがって、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(gdisk
、sgdisk
、cgdisk
)。
あなたは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データ構造と重複しているため、fixparts
はwithinを消去します。運が悪ければ、ファイルまたはファイルシステムの損傷を引き起こす可能性のあるパーティション。より良い選択は、ファイルシステムを最後から(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が優れたパーティションテーブルです。