詳細な手順:Hyper-V に拡張セッション機能付き Ubuntu 20.04 をインストールする
Microsoft Hyper-V マネージャーでの拡張セッションモードの使用は、VMConnect の基本セッションモードよりも便利なVM管理方法です。 拡張セッションモード は、リモートデスクトッププロトコル(RDP)を使用して、ホストマシンのリソース(ドライブ、USBデバイス、プリンターなど)をVMに接続することを可能にします。このモードを使用することで、VMの画面のサイズを調整したり、ホストとゲスト間でテキストをコピー&ペーストするなどの操作を行うことができるようになります。
拡張セッションモード を有効にするのは、ホストOSとしてWindowsが稼働しているHyper-Vでは簡単です。Windowsにはリモートデスクトップ機能が備わっています。しかし、LinuxディストリビューションがHyper-V上のゲストオペレーティングシステムとして稼働する場合、リモートデスクトップは事前に設定されていません。最近特に人気のある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 Managerを開き、ホストマシン名を右クリックし、コンテキストメニューからNew > Virtual Machineをクリックします。
新しい仮想マシンウィザード が開きます。 開始前に ステップをスキップできます。
Specify Name and Location 例えば、 Ubuntu Hyper-V という仮想マシン名を入力します。Store the virtual machine in a different location チェックボックスを選択し、VMファイルを保存するフォルダを選択します。例えば、 E:VMs を選択します。ウィザードの各ステップでNextをクリックして続行します。
Specify Generation. 新しいVMの世代を選択します。より多くの機能が利用可能で制限が高いので、世代2を選択するのが良いです。世代2のVMはUEFIを使用します。Hyper-Vの世代1と世代2のVMについて続きを読むを見てください。
Assign Memory VMに利用可能なメモリの量を指定します。私は4096 MBを選択します。これはUbuntuを重いタスクなしで実行するのに十分です。Use Dynamic Memory for this virtual machine チェックボックスを選択します。VMに割り当てるメモリが多いほど、作業が便利になります。コンピュータのすべてのメモリをVMに割り当てず、ホストオペレーティングシステムのためのメモリを残しておいてください。このLinux VMと同時に他のVMを実行する場合、他のVMにもメモリが必要であることを忘れないでください。
Configure Networking VMの仮想仮想スイッチアダプタを接続するためのネットワークを選択します。仮想スイッチを作成していない場合は、後で作成し、VMの構成を編集することができます。
Connect Virtual Hard Disk Create a virtual hard disk をクリックします。仮想ディスク名を入力します。例えば、 Ubuntu Hyper-V.vhdx です。仮想ディスクファイルの所在地を定義します。Hyper-V VMを保存する際に使用するディレクトリを選択する必要があります。この場合、選択されたディレクトリは E:VMsUbuntu Hyper-VVirtual Hard Disks です。仮想ディスクサイズを設定します。私はテスト目的で使用するUbuntu 20.04 VMのために15 GBを選択します。
Installation Options Install an operating system from a bootable image file を選択します。Browse をクリックし、Ubuntu 20.04 ISOインストールイメージの所在地を選択します。インストールするUbuntuのバージョンは20.04.2です。公式のUbuntu ウェブサイトからインストールイメージをダウンロードできます。
Summary 構成の概要を確認し、新しいVMの作成を完了するためにFinishをクリックします。 
既に作成したUbuntu Hyper-Vバーチャルマシンの設定を開きます。Hyper-VマネージャーでUbuntu Hyper-V VMを右クリックし、コンテキストメニューでSettingsを選択します。
ナビゲーションペインで、ハードウェアセクションの中のセキュリティを選択し、Enable Secure Bootチェックボックスの選択を解除します。このバーチャルマシンではセキュアブートは必要ありません。他のVM設定も必要に応じて確認および編集できます。設定を保存してウィンドウを閉じるにはOKをクリックします。
VMにUbuntu 20.04をインストールする
新しい仮想マシンが作成されたら、このVMにゲストOSとしてUbuntu 20.04をインストールしてください。VMの電源を入れると、接続されたISOインストールイメージからUbuntu 20.04のインストーラーが起動するはずです。Ubuntu Linuxのインストール手順については、Hyper-VへのLinuxのインストールブログ記事で詳しく説明されています。
私は2つのインストール手順のみに焦点を当てます。この例では、Normal installationオプションを選択し、Download updates while installing Ubuntu20.04を使用します。
重要なのは、インストールの”Who are you?”ステップで、require the password to log inを選択することです。Ubuntu VMでHyper-Vの拡張セッションモードを使用するには、自動ログインオプションを選択しないことが不可欠です。
Ubuntu Hyper-V統合サービスはLinuxディストリビューションの一部ですので、Microsoftが提供するダウンロードパッケージを手動でインストールする必要はありません。
Ubuntuでのインストール後の設定
Ubuntu 20.04をインストールした後に、重要な作業を行います。Hyper-V VMにゲストOSとしてインストールしたUbuntu 20.04を、拡張セッションモードが機能するようにスクリプトをダウンロードして実行する必要があります。
Ubuntu 20.04でコンソール(端末)を開きます。
ダウンロードディレクトリに移動します:
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
root権限でスクリプトを実行します:
sudo ./install.sh
スクリプトの実行が完了したら、Ubuntu 20.04を再起動するよう求められ、再起動後にスクリプトを再度実行します。
Linuxマシンを再起動します:
init 6
再起動後に端末を開き、スクリプトがあるディレクトリに移動し、もう一度スクリプトを実行します:
cd ~/Downloads/
sudo ./install.sh
スクリプトの実行が完了したら、Ubuntu仮想マシンを再起動します。
Hyper-Vを実行しているホストWindowsマシンの設定
全般的なHyper-V設定で拡張セッションモードを許可する必要があります。 それ以外の場合、VMウィンドウで改善されたセッションモードアイコンは非アクティブになります。Hyper-V マネージャーを開き、Hyper-V がインストールされているホストWindowsマシンの名前を右クリックして、コンテキストメニューから Hyper-V Settings をクリックします。
ナビゲーション ペインで 改善されたセッションモード ポリシー を選択し、それから Allow enhanced session mode チェックボックスを選択します。Hyper-V 設定をセーブしてウィンドウを閉じるには OK をクリックします。
今、Ubuntu 20.04 がインストールされている“Ubuntu Hyper-V” VMのために、HvSocket を使って改善されたセッションモードを有効にするよう Hyper-V を設定する必要があります。
以下のコマンドを Hyper-V を実行中のホスト Windows マシン上で PowerShell(管理者として)で実行してください:
Set-VM -VMName <your_vm_name> -EnhancedSessionTransportType HvSocket
もし VM 名前にスペースが含まれている場合はダブルクォートを使用します。私の場合、コマンドは次のようになります:
Set-VM -VMName "Ubuntu Hyper-V" -EnhancedSessionTransportType HvSocket
次のエラーが表示されることがあります:
Set-VM : パラメーター の名前として ‘EnhancedSessionTransportType’ に一致するものが見つかりません。
行:1 文字数:30
+ Set-VM -VMName “Ubuntu20-04” -EnhancedSessionTransportType HvSocket
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [Set-VM], ParameterBindingException
+ FullyQualifiedErrorId : NamedParameterNotFound,Microsoft.HyperV.PowerShell.Commands.SetVM
このエラーは、新しい cmdlet とパラメーターをサポートしていない古いバージョンの PowerShell を使用していると発生することがあります。
この場合の推奨事項としては、ホスト Windows オペレーティングシステムを Windows Server 2019、Windows 10 1803、またはそれ以降に更新することを試してください。オペレーティングシステムを更新できない場合、必要な cmdlet と機能を含む新しいバージョンの Windows PowerShell に更新する必要があります。
Hyper-V ホストを再起動する必要があるかもしれません(PowerShellでの Ubuntu 20.04 のための改善されたセッションモードを有効にする最終コマンドを実行することを忘れないでください)。Linux VM を停止し、再起動してください。Ubuntu が起動すると、VM ディスプレイ構成と他の改善されたセッションモードのオプションを含むウィンドウが表示されるはずです。 Show options をクリックし、 ローカルリソース タブで必要なリソースを選択して、ホストリソースを VM のゲスト OS(この場合 Ubuntu 20.04)に接続します。問題の発生確率を下げるために、最初の回はプリンターのチェックを外すことが推奨されます。
Xorg ログインウィンドウで Ubuntu ユーザーのユーザー名とパスワードを入力します。改善されたセッションモードボタンが今や仮想マシンウィンドウでアクティブになっていることに注意してください。
今、Ubuntu 20.04 の GUI(グラフィカルユーザーインターフェイス)とデスクトップが表示されるはずです。 共有クリップボードやその他の共有機能、および仮想マシン(VM)での画面解像度の変更を試してみてください。
認証情報を入力した後に画面が真っ暗になる場合は、以下の原因が考えられます。Ubuntuのデスクトップセッションにすでにユーザーがログインしている。そのユーザーをログアウトさせ、セッションを終了させてください。その後、Hyper-Vの拡張セッションモードとXrdpを使用してUbuntuに接続してみてください。Ubuntu VMを再起動し、拡張セッションモードでUbuntuに接続することもできます。
Hyper-V上のUbuntu 20.04ゲストで拡張セッションオプションが利用できない場合は、/etc/xrdpにあるxrdp.ini設定ファイルを編集してみてください。このファイルの編集にはroot権限が必要です。xrdp.iniファイル内の2行を編集します。
以下のパラメータを変更してください:
port=3389 to port=vsock://-1:3389
use_vsock=true to use_vsock=false
この問題はUbuntu 20.04.1で修正されているはずです。
手動設定の詳細については、 Linux での RDP の設定 に関するブログ記事も参照してください。
まとめ
Ubuntu Linuxは、便利で信頼性が高く、世界中で広く利用されている優れたオペレーティングシステムです。ホストOSとしてコンピュータにインストールされたWindowsを使用している場合、Hyper-Vの仮想マシン上でUbuntuを実行できます。このブログ記事では、Hyper-V上でUbuntu 20.04を実行する仮想マシンで、拡張セッションモードを有効にする方法について説明しました。このチュートリアルでは、ホストマシンとしてWindows 10 20H2を使用しています。 Windows Server 2019 でも同様の設定を行うことができます。拡張セッションモードを有効にすると、仮想マシンをより便利に操作するための追加機能が利用できるようになります。設定の主なポイントは、Ubuntu ゲスト上で設定スクリプトを実行することです。
Hyper-V 仮想マシンを使用している場合は、仮想マシンのデータを保護するために、Hyper-V バックアップを忘れずに実行してください。NAKIVO Backup & Replication の無料版をダウンロードし、Hyper-V ホスト上の仮想マシンをバックアップしましょう。




















