Hyper-VでCentOS (Linux) がインストールできないときは?

仮想化基盤
スポンサーリンク

Hyper-V仮想マシンにLinux OS(CentOSなど)をインストールする際、仮想マシンが第2世代かつデフォルト設定の場合、正常にブートできません。

これを解決するには、仮想マシン設定画面の「セキュリティ」から、「テンプレート」を「Microsoft UEFI 証明機関」に変更します。もしくは「セキュアブートを有効にする」のチェックボックスをOFFにします。以下、詳しく解説していきます。

問題

Hyper-Vの仮想マシンにLinux OSをインストールしようとしたところ、インストールメディアでのブートができません

ここでは「CentOS Stream 8」をインストールしようとしていますが、仮想マシン起動後、下のように「Start PXE over IPv4.」と表示されます。

しばらくすると、下のように「Virtual Machine Boot Summary」の画面に変わります。「Restart Now」を選択しても、上の画面との繰り返しになるだけです。

仮想マシンの設定で、DVDブートの設定には問題は見られません。下の画面のように、仮想DVDドライブにはOSインストール用のISOファイルがマウントされています。また、「DVDドライブからブート」の設定になっています。

原因

この現象は、Hyper-Vの仮想マシン世代が「第2世代」かつ、仮想マシンの設定がデフォルトの場合に場合に発生するようです。

具体的には、セキュアブートの設定がONで、かつテンプレートに「Microsoft Windows」が選択されている場合、Linux OSが正しくブートできません。

解決方法

解決方法として、次の方法が挙げられます。

Linuxを正しくブートさせる方法
  • 方法① セキュアブートのテンプレートを変更する
  • 方法② セキュアブートを無効にする

詳しい手順は下で紹介します。どちらを選んでも良いですが、基本はセキュリティ面で有利な方法①が良いと思います。

ただし、インストールしようとしているOSが、Hyper-V上のセキュアブートに対応していない場合は方法②が良いでしょう。

セキュアブートの対応状況を確認するには

インストールしようとしているLinuxディストリビューション/バージョンが、セキュアブートに対応しているかどうかは、Microsoftのページで確認できます

例として、RHEL/CentOSの場合は以下のページを参照します。

方法① セキュアブートのテンプレートを変更する

仮想マシンの設定を開き、「セキュリティ」の項目を選択します。下のように、右側の「テンプレート」欄のリストからMicrosoft UEFI 証明機関」を選択します。

「OK」ボタンで適用すると、正常にブートし、OSをインストールできるようになります。

「テンプレート」の項目が無い場合

Hyper-VホストのOSバージョンが古い場合、「テンプレート」の設定欄が無いようです(Windows Server 2012R2以下など?)。

その場合は下記の方法②を選ぶか、あるいはPowerShellコマンドを使う必要があるようです。詳しくは、別のブログ「sanpobiyori.info」さんが紹介されている方法などが参考になります。

方法② セキュアブートを無効にする

別の方法として、まず仮想マシンの設定を開き、「セキュリティ」の項目を選択します。下のように、セキュアブートを有効にする」のチェックボックスをOFFにします。

「OK」ボタンで適用すると、方法①同様に、正常にブート可能になります。

おわりに

今回の記事は以上です。

当サイトでは、ITインフラ関連の知識やノウハウをメインに紹介しています。下の関連記事にも役立つ情報があるかもしれませんので、ぜひご覧下さい。

また、知識やノウハウを効率的に学ぶ方法として、Udemy の「ながらセミナーもおすすめです。三日坊主にならず、普段の生活の中でスキルアップする方法です。これについては下の記事で紹介していますので、良ければご覧下さい。

もとだて
もとだて

最後まで読んでいただき、ありがとうございました。

フィードバック

コメント

タイトルとURLをコピーしました