WindowsのMBR形式ディスクをGPT形式に変換する

記事タイトルとURLをコピーする

こんにちは、サーバーワークスの加藤ゆです。

Windowsで2TBのディスク容量を超えると困った事が起きます。
対策としてWindowsのパーティション形式を変換する方法について記載します。

はじめに

Windowsのパーティション方式

MBR(マスターブートレコード)とGPT(ガイドパーティションテーブル)の2種類があります。
パーティションとは、1つ1つの仕切られた領域の事のようです。
たとえば300畳(GB)のフロアを、100畳(GB)と200畳(GB)の部屋に仕切るようなものだと理解しました。

パーティションを分けるメリットとしては、1つのディスクを複数のドライブに分けて使える事です。
1部屋ワックス清掃したとしても、別の部屋には影響しないのでイイね、みたいな事かと思います。

MBR・GPTとは

ハードディスクのパーティション形式の種類の事。
ディスクがどのようにハードディスク上のデータにアクセスするかを定めているものです。パーティションの管理の仕方が異なります。

ざっくりマスターブートレコード(MBR)形式とは?

  • 古く一般的に利用されるパーティション形式
  • 領域の上限2TiBまで認識可能
  • パーティションの数は最大4(4部屋まで)
  • XP以前のOSでも使用可能

ざっくりガイドパーティションテーブル(GPT)形式とは?

  • 比較的新しいパーティション形式
  • 2TiBを超える大容量ハードディスクを認識可能
  • パーティションの数は最大128 (128部屋まで)
  • 64bitの環境が必要
  • Windows Vista以降で利用可能

何が起きるのか?

構築後2TiBで運用していたWindowsのボリューム容量を増やそうとした際に、
MBR形式のディスクの場合、2TiB以上が読み込まれない!ディスク増やしたのに使えない!
ということがおきます。

Amazon EC2 では、Windows ブートボリュームで MBR パーティションを使用する必要があります。「パーティションスキーム」で説明されているように、ブートボリュームは 2 TiB を超過して使用することはできません。

Windows データボリュームはこの制限の対象外であり、GPT でパーティション分割を使用できます。2 TiB 以上の Windows ブートボリュームがダイナミック MBR パーティションテーブルを使用するように変換された場合、ディスクマネージャーでボリュームのエラーが表示されます。

2 TiB (2048 GiB) 以上の Windows の非ブートボリュームは、GPT パーティションテーブルを使用してボリューム全体にアクセスする必要があります。サイズが 2 TiB を超える EBS ボリュームが起動時に Windows インスタンスにアタッチされている場合、GPT パーティションテーブルで自動的にフォーマットされます。サイズが 2 TiB を超える EBS ボリュームを起動後に Windows インスタンスにアタッチする場合、GPT テーブルで手動で初期化する必要があります。詳細については、「Windows で Amazon EBS ボリュームを使用できるようにする」を参照してください。

docs.aws.amazon.com

EC2 では、Windows ブートボリューム(Cドライブ)で マスターブートレコード(MBR)形式 を使用する必要があります。上記の通り、EC2で2TiB以下のWindowsサーバーを起動すると、無条件にMBRでフォーマットされます。

しかし、MBRでフォーマットされたボリュームは、2,048GiBまでしか認識されません。つまり、2,048GiBを超えたものはアタッチしていても利用できないのです。

例えば、せっかく3TiBにEBSボリュームを拡張したとしても、MBR形式でフォーマットされたボリュームを利用していた場合、残りの1TiBは利用できなくなります。ただついてるだけですね。

従って、拡張性を考えると、ボリュームを分けて利用し、追加ボリュームをGPT形式で利用する事が推奨されます。

MBR形式→GPT形式の変換作業をやってみる

ドライブを分ける場合、EC2は2TB以下のディスクはMBRでフォーマットされるため、GPT形式へ変換作業を行う必要があります。
この作業にはディスクの初期化が伴うので、初期構築時の対応を推奨いたします。

前提条件

追加のEBSボリュームをEC2インスタンス(Windows2019)にアタッチ済みであること

実施内容

ディスク方式をMBR形式 → GPT形式へ変換

デモ環境

  • Windows Server 2019

手順

1. ディスクの管理

  • 「Windowsキー」+「X」よりメニューから「ディスクの管理」を押下

f:id:swx-yuki-kato:20211124171622p:plain

  • ディスクの管理の表示 f:id:swx-yuki-kato:20211216210322p:plain

2. GPT形式へのフォーマット

※フォーマットを行うと、データはすべて削除されますのでご注意ください。

対象ディスクをGPT形式へ変換

①既存ボリュームを削除し、GPTへ変換する

f:id:swx-yuki-kato:20211216212237p:plain

②「ディスク部分」を右クリック、「GPTディスクに変換」を押下

f:id:swx-yuki-kato:20211216212638p:plain

この状態では、まだ未割当です。

③対象ディスクを右クリックし、「新しいシンプルボリューム」を押下

f:id:swx-yuki-kato:20211124172307p:plain

④ウィザードの開始

f:id:swx-yuki-kato:20211124172424p:plain

  • ボリュームサイズの指定
    ※デフォルトで最大領域を指定しています。問題無ければ「次へ」

f:id:swx-yuki-kato:20211124172611p:plain

  • 「次のドライブ文字を割り当てる」にチェックがあることを確認
    ※キャプチャではDドライブを指定しています

f:id:swx-yuki-kato:20211124172810p:plain

  • パーティションのフォーマット

f:id:swx-yuki-kato:20211124173014p:plain

  • 確認画面

f:id:swx-yuki-kato:20211124173120p:plain

  • フォーマット完了
    ディスクの管理画面より対象ディスクのステータスが「正常」となっていれば完了

f:id:swx-yuki-kato:20211124181136p:plain

まとめ

大事なことは3つです!

1.EC2(Windows)の ブートボリューム(Cドライブ)はMBR形式の必要がある
2.EC2(Windows)のブートボリューム(Cドライブ)で2TiB以上の構築をすると、2TiB以上はOSに認識されない。=利用できない!
3.GPT形式へ変換作業は、ディスクの初期化が伴う

以下を推奨します。

1.Windowsのディスクは分けて利用する
2.ブートボリューム以外のディスクはGPT形式でフォーマットする

以上、Windowsのパーティション形式を変換する方法について記載しました!
ご覧いただきありがとうございました!

加藤 由有希 エンジニアブログの記事一覧はコチラ

エンタープライズクラウド部 所属

2020年4月に新卒入社