こんな感じになります。
Surface GoにUbuntuいれてみた。タッチパネルとかキーボードカバーとか普通にそのまま使える。
— s2terminal /suzuki.sh (@suzukiterminal) September 18, 2019
あまりに何事も無かったかのように動くのでちょっとびっくりしたんだけど、こういうのは対応していて当たり前な感じなのかな。ドライバの中身とか知らないからどういう事なのかあまり想像がつかない pic.twitter.com/IpBkgG4Mwy
環境
- Surface Go 128 GB / 8 GB RAM / WiFi モデル
- Windows 10 Home 1903
- Ubuntu 18.04.3 LTS
そのほか細かいものとして、インストール用メディアにUSBメモリが必要になります。
また、最初は無線LANに繋がらないため有線LAN接続用USBアダプタを用意しておきます。
もちろんどちらかがType-CでなければType-C変換アダプタも必要です。
いずれも特別な物は必要なく、普通のWindows対応のもので動作します。本稿では下記を利用しました。
- LUA4-U3-AGTE-BK : LANアダプター | バッファロー
- Type-C変換アダプタ - USB3-AFCMADWH | エレコム
- spot | GH-UFY3EBシリーズ | GREEN HOUSE グリーンハウス
Surface GoにはUSB Type-Cポートが1つしか無いため、USBハブを使ってLANアダプタとUSBメモリを同時に挿入すると便利かもしれませんが、無くてもできます。
入力デバイスとして、キーボード、タッチパッド、タッチパネルもそのまま使えるため、特別に用意する必要はありません。今回Microsoft公式のTypeCover、SurfacePenをそのまま利用しました。
(なおUEFIもUbuntuもタッチで操作できるため、万が一キーボード等が何も無かったとしてもSurfaceGoの本体だけで下記作業は可能だと思いますが...)
準備
まず、失敗したときのリカバリ用として、Windowsが使える状態に戻せるよう回復キーを用意しておきます。Microsoftアカウントにログインすることで確認できますので、SurfaceGo以外のデバイスで確認するか、印刷しておきます。
Windowsのデータについてはバックアップを取っておいたほうが良いですが、今回デバイスには大したデータは入っていなかったので省略しました。本来は、回復キーでもリカバリできない事態に備えてバックアップを取っておいたほうが良いと思います。
インストール作業
インストールメディアの作成
まず下記手順に沿って、Rufusを使ってUbuntuインストール用メディアを作成します。
この作業は別のPCで行っても問題ありません。
インストール用パーティションの作成
インストール用のパーティションを作成します。
「ディスクの管理」から「ボリュームの縮小」で、Ubuntu用に確保したい分だけの容量をWindowsから縮小します。
セキュアブートの無効化
UEFIのセキュアブートコントロールを無効化しておきます。
これをしていないとUbuntuを起動することができません。
インストール
準備が整ったら、下記手順でUbuntuをインストールします。
Surface GoでのUbuntuの起動
一度Windows10を起動し、「設定」→「更新とセキュリティ」→「回復」→「PCの起動をカスタマイズする」→「今すぐ再起動」から、起動オプションでUbuntuを選択すると、Ubuntuを起動できます。
なお私の知識では直接Ubuntuを起動する方法は分かりませんでした。UbuntuのgrubやWindowsのbcdの設定が必要になってくると思うのですが、再起動時に設定が元に戻ってしまい、どうしてもWindowsが先に起動してしまいました。
Wi-Fiを有効化する
Ubuntuで起動したらターミナルを実行し、lshwコマンドでハードウェア情報を探します。
$ sudo lshw -class network
今回SurfaceGoに使われていたのはQCA6174 802.11ac Wireless Network Adapter
であり、こちらのリポジトリにドライバがあるようだったので、下記を参考にインストールします。この作業に有線LANが必要になります。
Ubuntu日本語フォーラム / ubuntu16.04ltsにてpc内蔵の無線lanドライバが認識しません
これでUbuntuが起動し、無線LANに繋がる状態になりました。あとはChromeやVSCode等をインストールして使うだけです。