以前、Windows Server 2012 R2を構築していた時に、サーバのローカルディスクが2テラバイト以上で構成されていて、通常のOSインストールができない事象が発生しました。理由として、BIOSモードによって変わるようで、これまでのレガシーモードではなく、UEFIであれば、2TB以上のディスクサイズをサポートするようです。
また、2TB以上のパーティションを作成するには、パーティション作成の前に、ディスクをGPT (GUID Partition Table)ディスクに変換する必要があり、未使用のパーティション未設定のディスクのみがGPTディスクに変換可能になります。
このあたりが意外と難しいのですが、最近のOSはUEFIでセットアップされていることが多いみたいです。そして、実際にOSがどちらで構成されているのかを確認する方法があります。
通常、PC起動時のブートデバイスメニューでBIOSかUEFIかを選択できるようになっています。
UEFIについての詳細は、マイクロソフトの公式サイトを参照してください。
http://windows.microsoft.com/ja-jp/windows-8/what-uefi
【UEFIのメリット】※サイトより抜粋
▼ブートキット攻撃に対する起動前 (プリブート) プロセスの保護によるセキュリティの強化。
▼起動時間と休止状態からの復帰の時間の短縮。
▼2.2 TB を超えるドライブのサポート。
▼システムがスタートアップ時に 172 億 GB を超えるメモリをアドレス指定するために使用できる、最新の 64 ビット ファームウェア デバイス ドライバーのサポート。
▼UEFI ハードウェアで BIOS を使用する機能。
UEFIは大容量のディスクにもOSをインストールすることができるので、俗に言う2TBの壁を超えることができます。ただ、一般的にサーバでも2TBを超えることは多くはないとは思いますが、ゼロではないので、意識する必要があります。
そして、この設定が現状どうなっているのかを確認する方法、コマンドがいくつかあるので紹介します。
■システム情報(msinfo32)で確認する
まずは、システム情報(msinfo32)です。
これを表示する方法は2通りあります。
①コマンドプロンプト、ファイル名を指定して実行で「msinfo32」を実行する
②「ここに入力して検索」で「システム情報」を検索
③「コントロールパネル」→ 「システムとセキュリティ」 →「管理ツール」 →「システム情報」
以下のシステム情報の画面が表示されます。
そこに、「BIOSモード」の項目があるので、そこで「レガシ」となっていたらBIOSモードという事になります。また、UEFIモードの場合は、「UEFI」と表示されます。上記は検証環境用のWindows Server 2012 R2で「レガシ」となっていますが、自宅のWindows10は「UEFI」になっていました。
■bcdeditで確認する
「bcdedit」をコマンドプロンプトで実行しても確認できます。自宅のWindows10で実行した結果です。「path」の部分がUEFIなので「efi」になっています。
C:\WINDOWS\system32>bcdedit
Windows ブート マネージャー
--------------------------------
identifier {bootmgr}
device partition=\Device\HarddiskVolume1
path \EFI\MICROSOFT\BOOT\BOOTMGFW.EFI
description Windows Boot Manager
locale ja-JP
inherit {globalsettings}
default {current}
resumeobject {e50f6f6e-0438-11e8-a49e-dc62d5590ddb}
displayorder {current}
toolsdisplayorder {memdiag}
timeout 0
Windows ブート ローダー
--------------------------------
identifier {current}
device partition=C:
path \WINDOWS\system32\winload.efi
description Windows 10
locale ja-JP
inherit {bootloadersettings}
recoverysequence {e50f6f70-0438-11e8-a49e-dc62d5590ddb}
displaymessageoverride Recovery
recoveryenabled Yes
isolatedcontext Yes
allowedinmemorysettings 0x15000075
osdevice partition=C:
systemroot \WINDOWS
resumeobject {e50f6f6e-0438-11e8-a49e-dc62d5590ddb}
nx OptIn
bootmenupolicy Standard
C:\WINDOWS\system32>
一方、仮想環境のWindows Server 2016では、「exe」でレガシーモードになっていますね。
C:\Users\Administrator>bcdedit
Windows ブート マネージャー
--------------------------------
identifier {bootmgr}
device partition=\Device\HarddiskVolume1
description Windows Boot Manager
locale ja-JP
inherit {globalsettings}
bootshutdowndisabled Yes
default {current}
resumeobject {42150759-32bc-11e7-8d02-a8370f41e58c}
displayorder {current}
toolsdisplayorder {memdiag}
timeout 30
Windows ブート ローダー
--------------------------------
identifier {current}
device partition=C:
path \Windows\system32\winload.exe
description Windows Server 2016
locale ja-JP
inherit {bootloadersettings}
recoverysequence {4215075b-32bc-11e7-8d02-a8370f41e58c}
recoveryenabled Yes
allowedinmemorysettings 0x15000075
osdevice partition=C:
systemroot \Windows
resumeobject {42150759-32bc-11e7-8d02-a8370f41e58c}
nx OptOut
後は、GPTとMBRの確認をするなら、デバイスマネージャーで対象のディスクのプロパティから確認することもできます。サーバならコンピュータの管理からですね。
ちなみに、UEFIで構成されたパソコンの場合、「回復パーティション」というパーティションが作成されるよになるようです。実際にレガシー、MBRで構成されたOSでは表示されていませんでした。インストール時にも自動で表示されるのはUEFIとして認識されているからですね。
OSインストール時にこの回復パーティションが表示された場合は、UEFIとして認識されているというチェックにもなります。また、UEFIの場合は、OSがそもそもサポートしているかという問題もありますが、最近のOSならほぼ問題ないと思います。
後、UEFIを採用する場合、使えるツール(起動に関連する)などが制限されるようなので、サーバー構築時には注意が必要です。