マルチブート環境でWindows 8.1/10 WHQL Supportを絶対に有効にしてはいけない。

image

マザーボードはMSI製の「H110I PRO」を使用しています。BIOS画面を覗いていると「拡張項目」というタブの中に「Windows 8.1/10 WHQL Support」というものがあったのですが、それを有効にしてみると、とんでもない事態になってしまいました。

広告

なぜ有効にした?

そもそも「Windows 8.1/10 WHQL Support」(以下、WHQL)の説明には、「Windows8.1および10をサポートする」と書かれています。と言っても、これを無効にしていても、何事もなくWindows8.1も10も起動できていました。また、何をどうサポートしてくれるのかも書いていません。

でも、もしかしてこれを有効にした方が性能を最大限に発揮できるのではないかと思って、試しに有効にしてみたのです。

image

ぼくのPCにはWindows10とUbuntu16.04がインストールされている、いわゆるマルチブートです。PCを起動してMSIのロゴが出てくるBIOS画面を過ぎると、次に出てくるのはUbuntu側によって作られたブートメニュー、通称GRUBであり、その画面でWindowsを起動したいかUbuntuを起動したいか選ぶことになります。

いつも使うのはWindows10なのでWindows10を選びますが、通常、ブートメニューなしでWindows10をする場合、Windowsのロゴとともにくるくる回るマークが出ます。でも、当環境でGRUBからWindowsを起動した場合、GRUBの紫の背景色はそのままに、Windowsのロゴはなく、くるくる回るマークだけ出ていて、かっこ悪かったのです。

しかし先述のMHQLを有効にしてからは、GRUBからWindowsを起動しても、ちゃんといつもどおりの黒い背景にWindowsロゴつきで、くるくるも出てる起動画面になってくれたのです。(そういればWindows10の起動画面は、Windows8と同じですね。手抜きくせェ。)

なお、PC起動直後のMSIのBIOS画面ですが、「PRO Series」というロゴとともに下にはコマンドも記載された画面だったはずなのに、なぜかWHQL有効後のBIOS画面は「MSI」というロゴだけであとは真っ暗という質素すぎて逆に怖い画面になりました。何か良からぬことがあるんじゃないかと引っかかります。

Ubuntu再起動後に問題発生。

ただWindowsを使うだけなら、特に問題ありませんでした。しかしWHQLの説明には「無効にした場合は、他のOSをサポートします」と続けられています。有効にしてしまったので、Ubuntu側の動作が心配です。

そこで今度はWHQLが有効になったまま、GRUBからUbuntuを起動してみました。すると、いつもどおりにUbuntuのデスクトップ画面が立ち上がりました。心配するだけ無駄だったのか。そう思って、Windowsに戻るために再起動を行いました。

image

ところが問題発生です。Ubuntuから再起動を行うと、MSIのBIOS画面が表示されることなく、黒い背景に白い文字で以下のメッセージが書かれた謎の画面になってしまいました。

Minimal BASH-like line editing is supported. For the first word, TAB lists possible command completions. Anywhere else TAB lists the possible. device or file completions.

最上部にGRUBとは書かれているので、Ubuntu側で作られた画面だとは思われます。しかし、めちゃくちゃ怖くなったので、すぐさまリセットボタンを押しました。ところがこれ以降、何度リセットをかけても全くBIOS起動画面が表示されず、いきなりこの謎の画面になってしまいます。BIOS起動画面が出ないのでDELキーを押したところでBIOS設定画面に移動できず、WindowsもUbuntuも起動できません。

やってしまったと、本気で後悔した瞬間でした。

コマンドが効かない。

上記の謎の画面ではUbuntuの端末やWindowsのコマンドプロンプト同様に、入力を受け付けている状態だったので、もしかしたら何か入力すれば抜け出せるのではないかと思って、調べてみました。

電源を入れるとgrub shellが立ち上がってカーネルの選択画面が出ない時の対処法 – コンピュータ技術者になるための備忘録

報告例は多数上がっているものの、今回試してみたのは上記のサイトから。手順としてまずbootパーティションというものがどこにあるのか調べないといけないようで、そのコマンドは以下のいずれか。

grub> find /grub/grub.conf
grub> find /boot/grub/grub.conf
grub> find /gurb/menu.lst
grub> find /boot/gurb/menu.lst

しかし、実際に「find」というコマンドを入れてみても、英語で「findなんてコマンドは存在しません」といった感じのエラーが表示されてしまい、実行できませんでした。

代わりに、テキストの中身を表示する「cat」に置き換えてみましたが、今度は「そんなファイルありません」といった感じのエラーになりました。拡張子が「conf」のものを「cfg」に変えてみましたが、それでもダメ。

他にも試せる手順はいろいろあったものの、パーティションを把握できない以上、誤ってWindowsだったり大事なデータのあるHDDを壊してしまう恐れがあったため、コマンドからの修復は断念しました。

もうお手上げでしょうか。

最終手段。

image

今回の対策はこれ。思い切ってOSの入ったSSDをPCから外した状態で、PCを起動してみることにしました。起動していきなりBIOSも無しにGRUBと思しき画面が出るということは、Ubuntuの入ったSSDさえなければ出なくなるのではないかと思ったのです。

すると、予測は見事に的中。SSD除去で、ようやくMSIのBIOS画面が表示されるようになりました。ただ、このままでは終われません。SSDがついていない今のうちに、設定画面に入って今回の元凶になったWHQLを真っ先に無効に戻します。

BIOS設定を保存し、再起動をかけます。でもSSDがついていないために、BIOSを抜けたあとは、何もない真っ暗な画面です。放置してもどうしようもないため、いったん電源を切ります。

image

取り外したSSDを再度取り付け、もう一度PCを起動します。でもSSDを一度取り外した影響か、ブート設定が無くなっているため、再度BIOSの設定画面に入りましょう。正しく設定し直さないと、また真っ暗闇に直行です。Windowsを優先するか、GRUBを開くようにするか、ブートの設定をちゃんとやり直して、もう一度再起動です。

今回の問題が発生する前と同様に、GRUB優先で起動させるようにしました。すると今度こそようやくエラーも謎の画面もなくなり、WindowsもUbuntuも起動できるようになりました。

もうBIOSで遊んだりしないよ。