エンハンストセッションモードを使用すると、Microsoft Hyper-V ManagerでVMを管理する方法は、VMConnectの基本セッションモードよりも便利です。 エンハンストセッションモードでは、リモートデスクトッププロトコル(RDP)を使用して、ホストマシンのリソース(ドライブ、USBデバイス、プリンターなど)をVMにアタッチできます。このモードを使用すると、VMの画面をリサイズしたり、ホストからゲストへのテキストのコピー&ペースト、逆も可能になるなど、特定のアクションを実行できます。
エンハンストセッションモードを有効にする方法は、ハイパーバイザーで動作しているWindows上で簡単です。Windowsにはリモートデスクトップ機能が付属しています。ただし、ハイパーバイザーで動作しているゲストオペレーティングシステムとしてLinuxディストリビューションを実行している場合、リモートデスクトップは事前に設定されていません。現在、かなり人気のあるUbuntu 20.04 LTSは、LinuxをホストOSとしてインストールできない場合に特にHyper-V VM上に展開されることがよくあります。WindowsでUbuntuを実行するためのHyper-Vのエンハンストセッションモードの使用方法を学びましょう。
VMの作成と設定
では、Hyper-VでUbuntu 20.04 VMをゼロから作成して構成する方法を見てみましょう。このブログ記事では、Windows 10 Pro バージョン 20H2にHyper-Vがインストールされています。私のWindows 10ホストマシンのホスト名はhome-pcです。Ubuntu VMを実行する前に、Hyper-Vを有効にする必要があります。WindowsホストにHyper-Vがインストールされていない場合は、Windows 10にHyper-Vをインストールする方法やWindows Server 2019を読んでください。
Hyper-Vで新しいVMを作成するには、Hyper-Vマネージャーを開き、ホストマシン名を右クリックし、コンテキストメニューでNew > Virtual Machineをクリックします。
New Virtual Machine Wizardが開きます。 Before You Beginステップはスキップしても構いません。
名前と場所の指定。仮想マシンの名前を入力します。例えば、Ubuntu Hyper-Vとします。 仮想マシンを別の場所に保存するチェックボックスを選択し、VMファイルを保存するフォルダを選択します。例えば、E:\VMs\です。ウィザードの各ステップでNextをクリックして進みます。
世代の指定。新しいVMの世代を選択します。機能がより多く利用可能で制限も高いGeneration 2を選択する方が良いです。Generation 2 VMはUEFIを使用します。 Hyper-VのGeneration 1およびGeneration 2 VMについては、詳細を読むを参照してください。
メモリの割り当て。VMに割り当てるメモリの量を指定します。私は4096 MBを選択しました。これは重いタスクを実行せずにUbuntuを実行するのに十分なメモリです。 この仮想マシンに動的メモリを使用するチェックボックスを選択します。VMに割り当てるメモリが多ければ多いほど、作業が便利になります。コンピュータのすべてのメモリをVMに割り当てないでください。ホストオペレーティングシステムのためにメモリを残しておいてください。このLinux VMと同時に他のVMも実行する場合は、他のVMもメモリを必要とすることを覚えておいてください。
ネットワーキングの構成。仮想スイッチを選択して、VMの仮想ネットワークアダプターを接続します。仮想スイッチを作成していない場合は、後で作成してVMの構成を編集できます。
仮想ハードディスクの接続。 仮想ハードディスクの作成をクリックします。仮想ディスクの名前を入力してください。例えば、Ubuntu Hyper-V.vhdxです。仮想ディスクファイルの場所を定義します。Hyper-V VMを保存するディレクトリ内の場所を選択する必要があります。私の場合、選択したディレクトリはE:\VMs\Ubuntu Hyper-V\Virtual Hard Disks\です。仮想ディスクのサイズを設定します。テスト用に使用するUbuntu 20.04 VMの場合、15 GBを選択します。
インストールオプション。 起動可能なイメージファイルからオペレーティングシステムをインストールを選択します。 参照をクリックして、Ubuntu 20.04 ISOインストールイメージの場所を選択します。私がインストールするUbuntuのバージョンは20.04.2です。インストールイメージは公式Ubuntuウェブサイトからダウンロードできます。
概要。構成の概要を確認し、新しいVMの作成を完了するには完了をクリックします。
すでに作成したUbuntu Hyper-V仮想マシンの設定を開きます。Hyper-VマネージャーでUbuntu Hyper-V VMを右クリックし、コンテキストメニューで設定を選択します。
ナビゲーションペインで、セキュリティをハードウェアセクションで選択し、セキュアブートを有効にするチェックボックスを選択解除します。この仮想マシンではセキュアブートは必要ありません。必要に応じて他のVM設定を確認および編集できます。設定を保存してこのウィンドウを閉じるにはOKをクリックします。
VMにUbuntu 20.04をインストールする
新しい仮想マシンが作成されたら、このVMにゲストオペレーティングシステムとしてUbuntu 20.04をインストールする必要があります。VMの電源を入れ、Ubuntu 20.04インストーラーは添付されたISOインストールイメージから起動するはずです。Ubuntu Linuxのインストールプロセスは、Hyper-VにLinuxをインストールするブログポストで詳しく説明されています。
I’ll focus on two installations steps only. In this example, I select Normal installation with the option to Download updates while installing Ubuntu 20.04.
選択する重要なオプションは、インストールの「あなたは誰ですか?」ステップでログインにパスワードが必要です。Ubuntu VMの強化セッションモードを使用する場合、自動的にログインオプションが選択されていると利用できません。
Ubuntu Hyper-V統合サービスはLinuxディストリビューションの一部であり、Microsoftが提供するダウンロードパッケージを手動でインストールする必要はありません。
Ubuntu 20.0をインストールした後の設定
Ubuntu 20.0をインストールした後に重要な設定を行う必要があります。Ubuntu 20.04をゲストOSとしてHyper-V VMに設定するためのスクリプトをダウンロードして実行する必要があります。
Ubuntu 20.04でコンソール(ターミナル)を開きます。
Downloadsディレクトリに移動します:
cd ~/Downloads/
ダウンロードUbuntu 20.04の更新されたスクリプト:
wget https://raw.githubusercontent.com/Hinara/linux-vm-tools/ubuntu20-04/ubuntu/20.04/install.sh
ダウンロードされたinstall.shスクリプトファイルに実行権限を追加:
sudo chmod +x install.sh
ルート権限でスクリプトを実行:
sudo ./install.sh
スクリプトの実行が完了すると、再起動後にUbuntu 20.04を再起動してスクリプトを再実行するように促されます。
Linuxマシンを再起動:
init 6
再起動後、ターミナルを開き、スクリプトがあるディレクトリに移動し、スクリプトを再び実行します:
cd ~/Downloads/
sudo ./install.sh
スクリプトの実行が完了したら、Ubuntu仮想マシンを再起動します。
ホストのWindowsマシンで動作しているHyper-Vの設定
一般のHyper-V設定で拡張セッションモードを許可する必要があります。そうしないと、VMウィンドウの拡張セッションモードアイコンは非アクティブになります。Hyper-Vマネージャーを開き、Hyper-VがインストールされているホストのWindowsマシンの名前を右クリックし、コンテキストメニューでHyper-V設定をクリックします。
ナビゲーションペインでEnhanced Session Mode Policyを選択し、Allow enhanced session modeチェックボックスを選択します。Hyper-Vの設定を保存してウィンドウを閉じるにはOKを押します。
これで、Ubuntu 20.04がインストールされている「Ubuntu Hyper-V」VMでHyper-VをHvSocketを使用して拡張セッションモードを有効にする必要があります。
このコマンドをPowerShellで実行してください(管理者として)、Hyper-Vを実行しているホストWindowsマシンで。
Set-VM -VMName <your_vm_name> -EnhancedSessionTransportType HvSocket
VM名にスペースが含まれている場合は二重クォーテーションを使用してください。私の場合、コマンドは次のようになります。
Set-VM -VMName “Ubuntu Hyper-V” -EnhancedSessionTransportType HvSocket
次のエラーが表示されることがあります。
Set-VM : A parameter cannot be found that matches parameter name ‘EnhancedSessionTransportType’.
At line:1 char:30
+ Set-VM -VMName “Ubuntu20-04” -EnhancedSessionTransportType HvSocket
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [Set-VM], ParameterBindingException
+ FullyQualifiedErrorId : NamedParameterNotFound,Microsoft.HyperV.PowerShell.Commands.SetVM
このエラーは、古いバージョンのPowerShellを使用していて、新しいコマンドレットやパラメータをサポートしていない場合に発生することがあります。
この場合、以下の推奨事項に従ってください:ホストのWindowsオペレーティングシステムをWindows Server 2019、Windows 10 1803、またはそれ以降のバージョンにアップデートしてください。オペレーティングシステムをアップデートできない場合は、必要なコマンドレットと機能を含む新しいバージョンのWindows PowerShellにアップデートしてください。
Hyper-Vホストを再起動する必要があるかもしれません(PowerShellでUbuntu 20.04の拡張セッションモードを有効にする最後のコマンドを実行することを忘れないでください)。Linux VMを停止して起動します。Ubuntuが起動すると、VM表示設定と拡張セッションモードの他のオプションを含むウィンドウが表示されます。オプションを表示をクリックし、ローカルリソースタブで、VMのゲストOS(この場合はUbuntu 20.04)にホストリソースを接続するために必要なリソースを選択してください。最初はプリンターをチェックを外すことをお勧めします。問題の発生確率を下げるためです。
XorgログインウィンドウでUbuntuユーザーのユーザー名とパスワードを入力してください。この時点で、仮想マシンウィンドウの拡張セッションモードボタンがアクティブになっていることに注意してください。
これで、Ubuntu 20.04のGUI(グラフィカルユーザーインタフェース)とデスクトップが表示されるはずです。共有クリップボードや他の共有機能を試したり、VM内で画面解像度を変更してみてください。
資格情報を入力した後にブラックスクリーンが表示される場合、その原因は以下のようなものかもしれません:ユーザーがすでにUbuntuのデスクトップセッションにログインしています。そのユーザーをログアウトしてセッションを終了してください。その後、拡張セッションモードとXrdpを使用してHyper-VでUbuntuに接続し直してみてください。Ubuntu VMを再起動して、拡張セッションモードでUbuntuに接続することもできます。
もしHyper-VでUbuntu 20.04ゲストの強化セッションオプションが利用できない場合、/etc/xrdpにあるxrdp.ini構成ファイルを編集してみてください。root権限でファイルを編集する必要があります。xrdp.iniファイル内の2行を編集してください。
これらのパラメータを変更してください:
port=3389をport=vsock://-1:3389に変更
use_vsock=trueをuse_vsock=falseに変更
この問題はUbuntu 20.4.1で修正されています。
手動設定についてさらに学ぶために、LinuxでのRDP設定に関するブログ投稿も読んでください。
結論
Ubuntu Linuxは便利で信頼性が高く、世界中で広く使用されている素晴らしいオペレーティングシステムです。コンピュータ上にインストールされたWindowsをホストOSとして使用している場合、Hyper-V VM上でUbuntuを実行できます。このブログ投稿では、Hyper-VでUbuntu 20.04を実行する仮想マシンの強化セッションモードを有効にする方法を説明しました。このチュートリアルでは、ホストマシンとしてWindows 10 20H2を使用していますが、Windows Server 2019でも同じ設定を行うことができます。強化されたセッションモードは、VMでの作業をより便利にするための追加機能を提供します。設定の主なポイントは、Ubuntuゲストで設定スクリプトを実行することです。
Hyper-V VMを使用する場合は、仮想マシンのデータを保護するためにHyper-Vバックアップを実行することを忘れないでください。NAKIVO Backup & ReplicationのFree Editionをダウンロードし、Hyper-Vホスト上のVMをバックアップしてください。
Source:
https://www.nakivo.com/blog/install-ubuntu-20-04-on-hyper-v-with-enhanced-session/