淡々と備忘録を綴る

IT周りの行き詰まったところやメモを備忘録として記録します

Hyper-V上に構築したUbuntu20.04の画面サイズを大きくする

目的

Hyper-v上にGUIベースのLinuxマシンを構築するにあたって、全人類がぶち当たる問題が 「画面サイズが小さいこと」である。 今回はHyper-V上に立てたUbuntuを全画面表示できるように設定したのでここにその作業を残す。

使用環境

  • ホストOS:Windows10 Pro
  • 仮想化基盤:Hyper-v
  • ゲストOS:Ubuntu LTS 20.04

    やったこと

  • grubの設定の変更
  • linux-vm-toolsのインストール

grubの設定の変更

まずはじめにgrubの設定ファイルを編集する方法を取った。。
結論から言うと、これは効果なし。
どうやらこの手法が有効なのはUbuntu16系までらしい。残念。
一応やったことを残しておくと、/etc/default/grubファイルを書き換えました、なむ。

sudo vi /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT の行の末尾に video=hyperv_fb:[変更したい解像度] を追記
sudo update-grub
sudo reboot

linux-vm-toolsのインストール

こっちの方法で解決した。 Ubuntuにxrdpプロトコルで接続するためにlinux-vm-toolsのインストールを行う

sudo apt install git
git clone https://github.com/microsoft/linux-vm-tools.git
cd linux-vm-tools/
git fetch --all
git pull origin pull/106/head:pull_106
git checkout pull_106
cd ubuntu/20.04/
sudo bash ./install.sh
sudo reboot

再起動後、もう一度shを叩くらしい(?)

cd linux-vm-tools/ubuntu/20.04/
sudo bash ./install.sh

これでUbuntu側の準備は完了。 仮想OS:をシャットダウンして、ホスト側のPowerShellで以下のコマンドを実行

Set-VM -VMName <VMの名前> -EnhancedSessionTransportType HvSocket

これで次回実行時xrdpセッションが立ち上がります。

補足

無事拡張セッション(xrdpセッション)が立ち上がったが、ログインして見ると画面が真っ暗。真っ黒。なんで。
原因を調べてみると、Hyper-vの基本セッション上でログインしているユーザを使用してxrdpでログインしたことが原因。
さっくり基本セッションからログオフすると無事画面が表示された。
ちゃんとログオフしておくか、別のユーザを使用してxrdpログオンしましょう。
ついでに、xrdp有効化にしてから基本セッションでターミナルが開かなくなるという致命的な状況になった。が、xrdp経由だとターミナルは使えるので一旦放置している。
いつかこれが原因でドツボに嵌りそうでこわい。