Windows 10 / Server 2016でGPTディスクのソフトウェアRAID1(ミラー)を構築し、UEFIからブートできるようにする方法
本記事では、UEFIアーキテクチャを採用したコンピューター上で、Windows Server 2016 / Windows 10がインストールされた2台のGPTディスクからソフトウェアミラー(RAID1)を作成する手順を詳しく解説します。BCDブートローダーを完全な形で構成することで、どちらか一方のドライブに障害が発生してもWindowsを正しく起動できる、冗長性の高い環境を構築できます。
ここでは、UEFIアーキテクチャ搭載のシンプルなPCを例に説明します。このPCには同一の50GBディスクが2台接続されており、RAIDコントローラーは内蔵されていません。目的は、1台目のGPTディスクにOS(Windows Server 2016、Windows 10、または無料のHyper-V Serverなど)をインストールし、その後2台のディスクでソフトウェアミラー(RAID1)を構成することです。
なお、ソフトウェアRAIDとハードウェアRAIDのどちらかを選べる状況であれば、一般的には後者(ハードウェアRAID)を選ぶのが望ましいでしょう。現在では、物理RAIDコントローラーを統合したマザーボードも家庭向け製品として入手可能になっています。
まず、WindowsのインストールISOイメージをDVDまたはUSBメモリーに書き込み、そのデバイスからコンピューターを起動します(このとき、LegacyモードではなくUEFIモードで起動してください)。その後、Windows Server 2016のインストールを実行します。
インストール完了後、ディスクの管理スナップイン(diskmgmt.msc)を開き、1台目のディスクがGPT形式になっていること(ディスクのプロパティ → ボリューム → パーティションのスタイル → GPT(GUIDパーティションテーブル))、および2台目のディスクが未割り当ての空き状態であることを確認します。
ディスク2のGPTパーティションテーブルを準備する
管理者権限でコマンドプロンプトを起動し、diskpartを実行します。以下のコマンドを入力してください。
DISKPART> List disk
システムには2台のローカルディスクが存在することがわかります。
Disk 0– GPT形式で、WindowsがインストールされているディスクDisk 1– 未割り当ての空きディスク
念のため2台目のディスクを再度クリーンアップし、GPTに変換します。
Select disk 1
clean
Convert GPT
2台目のディスクのパーティション一覧を表示します。
List part
ディスク2にパーティションが1つでも存在する場合(この例では「予約済み」ラベルの付いた128MBのパーティション1)、それを削除します。
Sel part 1
Delete partition override
次に、1台目のディスク(Disk 0)のパーティション一覧を表示します。後ほど、同じパーティション構成をディスク1上に作成する必要があります。
Select disk 0
List part
4つのパーティションが確認できます。
- 回復(Recovery) – 450MB、WinREを含む回復パーティション
- システム(System) – 99MB、EFIシステムパーティション
- 予約済み(Reserved) – 16MB、MSRパーティション
- プライマリ(Primary) – 49GB、Windowsイメージを格納するメインパーティション
ディスク1に同じパーティション構成を作成します。
Select disk 1
Create partition primary size=450
format quick fs=ntfs label="WinRE"
set id="de94bba4-06d1-4d40-a16a-bfd50179d6ac"
create partition efi size=99
create partition msr size=16
list part
ディスクをダイナミックディスクに変換してミラーボリュームを作成する方法
続いて、両方のディスクをダイナミックディスクに変換します。
Select disk 0
Convert dynamic
Select disk 1
Con dyn
システムドライブ(C:ドライブ)のミラーを作成します。ディスク0のボリュームを選択し、ディスク1にミラーを追加します。
Select volume c
Add disk=1
以下のメッセージが表示されます。
DiskPart succeeded in adding a mirror to the volume.
ディスクの管理を開き、C:ドライブの同期(再同期中/Resynching)が開始されたことを確認します。同期が完了するまで待ちます。C:パーティションのサイズによっては、数時間かかる場合があります。
以降、Windowsの起動時には、どちらのディスクから起動するかを選択できるWindowsブートマネージャーのメニューが表示されるようになります。手動で選択しない場合、30秒後に最初のエントリから起動しようとします。
- Windows Server 2016
- Windows Server 2016 – secondary plex(セカンダリプレックス)
しかしここに問題があります。ブートローダーの構成は1台目のドライブにのみ保存されているため、これを失うと、追加作業なしに2台目のドライブからWindowsを起動することはできません。現状では、2台目のディスク障害に対してデータ(ただしWindowsブートローダーは除く)を保護できているにすぎません。
WindowsのソフトウェアRAIDでは、EFIパーティションの完全なミラーを作成できません。OSの起動ファイルはEFIパーティション上にあるため、1台目のディスクに障害が発生すると、EFIブートローダーを手動で修復しない限り、2台目のディスクから起動できません。これは初心者にとって難易度が高く、時間もかかる作業です(周囲に不満を抱えたユーザーがいる状況では、その時間すら取れないこともあるでしょう)。
そこで次に、EFIパーティションを2台目のディスクにコピーし、BCDブートローダーの構成を変更することで、1台目・2台目のどちらのドライブからでもWindowsを起動できるようにする方法を紹介します。
EFIパーティション用のGPTミラーを作成する方法
次に、コンピューターがこのパーティションを使ってWindowsを起動できるよう、ミラーを構成する2台目のディスク上のEFIパーティションを準備します。ディスク1のEFIパーティションにドライブ文字S:を割り当て、FAT32でフォーマットします。
Select disk 1
Select part 2
assign letter=S
format fs=FAT32 quick
続いて、ディスク0のEFIパーティションにドライブ文字P:を割り当てます。
select disk 0
select partition 2
assign letter=P
exit
EFIパーティションとBCDストアを2台目のドライブにコピーする方法
以下のコマンドで、現在のBCDブートローダーの構成を表示します。
bcdedit /enum
ミラーを作成した時点で、VDSサービスが自動的に2台目のミラーディスク用のBCDエントリ(「Windows Server 2016 – secondary plex」というラベル)を追加しています。
1台目のディスクに障害が発生した際に、2台目のディスクのEFIパーティションから起動できるようにするには、BCD構成を変更する必要があります。
そのために、現在のWindowsブートマネージャーの構成をコピーします。
bcdedit /copy {bootmgr} /d "Windows Boot Manager Cloned"
The entry was successfully copied to {44d1d6bf-xxxxxxxxxxxxxxxx}.
表示された構成IDをコピーし、次のコマンドで使用します。
bcdedit /set {44d1d6bf-xxxxxxxxxxxxxxxx} device partition=s:
正しく実行できれば、次のメッセージが表示されます。
The operation completed successfully.
現在のWindowsブートマネージャーの構成を再度一覧表示します(bcdedit /enum)。ブートローダーに、異なるディスク上のEFIパーティションから起動するための2つのオプション(既定のエントリとresume object)が追加されていることを確認してください。
次に、BCDストアをディスク0のEFIパーティションからディスク1へコピーします。
P:
bcdedit /export P:\EFI\Microsoft\Boot\BCD2
robocopy p:\ s:\ /e /r:0
ディスク1上のBCDストアの名前を変更します。
Rename s:\EFI\Microsoft\Boot\BCD2 BCD
そして、ディスク0上の一時コピーを削除します。
Del P:\EFI\Microsoft\Boot\BCD2
1台目のディスクに障害が発生した場合は、Windowsブートマネージャー(起動メニュー)で「Windows Boot Manager Cloned」を選択し、続いて「Microsoft Windows Server 2016 — secondary plex」を選択することで、Windowsを正しく起動できます。
いずれかのディスクに障害が発生すると、ディスクの管理スナップインに「冗長性の失敗(Failed Redundancy)」というメッセージが表示されます。
この場合は、障害のあるディスクを交換し、既存のミラー構成を削除したうえで、ソフトウェアRAID1を最初から作り直す必要があります。
-
Windows 10/8/7でCドライブのパーティションを縮小する3つの方法
記事の概要:Windows 10でCドライブを縮小する最も効率的な方法は、パーティション管理ソフトを活用することです。ディスクパーティションのサイズ変更には、EaseUS Partition Masterが特におすすめです。 はじめに Windows PCのハードドライブに新しいボリュームを作成したいとお考えですか?その場合、既存の別ドライブからディスク領域を確保する必要があります。ハードディスクのパーティションに新たなボリュームを追加したいなら、まず別のパーティションを縮小しなければなりません。 本記事では、Windows 10でボリュームを縮小する方法をご紹介します。サードパーティ製ソフ
-
Windows 10/8/7でHDDをSSDにクローンする方法|EaseUS Disk Copyの手順を徹底解説
大切なデータを失うことなく、安全にハードディスク(HDD)をSSDにクローンしたいとお考えではありませんか?本記事では、HDDからSSDへのコピーに最適なディスククローンツール「EaseUS Disk Copy」を使った手順を、初心者の方にもわかりやすく解説します。ぜひ最後までご覧ください。 HDDをSSDにクローンすべき理由 HDDをSSDに置き換えるべき主な理由は以下のとおりです。 1. パフォーマンスの大幅な向上 長年使用していると、HDDには大量のデータが蓄積され、パソコンの動作が著しく遅くなります。そのまま放置すると、将来的にさまざまなPCエラーに悩まされる可能性も高まります。こ