2024年10月17日木曜日

Hyper-V Server 2019でGUIを使ってみる

お勉強用にあれこれ仮想マシンを構築するための仮想化基盤としてWindows10でHyper-Vを有効にしているのですが、CPUが古すぎる(Core i7-3770)ためにWindows11にアップグレードできないという問題を抱えています。
サポートが切れた後もWindows10を稼働させ続けるのはよくないので、適当なLinuxをインストールしてKVMを使うか…と思っていたのですが、Hyper-V Server 2019であれば2029年までサポートされているし無料で使えることに気づきました。
しかし、Hyper-V ServerはWindowsのように管理用GUIがないため、スタンドアロンで管理するのが面倒な製品でもあります。
ですが、インターネットで探してみればHyper-V ServerのGUI導入にチャレンジして見事に成功している人たちもいます。その中でもいちばんわかりやすかった記事をもとに、私もHyper-V ServerのGUI導入にチャレンジしてみることにしました。


はじめに



※この記事はHyper-V Server 2019のインストールとインターネットへの接続が完了していることを前提にしております。
※今回参考にさせていただいたWebサイトはこちらです。
 https://kghorvath.com/posts/hyperv2019-gui/


Server Core App Compatibility Feature on Demandを有効にする



Server Core App Compatibility Feature on Demandを有効にすることで、ファイルエクスプローラ(explorer.exe)やMicrosoft管理コンソール(mmc.exe)などが利用できるようになります。
概要については、こちらのMicrosoft社の記事を参照してください。
https://learn.microsoft.com/ja-jp/windows-server/get-started/server-core-app-compatibility-feature-on-demand
  1. コマンドプロンプト(cmd.exe)でpowershellと入力して、PowerShellを起動します。

  2. PowerShellで以下のコマンドを入力して、Server Core App Compatibility Feature on Demandを有効にします。
    Add-WindowsCapability -Online -Name ServerCore.AppCompatibility~~~~0.0.1.0

  3. PowerShellでrestart-computerと入力して、Hyper-V Serverを再起動します。


Hyper-V Serverのシェルとしてexplorer.exeを使用する設定をする



Hyper-V Serverではデフォルトのシェルとしてコマンドプロンプトを使用するようレジストリで設定されております。
これをexplorer.exeを使用するように変更して、ふだんWindowsで見慣れたデスクトップ画面をHyper-V Serverでも使えるように設定します。
  1. コマンドプロンプト(cmd.exe)でregeditと入力して、レジストリエディターを起動します。

  2. レジストリエディターで以下の階層にアクセスします。
    HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\AlternateShells\AvailableShells


  3. レジストリエディターの左ペインの「AvailableShells」を右クリックして「アクセス許可」を選択します。

  4. 「詳細設定」をクリックします。

  5. 「所有者: TrustedInstaller」の右にある「変更」をクリックします。

  6. 「選択するオブジェクト名を入力してください」に「Administrator」と入力して「名前の確認」をクリックします。

  7. 現在のAdministratorユーザーが入力されたことを確認して「OK」をクリックします。

  8. 「所有者: Administrator」になっていることを確認して「OK」をクリックします。

  9. アクセス許可エントリから「Administrator」を選択して「編集」をクリックします。

  10. 「フルコントロール」にチェックを入れて「OK」をクリックします。

  11. 「OK」をクリックします。

  12. 「OK」をクリックします。

  13. レジストリエディターの右ペインの適当なところを右クリックして「新規」>「文字列値」を選択します。

  14. 30000より大きな値を入力します(60000など)

  15. 前の手順で入力した数字をダブルクリックして、値のデータに「explorer.exe」と入力して「OK」をクリックします。

  16. レジストリエディターを閉じます。

  17. ユーザーのログオフ、ログインをします。


OpenShellを導入する



ここまでの手順で、ぱっと見はWindowsとほとんど変わらないデスクトップ画面になりました。
しかし、実際にはWindowsアイコンや検索アイコンをクリックしても何も変化がなく、このままでは使い物になりません。
そこで、OpenShellを導入することで、Windowsと同様にスタートメニューや検索機能を使えるようにします。
  1. 「ごみ箱」をダブルクリックしてエクスプローラを開き、アドレスバーに「powershell」と入力してPowerShellを起動します。

  2. PowerShellで以下のコマンドを入力して、OpenShellのインストーラをダウンロードします。
    wget https://github.com/Open-Shell/Open-Shell-Menu/releases/download/v4.4.191/OpenShellSetup_4_4_191.exe -outfile OpenShell.exe

  3. PowerShellでOpenShell.exeと入力して、起動したインストーラに従ってOpenShellをインストールします。

  4. インストール完了後タスクバーのWindowsアイコンをクリックすると、OpenShellの設定画面にアクセスできるので、好みの設定をして「OK」をクリックします。

  5. 再度タスクバーのWindowsアイコンをクリックすると、Windowsのスタートメニューや検索機能を使えるようになっております。


Webブラウザをインストールする



けっこういい感じになってきましたが、Webブラウザをインストールすることで必要なソフトウェアを簡単にダウンロードできるようになります。
今回は、私がいつも使っているVivaldiをインストールしてみます。
  1. PowerShellを起動します。(ここまでくればスタートメニューの「すべてのプログラム」から選択できるようになってます)

  2. PowerShellで以下のコマンドを入力して、Vivaldiのインストーラをダウンロードします。
    wget https://downloads.vivaldi.com/stable/Vivaldi.6.9.3447.54.x64.exe -outfile VivaldiSetup.exe

  3. PowerShellでVivaldiSetup.exeと入力して、起動したインストーラに従ってVivaldiをインストールします。


今後の予定



もっとがんばればさらにWindowsに近づくことができるのでは?と思わせてくれて、ひさびさに楽しく遊ぶことができました。
圧縮・解凍ソフトとかアンインストーラとか、いろいろつっこめばさらに充実したものになりそうです。

ただ、私の場合は仮想化基盤として使う目的がメインなので、これ以上は趣味の世界につっこみすぎというのも正直あります。
あとふだんのお仕事ではESXiを、自宅ではHyper-Vを使っていて、KVMを使ったことがなくて試しに使ってみたいなあという気持ちもあるので、適当な仮想マシンを構築して試しに使ってみてよかったほうを使おうかなあと思います。