UJP - 技術情報1

Life is fun and easy!

不正IP報告数

Okan Sensor
 
メイン
ログイン
ブログ カテゴリ一覧

Surface Go 2にUbuntu Serverをインストール

Surface Go 2にUbuntu Serverをインストールする


概要

更新履歴

  • 2026/04/23 初版

目次


はじめに

 このドキュメントは,中古で7980円で買ったSurface Go 2 4M RAM 64G eMMCを,インストールされていたWindows 11 Proを消して,Ubuntu Serverをインストールした記録である.
 長持ちさせるためにハードウェアのバッテリの充電リミットを変更したり,インストールメディアの作成なども行う.
 今回は,インストールを進めるにあたり,次のような材料を利用している.
  • Surface Go 2本体
  • インストール用の空の4GBUSBメモリ
  • インストーラー作成したmacOSのパソコン
  • インストーラーを作成するbalenaEtcher
  • Type-C対応USBハブ

ハードウェアの準備

サーバ用にバッテリを駆使しないように設定する

  • バッテリをフル充電にすると寿命が短くなるそうで,最大50%までしか充電しない設定にする.
  • OSをシャットダウンする.
  • Surface Go 2の側面にあるボリュームボタンの+を押しながら,電源ボタンを一度押して,電源ボタンから手を離す.

  • Surfaceロゴが表示されたら,音量ボタンからも手を離す.
  • すると,次のようにUEFIメニューが表示される.


  • Boot Configurationメニューを選ぶ.

  • 一番下に,Kiosk Modeの中に,Battery Limitがある.


  • これをクリックすると,DisabledからEnabledに変わる.

  • Exitメニューから,Restart nowボタンをクリックして終了.

Ubuntu Serverをダウンロードしてインストーラーを準備する

  • Surface Go 2にUbuntu Serverをインストールするには,インストーラをダウンロードし,それをスティック型USBメモリにコピーしてインストーラーを作る.
  • 今回,インストーラーとしては,10年以上前に買ったSiliconPowerの4GBメモリを利用.

  • 以下のサイトから,モジュールをダウンロードする.
    • https://ubuntu.com/download/server


  • ダウンロードしたら,ISOイメージからインストーラを作ってくれるbalenaEtcherを使用する.

  • ISOイメージファイルとインストール先のUSBメモリを指定し,Flash!ボタンを押す.
  • すると次のようなダイアログが.

  • ログインユーザでフォーマットして書き込む権限が必要になるため.


  • 書き込みがは始まったら,macOSの場合スリープしないように気をつける.

  • しばらく経ったら無事終了.

Surface Go 2にはUSB-Cポートが1つしか無いのでダイソーのUSBハブを使った

  • うちにあるUSBメモリはType A端子ばかりで,Surface Go 2のUSB-Cポートに接続できないので,雨の中,ダイソーに行って「薄型Type-Cハブ(USB4ポート)を買ってきた.

  • USB3.0に対応しているのは1つで,青色がついている.

USBメモリのインストーラを起動

  • 環境が揃ったので,USBメモリからUbuntu Serverをインストールしてみる.
  • まず,Surface Go 2の電源をオフにした上で,USBハブ,USBメモリを接続する.
  • 音量のマイナスボタンを押しながら,電源ボタンを1回押して電源ボタンから手を放す.

インストーラーが起動しないのでUEFIを見直す

  • 電源ボタンを押すと,USBメモリが光るので通電して認識しているようだけど,何度やってもインストーラーの入ったUSBメモリから起動しない.
  • UEFIの設定見直す.
  • まずは,Boot Configuration.

  • Windows Boot Managerが一番上にあるので,USB Storageに変更する.
  • しかし,うちではそれでも起動しなかった.
  • 次に,Securityを見直す.

  • この3つの設定項目,デフォルトで3つともEnabledなので,Disabledに変更.
  • これでも起動できなかった...

Windowsの設定から強制的にUSBメモリから起動する.

  • Secure Bootを無効にしても起動できなかったので,Windowsから起動デバイスを選択して実行する.
  • USBメモリを差したまま,Windowsを起動.
  • [設定]→[システム]→[回復]を開く.
  • [PCの起動をカスタマイズする]の横にある[今すぐ再起動]をクリック.

  • [デバイスの使用]を選択.

  • Linpus liteを選択.
    • Linpus Liteは、台湾のLinpus TechnologiesがFedoraをベースに開発した、軽量なLinuxオペレーティングシステム(ディストリビューション)です。主にネットブッ クや古いPC向けに設計されており、低スペック環境でも動作し、GUIが使いやすく設計されているのが特徴です。
  • うちの場合は,これでインストーラーが起動した.

Ubuntu Serverのインストール

  • Surface Go 2でインストールを行いうと,高解像度画面で画面キャプチャできなかったので,VirtualBoxを使ってインストールした内容を再現する.
  • VirtualBoxの設定内容.

  • Surface Go 2と合わせて,メモリ4GB,ストレージ64GBにしてみた.
  • 起動する.

  • しばらく待つ.

  • Englishを選択.(日本語は無い)

  • アップデータがあるというが,今回はアップデータ無しでインストールを続ける.

  • キーボードレイアウトを選択して設定.
  • Surface Go 2は,ほとんどの場合日本語キーボードだろうから,それを選択.
  • Tabキーで移動してエンターキーで選択する.

  • Variant(細かいレイアウトの違い)を選択.

  • 日本語レイアウトにもいろいろ.

  • 選択が終わったら,Done.
  • Ubunt Serverのインストールタイプを選択.

  • 今回は,Ubunt Serverを選択.

  • ネットワークを選択.
  • Suface Go 2ではWi-Fiしか搭載してないのだけど,今回は設定なしで進める.この画面はVirtualBoxだし.

  • Proxyを経由してアクセスするネットワークの場合は設定する.今回は何も設定せずにDone.

  • Ubuntuのソフトウェア配信をしているサイトの一覧.そのままDone.
  • 次は,ストレージを選択する画面.

  • 今回のインストールテスト環境のVirtualBoxで作ったストレージが選択されているが,Surface Go2では内蔵のeMMCの64GBを選択.
  • 次はストレージのパーティション.

  • 起動パーティションに2GB,62GBくらい空いてて,最終的な空き容量は31GBになる模様.

  • インストール始まるのでデータ消えても良いか?というのでContinueを押して進める.
  • サーバ名,作成するユーザアカウントとパスワードを設定.

  • Your nameに何を入れるのか.一旦管理者を示すadminとでもしておく.

  • Ubuntu Pro は,主に企業向けの長期セキュリティサポート(10年間など)を拡張するサービス.
  • 個人でも5台まで無料で利用できる.
  • 今すぐ設定する必要はなし.
  • インストールが終わってから,必要になったタイミングでいつでも有効化できる.
  • Skip for nowを選択.

  • サーバとして運用するので,SSHを使えるようインストールする.

  • サーバパッケージを選択できる.あとからインストールできるので,不明な人はすぐDoneする.
  • 次のような画面になる.

  • インストールが始まるので,待つ.

  • インストールが終わったら,Reboot Nowで再起動する.

  • インストールで利用したメディアが接続されたままの場合,再起動に失敗する.
  • USBメモリを抜いて,パソコンを再起動する.
  • しばらくすると,OSが起動してきた.

ホスト名に利用できないアンダーバー(_)を入れたので消されてしまった...
  • 良い感じ.

OSインストール後の設定

無線LANを手動でNetplanを使って設定する

  • ip link showコマンドを使って,インタフェイスを表示.

これはVirtualBoxでインストールした時のもの
  • wlp1s0という名称でインタフェイス名が出る.
  • Netplanを記入して,設定を行う.
    • ファイルは次の通り
      • /etc/netplan/01-network-manager-all.yaml
    • sudoで,viなりnanoなりで開く.
    • 次のようにコードを記入する.
network:
  version: 2
  wifis:
    wlp1s0:
      dhcp4: true
      access-points:
        "あなたのSSID名":
          password: "あなたのパスワード"
  • 記入する際に,次の部分を守る.
    • network: は行頭(スペースなし)
    • version: 2 と wifis: は行頭にスペース2つ
    • wlp1s0: は行頭にスペース4つ
    • dhcp4: と access-points: は行頭にスペース6つ
    • "SSID名": は行頭にスペース8つ
  • ファイルを保存したら,ファイルに権限を設定する.
sudo chmod 600 /etc/netplan/01-network-manager-all.yaml
  • 有効化する.
sudo netplan apply
  • Invalid YAML inconsistent indenation などのエラーが出たら,記載ミスなので間違いを探す.
  • 実行してもエラーがでなかったら,IPアドレスが割り当てられているか確認.
hostname -I (アイの大文字)
  • これでIPアドレスが表示されるはず.

sshで接続する

  • OSインストール時にOpenSSHサーバをインストールしているので,接続できるか確認する.

  • 無事接続.Firewall等は許可済みなのかな.

ストレージを確認

  • dfコマンドで現在のストレージ状態を確認.

ujpadmin@namba:~$ df -h🆑
Filesystem                         Size  Used Avail Use% Mounted on
tmpfs                              378M  2.0M  376M   1% /run
efivarfs                           164K  125K   35K  79% /sys/firmware/efi/efivars
/dev/mapper/ubuntu--vg-ubuntu--lv   27G  7.2G   19G  28% /🈁
tmpfs                              1.9G     0  1.9G   0% /dev/shm
tmpfs                              5.0M     0  5.0M   0% /run/lock
/dev/mmcblk0p2                     2.0G  103M  1.7G   6% /boot
/dev/mmcblk0p1                     1.1G  6.2M  1.1G   1% /boot/efi
tmpfs                              378M   12K  378M   1% /run/user/1000
ujpadmin@namba:~$

  • 空き領域は19G で28% か.厳しいかな?

コンソールの文字を大きくする

  • Surface Go 2は,10.5インチサイズで1920x1280の画面サイズ.老眼には厳しい.

たくさん表示されるのはありがたいが・・・
  • よって,コンソールの文字を大きくしたい.
  • console-setupを実行する.

sudo dpkg-reconfigure console-setup

  • 次のような画面が表示される.


  • 文字コードの選択.UTF-8を選択.


  • キャラクターセットの選択.Latin; Slavic Cyrillic; Greekを選択.
    • Latin: 英語、フランス語、ドイツ語などの西欧言語
    • Slavic Cyrillic: ロシア語、ウクライナ語、ブルガリア語などのキリル文字
    • Greek: ギリシャ文字
  • コンソールで日本語は表示しない前提で.

  • フォントの選択.むかしながらのFixedか,ゼロとオーなどの視認性が良いTerminus.
  • ここではTerminusで.

  • ここではフォントサイズを指定.
  • この画面でOKを押すと,コンソール画面のフォントサイズが即座に変更される.

  • お!馴染みのある感じに.

軽量のウィンドウシステムをインストールする

  • 折角画面もあるのだし,GUIも動いた方が良いので,軽量デスクトップ環境のLubuntuをインストールする.

ujpadmin@namba:~$ sudo apt install --no-install-recommends lubuntu-desktop🆑
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  accountsservice adwaita-icon-theme alsa-base alsa-utils anacron at-spi2-common bsdextrautils
  bsdutils bubblewrap cpp cpp-13 cpp-13-x86-64-linux-gnu cpp-x86-64-linux-gnu dbus-x11
  dconf-gsettings-backend dconf-service desktop-file-utils eject fdisk ffmpegthumbnailer

ー略ー


  xinput xorg xorg-docs-core xorg-sgml-doctools xserver-common xserver-xorg xserver-xorg-core
  xserver-xorg-input-all xserver-xorg-input-libinput xtrans-dev zip zlib1g-dev

The following packages will be upgraded:
  bsdextrautils bsdutils eject fdisk gcc-14-base libblkid1 libfdisk1 libgcc-s1 libmount1

  libsmartcols1 libssh-4 libstdc++6 libuuid1 mount util-linux uuid-runtime
16 upgraded, 454 newly installed, 0 to remove and 92 not upgraded.

Need to get 238 MB/241 MB of archives.
After this operation, 823 MB of additional disk space will be used.

Do you want to continue? [Y/n]

  • yを入力.

Scanning candidates...
Scanning processor microcode...
Scanning linux images...

Running kernel seems to be up-to-date.

The processor microcode seems to be up-to-date.

Restarting services...
 /etc/needrestart/restart.d/systemd-manager
 systemctl restart fwupd.service multipathd.service polkit.service rsyslog.service systemd-journald.service systemd-networkd.service systemd-resolved.service systemd-timesyncd.service systemd-udevd.service thermald.service udisks2.service upower.service

Service restarts being deferred:
 systemctl restart ModemManager.service
 systemctl restart NetworkManager.service
 systemctl restart systemd-logind.service
 systemctl restart unattended-upgrades.service

No containers need to be restarted.

User sessions running outdated binaries:
 ujpadmin @ session #22: apt[10094]
 ujpadmin @ user manager service: systemd[1272]

No VM guests are running outdated hypervisor (qemu) binaries on this host.
ujpadmin@namba:~$

  • インストールは正常終了.システムが自動的に関連サービスを再起動.
  • エラーは出てない.
  • User sessions running outdated binariesとでているので,中身が古いプログラムが動いたままというので,OSを再起動する.

ujpadmin@namba:~$ sync🆑
ujpadmin@namba:~$ sync🆑
ujpadmin@namba:~$ sudo reboot🆑

  • 久しぶりにsyncコマンド使った・・・
  • 再起動すると,GUIが起動する.

ブラウザとしてFirefoxをインストールする

  • デフォルトでは何も入ってない?っぽいので,Firefoxをインストール.

ujpadmin@namba:~$ sudo apt install firefox🆑
[sudo] password for server:🔑
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following NEW packages will be installed:
  firefox
0 upgraded, 1 newly installed, 0 to remove and 92 not upgraded.
Need to get 77.3 kB of archives.
After this operation, 124 kB of additional disk space will be used.

ー略ー

==> Installing the firefox snap
 2026-04-25T16:13:42Z INFO Waiting for automatic snapd restart...
firefox 150.0-1 from Mozilla✓ installed
=> Snap installation complete
Unpacking firefox (1:1snap1-0ubuntu5) ...
Setting up firefox (1:1snap1-0ubuntu5) ...
update-alternatives: using /usr/bin/firefox to provide /usr/bin/gnome-www-browser (gnome-www-browser)
 in auto mode update-alternatives: using /usr/bin/firefox to provide /usr/bin/x-www-browser (x-www-browser)
 in auto mode Processing triggers for hicolor-icon-theme (0.17-2) ...
Scanning processes...
Scanning processor microcode...
Scanning linux images...

Running kernel seems to be up-to-date.

The processor microcode seems to be up-to-date.

No services need to be restarted.

No containers need to be restarted.

No user sessions are running outdated binaries.

No VM guests are running outdated hypervisor (qemu) binaries on this host.
ujpadmin@namba:~$

Firefoxをインストールしたら,メニューバーのInternetにあるので起動する.

日本語が化けている.


日本語用のフォントをインストールする

  • Firefoxを起動してみたが,文字化け豆腐状態になっている.
  • これは,日本語フォントが無いためで,インストールする.

ujpadmin@namba:~$ sudo apt install fonts-noto-cjk🆑
[sudo] password for server:🔑
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Suggested packages:
  fonts-noto-cjk-extra
The following NEW packages will be installed:
  fonts-noto-cjk
0 upgraded, 1 newly installed, 0 to remove and 92 not upgraded.
Need to get 61.2 MB of archives.
After this operation, 93.2 MB of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu noble/main amd64 fonts-noto-cjk all 1:20230817+repack1-3 [61.2 MB]
Fetched 61.2 MB in 9s (7,156 kB/s)
Selecting previously unselected package fonts-noto-cjk.
(Reading database ... 113335 files and directories currently installed.)
Preparing to unpack .../fonts-noto-cjk_1%3a20230817+repack1-3_all.deb ...
Unpacking fonts-noto-cjk (1:20230817+repack1-3) ...
Setting up fonts-noto-cjk (1:20230817+repack1-3) ...
Processing triggers for fontconfig (2.15.0-1.1ubuntu2) ...
Scanning processes...
Scanning processor microcode...
Scanning linux images...

Running kernel seems to be up-to-date.

The processor microcode seems to be up-to-date.

No services need to be restarted.

No containers need to be restarted.

No user sessions are running outdated binaries.

No VM guests are running outdated hypervisor (qemu) binaries on this host.
ujpadmin@namba:~$

  • CJKは,Chinese,Japanese,Koreaだね.

タイムゾーンを確認し変更する

  • GUIのデスクトップを見ていて,タイムゾーンが日本でないことがわかった.
  • 現状を確認.

ujpadmin@namba:~$ timedatectl🆑
               Local time: Sat 2026-04-25 16:46:59 UTC
           Universal time: Sat 2026-04-25 16:46:59 UTC
                 RTC time: Sat 2026-04-25 16:46:59
                Time zone: Etc/UTC (UTC, +0000)🈁
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no
ujpadmin@namba:~$

  • UTCになっている.
  • JSTのTokyoに変更.

ujpadmin@namba:~$ sudo timedatectl set-timezone Asia/Tokyo🆑
ujpadmin@namba:~$

  • 変更を確認.

ujpadmin@namba:~$ timedatectl🆑
               Local time: Sun 2026-04-26 01:48:19 JST
           Universal time: Sat 2026-04-25 16:48:19 UTC
                 RTC time: Sat 2026-04-25 16:48:19
                Time zone: Asia/Tokyo (JST, +0900)🈁
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no
ujpadmin@namba:~$

  • 変更を確認できた.

GUIを自動起動しない設定

  • Surface Go 2は元々スペックが低いし2020年発売なので処理性能は高くない.
  • また,省電力運用するために,OS起動時にはコマンドプロンプトにし,必要なときにGUIを起動するように運用する.
ujpadmin@namba:~$ sudo systemctl set-default multi-user.target🆑
Created symlink /etc/systemd/system/default.target → /usr/lib/systemd/system/multi-user.target.
ujpadmin@namba:~$
  • GUIのデスクトップを起動させたいときは,startxコマンドを実行.

startx

  • これは30年前から変わらないね.




以下,また今度.

Network Managerをインストールする

  • ネットワーク設定を手動で実行したが,Network Managerを使って設定できるように変更する.
  • OSインストール時に入ってないことを想定して,パッケージのインストールを行う.
  • パッケージマネージャのアプリケーションリストを更新する.
sudo apt update
  • network-managerをインストール.
sudo apt install network-manager
  • 次のようにプロンプトが出る.

  • yを押して続ける.
  • エラー表示なく,インストールできたことを確認.
  • Network-Managerをバックグラウンドで起動する.
sudo systemctl start NetworkManager
sudo systemctl enable NetworkManager
  • Network Manager用にYamlファイルを書き換える.

server@namba:~$ sudo cat /etc/netplan/01-network-manager-all.yaml

network:
  version: 2
  renderer: NetworkManager
server@namba:~$

これでうごかない・・・































広告スペース
Google