BLOGTIMES
2015/09/05

BIOS 起動の Windows を UEFI ブートに変換する

  Tips windows  systemmanagemant  migration  tutorial 
このエントリーをはてなブックマークに追加

おそらくもう二度とやることはありませんが、BIOS ブートだったマシンを UEFI ブートに変換してみたら意外とあっさりとできました。実は今のメインマシンはうっかり BIOS でインストールしてしまっていたので、Windows 10 へのアップデートを前に UEFI ブートにそろえておきたかったのでした。

参考にしたのは以下の2つのエントリです。基本的にはこのままで問題なく実行できます。

以下、手順メモ。

手順に入る前に

この作業は自己責任です。書いてあることが良く分からない場合は作業しないのが賢明な判断です。
僕の場合はうまくいきましたが、作業に関する一切の責任は負えません。

0. まずバックアップ

この作業はミスると間違いなく起動ディスクが壊れますし、対象のディスクを間違えて操作すると最悪データディスクも吹っ飛ぶ可能性があります。というわけで、まずは必ず環境のフルバックアップをとり、確実にベアメタル回復が出来る状態にしておきます。Windows 7 以降であれば、外付けハードディスクなどにイメージバックアップを取るのが簡単なのでオススメです。BitLocker も有効にしている場合には作業前に切っておいてください。

安全のため、壊したくないデータが入っているディスクはあらかじめ PC から取り外しておくのも良いと思います。

1. 起動ディスクを作っておく

2 の作業をするとデータは失われませんが、一時的にディスクは起動ディスクとして使えなくなります
したがって以下の作業をする前に、必ず起動ディスクを用意する必要があります

一番簡単なのは Windows の起動メディア(USB/DVD)があれば、それで OK です。
なければ適当な USB メモリを使って USB 回復ドライブを作成しておきましょう。

2. MBR を GPT に変換する

ブート方法を変換するのに何で MBR とか GPT が関係あるの?という感じがしますが、UEFI ブートをするためには対象のディスクは GPT で管理されている必要があります。というわけで、gptgen というツールを使って MBR を GPT に変換してやります。

ダウンロードした gptgen を適当な場所に解凍し、管理者権限のコマンドプロンプトから以下のコマンドを実行します。

gptgen.exe -w \\.\physicaldrive#

ここで重要なのは末尾の # をドライブの番号に読み替える必要があることです。
調べ方は PC を右クリック→「管理」を選択→左側の項目から「ディスクの管理」を選択すると出てきます。
ドライブの番号 - BIOS 起動の Windows を UEFI ブートに変換する

僕の場合はここで下記のようなエラーが出てしまったので、EaseUS Partition Master Free を使って、先頭にあるシステムパーティションの先頭を 50MB くらい削ってから再度作業したところ、問題なく作業が完了しました。

Not enough space at the beginning of the disk (need at least34 sectors before the start of the first partition). Re-partition the disk to meet this requirement, and run this utility again.

これが完了すると、ディスクは BIOS からブートできない状態になります。

3. システムパーティションの再作成

用意しておいた起動メディアから PC を起動します。起動したら「コンピューターの修復」を選択→「 トラブルシューティング」を選択 → 「拡張オプション」を選択 → 「コマンドプロンプト」を選択してコマンドプロンプトを起動します。ここからは diskpart を使ってパーティションをいじっていきます。

diskpart を起動します。

diskpart

対象となるディスクの番号を確認します。この番号を間違えると違うディスクのパーティションがおかしくなるので注意が必要です。
先ほどと変っていることもあるので、必ずここで番号を再確認します。

list disk

対象のディスクを選択します(#をディスク番号に読み替えてください)。

select disk #

対象ディスクのパーティションを確認します。
おそらく先頭にシステム用の 350MB 程度のパーティションがあるはずです。

list partition

対象のディスクを選択して、削除します(#をディスク番号に読み替えてください)。

select partition # delete partition

あたらしいシステムパーティションを作成します。

create partition EFI size=100 offset=1 format quick fs=fat32 label="System" assign letter=S create partition msr size=128 offset=103424

以下のコマンドでボリュームを確認すると、今まで使っていた起動ディスク C: のドライブレターがずれていると思うので、C: に戻しておきます。

list volume select volume 3 assign letter=C

diskpart を終了します。

exit

最後にブートローダーの設定 (BCD) を新しい設定にアップデートします。

bcdboot c:\windows /s s: /f UEFI

あとは起動メディアを抜いて、マシンを再起動すればマシンは何事もなかったかのように UEFI で起動するはずです。

2016/03/31 追記

逆変換にも成功しました。


    トラックバックについて
    Trackback URL:
    お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
    このエントリへのTrackbackにはこのURLが必要です→http://blog.cles.jp/item/7869
    Trackbacks
    このエントリにトラックバックはありません
    Comments
    愛のあるツッコミをお気軽にどうぞ。[policy]
    古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
    コメントはありません
    Comments Form

    コメントは承認後の表示となります。
    OpenIDでログインすると、即時に公開されます。

    OpenID を使ってログインすることができます。

    Identity URL: Yahoo! JAPAN IDでログイン