背景
仮想ではない物理的なベアメタルサーバーにubuntu serverをインストールした際に、古いVGA解像度のモニターしかデータセンター内に無くて、インストール後のサーバーのコンソール画面が表示されずに困った際のメモ。
表示モニター
古いスクエアタイプのモニターのVGA解像度でXGA(1024x768)です。
サーバー機器の場合はHDMIやDPじゃなくてVGA端子出力が割と多い。
OS
「ubuntu server 16.04 LTS」でGRUB2自体はXGA(1024x768)の解像度で表示されます。
OSのubunruが起動後のCLI画面はSXGA(1280x1024)で設定されているので、インストール後の画面が対応モニターで無い場合は表示されない状態になります。
OS起動前のGRUB2画面での設定
OS起動前のGRUB2画面で「e」のキーを押して編集モードを表示します。
以下の箇所を編集します。
gfxmode $linux_gfx_mode
gfxmode 1024x768
その他にlinux行の末尾にオプションを追加します。
nomodeset
編集が出来たら、「F10」キーを押してそのまま起動を継続します。
これで古いVGAモニターのXGA(1024x768)解像度でもコンソール画面が表示されます。
GRUB2の設定保存
このままだと再起動時には元に戻って変わらないので、GRUB2設定を保存します。
GRUB_CMDLINE_LINUX_DEFAULT="nomodeset"
GRUB_CMDLINE_LINUX="video=1024x768"
設定内容をGRUB2へ反映させます。
$ sudo grub-mkconfig -o /boot/grub/grub.cfg
これで再起動時にも変更したVGAモニターの解像度になります。