web-dev-qa-db-ja.com

WindowsでGPTパーティションタイプを変更するにはどうすればよいですか?

GPT形式は、メタデータにより多くの場所を導入します。
diskpartにパーティションタイプを設定するには、次の方法を使用します。

DISKPART> create partition msr

または

DISKPART> create partition efi

または

DISKPART> create partition primary

しかし、プライマリをefiに変更するなど、パーティションの作成後にタイプを変更するにはどうすればよいですか?

4
user2284570

DiskPartは実際にこれを行うことができます。適切なディスクとパーティションを選択してから、set idコマンドを使用します。たとえば、これにより、選択したパーティションがEFIパーティションに変更されます。

set id=c12a7328-f81f-11d2-ba4b-00a0c93ec93b

the set id TechNet記事detail partitionの組み合わせを使用して、次の一般的な可能な値を発見しました:

  • 回復:de94bba4-06d1-4d40-a16a-bfd50179d6ac
  • 通常:ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
  • EFI:c12a7328-f81f-11d2-ba4b-00a0c93ec93b
  • 予約済み:e3c9e316-0b5c-4db8-817d-f92df00215ae

設定されたフラグが意味をなすように、特定のタイプのパーティションのパーティション属性を調べることをお勧めします(正常なコンピューターを見てください)。あなたが発見したように、gpt attributesはフラグを設定します。 detail partitionはそれらを表示します。

危険ゾーン:予約タイプの設定

TechNetのドキュメントによると、DiskPartではパーティションをMicrosoft予約済みのパーティションにすることはできません。その主張は真実であるため、別のツールを使用することをお勧めします。 DiskPartを本当に使用したい場合は、Windowsのディスク管理インフラストラクチャを破壊して、許可されていないタイプを認識しないようにする必要があります。 危険!ブータブルディスクで次の手順をテストしていません。彼らは娯楽目的のためだけにここにいます。できれば使い捨てのコンピューターまたはVMで、自己責任で行ってください。

16進エディタ(XVI32が好きです)を作成し、vdsbas.dllのコピーを開きます(System32内)。これは、ほとんどのディスク関連操作を提供するモジュールであり、パーティションタイプのポリシングを行うモジュールです。 Microsoft予約タイプのGUIDは、Windows 10 x64に付属するバージョンのバイト0x21CD8から始まります。16進文字列16 E3 C9 E3(リトルエンディアンの0xE3C9E316)を検索する必要があります。少し反転すると、不正なコピーが特別なタイプを設定していることを認識できなくなります。Windowsで上書きできるようにするには、元のvdsbas.dllのセキュリティ設定を変更する必要があります。また、仮想ディスクサービスが実行されていないことを確認する必要があります(サービスで停止しても問題ありません)。そうでない場合、ファイルは使用中です。

このような予約済みパーティションをボリュームに関連付けないでください。 DiskPartにパーティションをそのように保つ方法があるかどうかはわかりません。

マイクロソフトがこのタイプの設定を許可しない正当な理由があると考えられるため、この方法を選択する場合は、ドライブ上で重要なものをすべてバックアップしてください。そのようなパーティションを切に必要とする場合は、おそらく公式メディアからWindowsを再インストール/修復することをお勧めします。

6
Ben N

この質問とその議論には、少し混乱があるか、少なくとも用語の不正確な使用があるようです。したがって、 GPTに関するウィキペディアの記事 で説明されているGPTデータ構造を確認すると便利な場合があります(EFI仕様はより信頼性が高く、無料で入手できます。ただし、ダウンロードするにはライセンス条項に同意する必要があります。取得するには here を参照してください。)GPTタイプコードは実際にはGUID値-/を参照してください。 Wikipediaの記事のパーティションタイプGUIDテーブル 既知の値のリスト。GPT属性とパーティション名もあります。これらは3つの完全に独立したデータ構造です(ただし、多くのパーティション化があります)。ツールはタイプコードに基づいてパーティション名を設定します。「プライマリ」と呼ばれるGPTパーティションタイプを知りません。このタイプへの参照は、プライマリ、拡張、または論理のMBRパーティションとの混同の結果であると思われます。しかし、これらの概念はGPTでは意味がありません。一部のツールは、allGPTパーティションに関して「プライマリ」という用語を引き続き適用します。 MBRディスクの場合はenなので、すべてのパーティションにプライマリ/拡張/論理IDが必要です。

MBRとGPTの両方のタイプコードは、パーティションの使用目的を識別します。 Windows、OS X、およびその他の一部のOSは、タイプコードを一種の「フィルター」として使用します。これらのOSは、特定のタイプではないパーティションを無視するため、(たとえば)パーティション上にLinuxファイルシステムをセットアップできます。 Linux固有のタイプコードとWindowsはそれをフォーマットしようとしません。また、いくつかのWindows固有のタイプコード(Wikipediaの表を参照)と、OSに依存するタイプコード(EFIシステムパーティション(ESP)のコードなど)もあります。

属性はあまり一般的ではありません(タイプコードは必須です)が、OSまたはファームウェアがパーティションを処理する方法を変更する場合があります。たとえば、「hidden」属性は、OSにパーティションを無視するように指示します。これは、OSに応じて、尊重される場合とされない場合があります。属性は、パーティションタイプごとに異なります。

パーティション名は主に人間が使用するために存在するため、パーティションを識別できます。私はそれを広範囲に調査していませんが、OSXはそのRecovery HDパーティションに割り当てられた名前について気難しいと思います。私の(簡単な)テストでは、このパーティションの名前が変更されたときにフレークアウトしました。パーティションの作成時にタイプコードに関連付けられた説明に割り当てられることが多いものの、パーティション名を気にするOSやユーティリティの他のケースは発生していません。

私はMicrosoftのdiskpartツールにあまり詳しくありませんが、Ben Nが彼の回答で指定しているように、それを使用してタイプコードを任意のGUID値に設定することができます。その他ツールもこれを行うことができます。または、他の方法でタイプコードを設定することもできます。私自身の GPT fdisk(gdisk)、 は、たとえば、4-を使用します。既知のGUID値へのショートカット」としての数字(2バイト)の16進値。または、GPT値を「生」で入力できます。 gdisk Walkthrough これを行う方法については、ドキュメントのセクション。libpartedライブラリ(いくつかのLinuxツールで使用されます)は、パーティションで使用されると言うファイルシステムに基づいてタイプコードを設定します。 「フラグ」を設定することで、それらを制限された範囲で変更できます。フラグの一部はタイプコードに対応し、一部は属性に対応します。

3
Rod Smith