Surface GoにUbuntuをインストール | Trellis Blog

まずはじめに、Surface Go に Ubuntu をインストールするモチベーションは何かというと、 Surface Go を買ったときにとりあえず (とりあえずかどうかは議論が分かれるところですが) 入っている OS は当然ながら Windows 10 なわけですが、ずっと GNU/Linux の何らかのディストリビューションを使ってきた 僕としては Windows がどうしても使いにくかったということです。Surface Go は大きさとしては なかなかコンパクトで持ち運びしやすいのでこのサイズで OS が Windows じゃなかったら (婉曲?) 最高だなと思ったってのもあります。

まあそんなわけで (まとまらなかった) インストールの手順を書いこうと思います。

1 インストーラの USB をつくる

ここが一番大変だったかもしれません。 自分の場合、USB の Type A から Type C に変換するアダプタを持っているので、それを使ってインストール用の iso を焼いた USB をつないでいたんですが、どうにもこうにも起動しない。最終的には起動させられたんですが、 いろいろ試しすぎてどれが要因なのか分からないです。 何のおかげでうまくいったのかを調べようと思わなくもなかったんですが、それまでの試行錯誤で疲労困憊していて、 そのモチベーションがなかったので。 という訳で、とにかく試したことを書きます。

まず、アダプタが悪さしているのかと思い、USB Type C な USB メモリを買いました。 僕が買ったのはこれです。僕が買ったときは1000円くらいでした。 最終的にこれを使ってうまくいったんですが、実は普通の USB メモリ + アダプタ という構成で可能だったんじゃないか と思っています。

で、イメージを焼かないといけない訳ですが、Ubuntu のサイトの方から落としてきたやつを USB に焼くだけじゃどうやっても起動しなかったので、一度 Windows の回復ドライブってやつを作って 起動させてみようと思いました。で、回復ドライブを作って Windows の設定の回復ってとこから再起動して、USB から起動して、ってやってみたところ問題なく起動したので (一度失敗した気がしなくもない) 中をのぞいてみました。 で、Ubuntu のイメージの中身と比べてみたんですが、 /EFI 以下の大文字小文字が違っていました。 おそらくケースインセンシティブなので、そこは関係ないんだろうと思ったんですが、一応 Windows で作った 回復ドライブと一致させました。正確には回復ドライブになっている USB に上書きする感じで Ubuntu のイメージの中身を入れた後に回復ドライブの真似をして大文字小文字を変更しました。 具体的には、 BOOT ってやつを Boot にして、 BOOTX64.EFI ってやつを bootx64.efi に変更しました。 移動元と移動先が同じっぽい警告が出ましたが、一度違う名前に変更したりしてどうにかして変えました。 これは Windows ではできなかったです。一度違う名前に変更しても元の大文字の名前に戻るという挙動をするみたいだったので。

という訳で、ここで僕が作った条件の USB は完成のはずです。

2 USB から起動する

僕は UEFI の設定から起動順序を変えて Secure Boot を Disable したりしたんですが、どうやらそれは必要なさそうです。 必要ないというより、USB をさして直接起動ってことができないので完全にムダです。あと、Secure Boot でひっかかる ってこともなかったです。

という訳で、USB をさして、Windows の回復の設定から USB を選んで起動しようと試みます。なぜ「試み」かというと、 一回目は必ず失敗するみたいだからです。また Windows が立ち上がってくるので、もう一回同じようにデバイスを選ぶ 画面を開きます。すると、見覚えのない感じのデバイスが出現しています。 少なくとも僕の環境では出現していました。なので、「これだ!」って感じでそれを選んで起動します。 で、めでたく Ubuntu のインストーラが起動します。

3 インストール

インストーラで起動したら、すぐに "Install Ubuntu" したいところなんですが、これで直接インストールに行くと 途中で操作できない (ボタンが画面外にいってしまう) ので、一度 "Try Ubuntu without installing" を選んでデスクトップ 環境を起動します。で、設定に入って、 Device > Display って感じでたどって、で、サイズ調整のところが 200% ってのが選んであるので 100% に変えます。で、適用を押します。 その後でデスクトップにある Install Ubuntu ってやつを起動して普通にインストールを進めます。

で、途中で Configure Secure Boot みたいなのが出てきます。あ、その前に、プロプラ入れない主義の人 (僕とか) も、 ここは我慢して入れといた方がいいです。もう一度 Ubuntu のインストーラを起動できる保証が全くないので。 で、Secure Boot のところですが、適当にパスワード入れていいです。次起動したときに設定があるみたいに書いてあって、 たしかに何か起動したんですが、適当に Enter 押していたら普通に起動したので、 未だにここで入れたパスワードを入力してないです。ちょっと怖い。 で、Wi-Fi について何か聞いてきますが、今すぐつなげる感じしておきます。どうせつながらないんですが。

このステップは基本普通に Ubuntu のインストールウィザードに従うだけなので簡単です。

4 Wi-Fi とかが使えるようにする

インストールは Wi-Fi なしで問題なく進むんですが、普通に使う上でインターネットにつながらないってのは かなりきついので、つながるようにします。あと、タッチパッドもインストーラでは動いていたくせに 動かなくなっているのでなんとかします。まあタッチパッドに関しては何もしていないのに動くようになっていたので 何をすればいいか分からないんですが。あ、タッチパッド動かないくせにタッチパネルは完璧に動きます。

Wi-Fi なんですが、 ここから board.bin というファイルを取ってきます。Reddit あさってたら見つけました。 あやしいー。で、このファイルで、

  • /lib/firmware/ath10k/QCA6174/hw2.1/board.bin
  • /lib/firmware/ath10k/QCA6174/hw3.0/board.bin

この2つを上書きします。ソフトウェアのアップデートなんかでこのファイルが上書きされてしまうと 再度上書きし直さないといけないので、これは覚えておいた方がいいです。

上書きしたら再起動します。すると Wi-Fi が動くようになっています。ついでにタッチパッドも動くようになっています。

5 右クリックできないのをなんとかする

タッチパッドは動くんですが、クリックが全て左クリックと解釈されてしまうみたいです。 設定 > ユニバーサルアクセス > クリック支援 のところから、副ボタンクリックの代替 を設定します。 これで長押しが右クリックと解釈されるようになります。Firefox とかではちゃんと動作しないのでかなり 不満ですが、まあ仕方ないです。作れる人は自分で作りましょう。

Last Update: 2019/08/25

Recent Posts

gsettings で変更したい設定メモ
Android の Factory Image を Linux でマウントする
C言語使っていると「すげえ」ってなるC++の機能