![起動ドライブのMBR->GPT変換 起動ドライブのMBR->GPT変換](/images/b/f/0/5/4/bf054e252f602292951bfd0cac80caca159d5105-.png)
先日、WindowsをインストールしていたSSDに追加でLinuxを入れようと パーティションを編集しようとしたところ、そのドライブはMBR方式で フォーマットされていることに気が付きました。
そこで一応GPTにしておきたいと考えましたが、 起動ドライブとして利用しているSSDなので、ストレージ用ディスクの ように簡単ではありません。
最終的にWindowsのデータを保持したまま MBR-> GPTに変換可能だったので その備忘録として操作手順を書いておきます。
用意するもの
1: Windowsのインストールメディア 2: gptgen
状態
480GB SSD MBR方式でフォーマット
part | size | memo |
---|---|---|
1 | 500MB | Windows 予約領域 |
2 | 330GB | Windows Cドライブ |
3 | 115GB | 未割り当て(Linuxインストール用) |
手順
part1
まず gptgen で作業対象のディスクを無理やりGPT方式に変換します。 管理者権限で立ち上げた コマンドプロンプト で
>gptgen.exe -w \\.\physicaldrive0
を実行します。 末尾の0はディスク番号で[ディスクの管理]から番号が確認できます。 起動用ディスクでの変換は保証できない旨の警告がでるので y を入力して続行します。
part2
再起動をかけます。 この段階でSSD内のWindowsはうまく起動できない状態なので UEFIの設定画面に入り セキュアブートの設定を有効にしておきます。
part3
Windowsのインストールメディア(DVD or USB)をPCにセットして メディアから起動を行います。
インストールメディアが立ち上がったら、 言語とキーボードの設定を確認し次へを選択すると 画面左下に コンピュータを修復する が表示されるので これを開きます。
コンピュターを修復する > トラブルシューティング > 詳細オプション > コマンドプロンプト
と順番に開くとコマンドプロンプトが開きます。
part4
ここからパーティションを修正したUEFI起動に必要な領域を作成していきます。 先頭500MBの予約領域を確保して
- UEFIシステムパーティション
- Windows予約パーティション をそれぞれ確保し直す必要があります。
diskpartを使って編集作業を行うことができます。
> diskpart
DISKPART> list disk
まずディスクを一覧を表示して、操作対象のディスクを確認します。 今回は ディスク0 のSSDなので
DISKPART> select disk 0
とします。
次にパーティションを操作します。
DISKPART> list partition … パーティションの一覧を表示
DISKPART> select partition 1 … 先頭の500MBの領域を選択
DISKPART> delete partition override … パーティションを削除
DISKPART> create partition EFI size=128 offset=1 …先頭128MBをEFI用領域として確保
DISKPART> format quick fs=fat32 … EFIパーティションはFAT32でフォーマット
DISKPART> assign letter=W …適当なドライブレターを割り当て
DISKPART> create partition msr size=372 offset=132096 …続く372MBをMSRとして確保
DISKPART> list partition … 編集結果を確認
MSR(Microsoft Reserved Partition:MS予約領域)はフォーマット不要です。 offsetは先頭から何KB地点から領域が始まるかを指定します 今回は前に 128MBの領域があるので
1024 * (128 + 1) = 132096
と計算しています。
最後にドライブレターがずれてしまうのでこれを修正します。
DISKPART> list volume
DISKPART> select volume 3
DISKPART> assign letter=C
これで3番めのボリュームがCドライブになります。 list volumeの出力をみて他のドライブレターも修正しておきます。
DISKPART> exit
>
exitでdiskpartから抜けてパーティション編集は終了です。
part5
最後にブートローダの設定を更新すればOKです。 part4で作成したEFI領域から起動するようにします。
>bcdboot C:\Windows /l ja-JP /s W: /f UEFI
source …起動元のWindowsディレクトリのいちを指定
/l(エル) …ロケール設定(日本語)
/s … ドライブ指定 Wはpart4でEFI領域に割り当てたレター
/f … ファームウェアタイプを UEFIへ
終了
以上で完了です。 再起動するとWindowsが立ち上がってくれるはずなので ディスクの管理からGPTになっていることを確認できます。