CentOSをHyper-V上に入れるときのポイント(第一世代 vs 第二世代)

More than 1 year has passed since last update.

この記事を書こうと思ったきっかけ

普通にHyper-VにCentOS7インストールできるだろうと思って試したところ、エラーが出たので忘れないうちにメモ。

最初に結論

Hyper-Vのデフォルト設定を変更する必要がある。
「ハードウェア」→「セキュリティ」→「セキュアブート」
デフォルト:Microsoft Windows
変更後:Microsoft UEFI 証明機関
※もしくはセキュアブートを無効化してもよいようだ。

SnapCrab_DESKTOP-UIMJQCQ 上の CentOS7 の設定_2018-8-26_20-58-32_No-00.png

現象

普通にダウンロードしたCentOSのISOイメージを使って、DVDブートでインストールしようとすると、
「The image's hash and certificate are not allowed (DB)」
と出てインストールに失敗する。

昔はこんなことはなかったような…

SnapCrab_NoName_2018-8-26_20-56-55_No-00.png

そもそもの根本原因

調べた結果、UEFIのセキュアブートが起動をチェックしているためのようだ。

UEFIの仮想マシンを選んだため、セキュアブート機能がデフォルトで有効になっている。
どこで選択していたかというと、インストール時に仮想マシンの世代として
・第一世代
・第二世代
並んでいたので、「新しいほうがいいだろう」と安易に第二世代を選んだ。

SnapCrab_仮想マシンの新規作成ウィザード_2018-8-26_22-9-25_No-00.png

第一世代、第二世代?

ではどちらを選べばよかったのか?

選ぶ場合の選択条件は以下に記載があったので、簡単に翻訳したが、正直これだけでは、第2世代を選ぶ大きなメリットはなく、どっちでもいい感じ。
結局のところ、「新しいほうがいいだろう」で第二世代でいいのではないか。

https://docs.microsoft.com/en-us/previous-versions/orphan-topics/ws.11/dn770158(v=ws.11)

選択時の判断基準

以下の条件に当てはまらない場合は、MicrosoftはSecure bootなどの機能の優位性を確保できるので、第2世代を推奨する。

・ブートしようとするVHDがUEFI互換ではない場合
 ※第一世代の設定で作ったVMマシンのイメージかな?
・バーチャルマシンをAzureにマイグレーションする予定がある場合
・第二世代が起動したいOSをサポートしていない場合
 第二世代でサポートしているOS:
  1) Windows 64bit(Windows Server 2012 無印/R2、Windows10/8.1/8)
  2) CentOS/RHEL(7.xシリーズ)
  3) Oracle Linux(7.xシリーズ)
  4) SUSE (SUSE Linux Enterprise Server 12)
  5) Ubuntu (Ubuntu 14.04 and later versions)
・第二世代が起動したい方式をサポートしていない場合
 第二世代でサポートしている起動方式:
  1) 標準ネットワークアダプタによる PXE ブート
  2) SCSI仮想ディスク(.VHDX) または仮想DVD(.ISO) からの起動
  ※Legacy network adapterを用いたPXE Boot、IDEのDISK/DVD、Floppyは非対応

第2世代の機能の優位性

Secure Bootが使える
…(著者注:VMにSecure Bootが必要なシチュエーションって…。しかも無効にできるしな…)
大きなブートボリュームを使える
第2世代では、起動ディスクのサイズとして64TBまで使用できる。
第一世代のBoot領域の最大サイズは2TB。
(VHDX形式で2TB、.VHD形式で2040GBの記載があるが意味不明)

おまけ

ネットワークアダプタのレガシーと、標準の何が違うのか?
レガシーネットワークアダプタは「DEC DC21140A」をソフトウェアエミュレートするため、負荷が大きい。対して、標準ネットワークアダプタはVMBusを介して、直接コマンドをデバイスに流すため負荷が軽い。

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away