UEFI環境でのBOOT修復について記しておきます。
状況別の記事
HDDからSSDへの換装時や、一時的にSSDやHDDにアクセスできなくなりNVRAMの内容が書き換えられてしまった場合の対処方法についてはこちらの記事を参照してください。
この記事で説明した方法でも、BIOSに「Windows Boot Manager」が表示されない場合はこちらの記事を参照してください。
概要
最近は、SSDも安くなり起動ドライブはSSDとすることが多くなりました。また、UEFIでBOOTしなければならない条件は、
- 起動ドライブをGPTとしなければならない(3TB以上のHDDから起動する)
- Windows Vista以降の64bit OSで起動する
ということなので、ほとんど使われることはありませんが、今回、たまたま遭遇したため、対処方法を、記しておきます。
今回は、Shuttle SH67H3で障害が発生し、もろもろの事情からSH67H3での復旧はやめ、Shuttle SZ77R5を入手し、主要部品を載せ替えて復旧させました。
試行錯誤したため、多少違っているところがある可能性はありますが、ここでの操作は、BIOSおよびNVRAMの書き換えのため、HDD内のシステムを壊すことはありません。
UEFIでのBOOT
通常は、HDDをGPTとし、Windows 7(x64)などをインストールするとインストーラーが必要な処理をすべて行ってくれるので、何も知らなくてもBOOT出来ます。BIOSのBOOT優先順位も書き換えてくれます。UEFIでのHDDの構成などについての詳しい説明は以下に記されています。
- UEFI ベースのコンピュータに展開する(Microsoft)
CMOSを初期化した場合
BIOSをアップデートした場合、保存されている内容と不整合があるとのことでデフォルト値を読み込むように要求されます。[F1]を押してデフォルト値を読み込みBIOSが起動し、元の設定内容に設定して起動すると、
と表示され起動しなくなる場合があります。
検索エンジンで、「Windows7 起動 修復」などと検索するとbootrecコマンドを用いての修復方法が検索されますが、UEFIでのBOOTの場合は、bootrecコマンドでは修復出来ません。
OSのインストールディスクから起動し、「コンピューターを修復する」で、「システム回復オプション」から「スタートアップ修復」を行っても問題は見つからないはずです。
リセットまたは、電源を入れ直し、画面に文字が表示されたら、Boot Menuを表示させるファンクションキーを押します。(機種によって[F7]とか[F10]とか違うのでBIOSの説明を参照してください)
Boot Deviceの選択画面が表示され、そこに「Windows Boot Manager」が表示され、「Windows Boot Manager」を選択して、[Enter]を押すことで起動できるなら、BIOSの指定の問題です。
これはBIOSの設定画面ですが、通常は、CD/DVD、Hard Diskの順番でBootの優先順位を指定すると思います。MBRの場合は、これで問題無くBOOTしました。
しかし、UEFIでのBOOTの場合は、Boot DeviceにシステムをインストールしたHDDを指定するのではなく、「Windows Boot Manager」を指定する必要があります。
UEFIドライブが複数ある場合は、左下にある「UEFI Boot Drives」から、
「Windows Boot Manager」を選択します。
なお、今回使用した、Shuttle SZ77R5では、このようにCD/DVDを1st Bootに指定すると起動しませんでした。UEFIでのBOOTの場合は「Windows Boot Manager」を1st Bootに指定する必要があるようです。
Windows Boot Managerが表示されない
Windowsをインストールしたマシンではなく、別のマシンにGPTのHDDを接続して起動しようとした場合、「Windows Boot Manager」が表示されない場合があります。これは、NVRAMにブートエントリーとして「Windows Boot Manager」が記録されていないためです。
以下の記事を読んでみると、bcdeditを起動することで、NVRAMとHDDとの同期が取られるとのことです。
- bcdeditでUEFIのブート・エントリの名前を変更する(@IT)
- BCD と NVRAM で重複しているファームウェア オブジェクトを削除する(Microsoft)
SZ77R5では、[F7]を押して「Windows Boot Manager」を指定し、OSを起動して、「コマンドプロンプト」を右クリックし「管理者として実行」をクリックして「コマンドプロンプト」を起動するか、OSのインストールメディアから起動し、「コンピューターを回復する」を選択し「システム回復オプション」から「コマンドプロンプト」を起動します。
- bcdedit [Enter]
と、パラメーターを指定せず、bcdeditを起動すると、BCDのエントリーが表示されます。この時、NVRAMとの同期が取られます。これで、「Windows Boot Manager」が表示されるようになるはずなので、前項のようにBIOSの設定を変更します。
追記1
最近では普通に店頭で売っているWindowsマシンでも、Windows 8からUEFIに本格的に対応したことから、64bit版のOSがインストールされ、BOOTドライブがUEFIで構成されていることも多くなりました。
これらのWindows 8以降に対応したパソコンでは、UEFIによるBOOTの問題は殆ど起きないように作られているようです。BIOSをアップデートしてもWindows Boot ManagerがNVRAMから消去されることもありません。
ただし、UEFIが出始めの初期のマザーボードやべアボーンでは、BIOSのアップデートなどでNVRAMが消されてWindows Boot Managerが表示されなくなることもあります。BIOSのアップデートプログラムで対応している場合もあるようなので最新版にしてみて、それでも消される場合は「Windows Boot Managerが表示されない」に記したことを試してみて下さい。
追記2
最近のべアボーンPCについて記しておきます。ShuttleのSZ87R6(発売から1ヶ月も経たないうちに生産完了してしまったので詳細は記事にはしません)の動作を見てみると、NVRAMは気にしないで大丈夫なようです。
SZ87R6のBIOSを更新してDefault設定を読み込むと、BIOSの設定画面の[Boot]タブの[Boot mode select]という項目が[LEGACY]に設定されます。この状態では[Boot Device Priority]にUEFIデバイスは表示されません。
[Boot mode select]を[UEFI]に変更して設定を保存し、リセットして再度BIOS設定画面を見ると、[Hard Disk:Windows Boot Manager]が表示されます。
ここでBDドライブにWindows 8.1(x64)のインストールDVDをセットしてからリセットし、再度BIOS設定画面を見ると、[CD/DVD:UEFI:BDドライブ名]が追加で表示されます。
これらのことから、最近のUEFI対応BIOSは、BIOSが立ち上がる時点で周辺機器のUEFI対応状況を調べてNVRAMに自動で読み込んでいるようです。従って、BIOSを更新したり、CMOSクリアを行っても、接続された、または、追加で接続したUEFIデバイスは、正しく認識されるので、NVRAMの更新などは行わなくとも、起動優先順位でWindows Boot Managerを最初に設定すれば、Windowsは起動するはずです。
UEFI対応OSのインストールメディアを光学ドライブにセットした状態で、BIOS画面にUEFI:光学ドライブは表示されるのに、Windows Boot Managerが表示されないなら、HDDの障害の可能性があります。
追記3
Venue 8 ProでBOOTに失敗することが度々ありました。BIOSの設定が飛んでしまうことが原因のようですが、こちらの記事の「その他情報」「BIOS」の部分に対策を記しておきましたので、該当する場合は参考にして下さい。
コメント
自分もまさにこの状態なんですが、(windowsbootmanagerは表示される)
1stbootにWBM、2stにcd・dvdドライブ、 3st なし
にしてdvdドライブをssdより先に立ち上げようとしても、先にssdが立ち上がってしまいます。。
自分勝手で済みませんが、ヒントになるようなことがあればお願いします。
nekogori さん、こんにちは。
Windows Boot Managerが絡んでくると、起動順位をBIOSで設定しても、意図したように立ち上がってくれなかったと記憶しております。
DVDから立ち上げるなら、1st:CD/DVD、2nd:Windows Boot Managerとし、DVDをセットすればDVDから立ち上がります。しかし、通常はDVDをセットしなければタイムアウトで2ndのWindows Boot Managerから立ち上がると思っていたのですが、立ち上がりません。
Windows Boot Managerから立ち上げるには1stに設定する必要があるようです。
一時的に、DVDから立ち上げるなら、リセット直後に[F7]を押してBoot Device選択画面を表示させ、起動デバイスを選択した方がよいと思われます。
迅速な対応ありがとうございます。
とりあえず根本的解決ではありませんが、usbデバイスからブートすることができました。(ちゃんと試行錯誤せずに質問してすみません。。
>Windows Boot Managerから立ち上げるには1stに設定する必要があるようです。
やっぱりそうでしたか・・・。
実験結果、信頼性のある理由を載せてでの解答有難うございます。
>一時的に、DVDから立ち上げるなら、リセット直後に[F7]を押してBoot Device選択画面を表示させ、起動デバイスを選択した方がよいと思われます。
それもやってみましたが、デバイスが見つからないと表示されてしまいました。。
自分は内部のことは何にも知識がなくどうこうできませんので、いずれ改善されることを祈るばかりです。。
無駄な時間を取らせてしまってすみませんでした。
そして、こんな質問に答えて下さい本当に有難うございました。
nekogori さん、こんにちは。
USB接続したデバイスからは立ち上がったとのことで良かったです。
マザーボードやマシンで状況が違うようで、お力になれず申し訳御座いません。
UEFI対応が不完全で、BIOSをアップデートすると改善することもあるようです。
Windows 8からはUEFIの意味合いも強まっていますので、今後改善されるとは思いますが、しばらくはUSBデバイスなどで凌ぐしかないのかもしれません。