keimlab’s diary

KEIMLABの電気・電子・制御の開発備忘録と日常生活記録

SurfacePro4にUbuntu18.04を入れる

概要

手持ちの中古ノートPCやRaspberryPiでは、動作がかなり重たいのでもう少し動作を軽快にしたいと思い、メインのノートPCにもUbuntuを入れて、ROS化してみようと思います。ただし、Windowsが使えなくなってしまうのは困ってしまうので、デュアルブート環境とし、Cドライブを汚すのも嫌だったので、SDカードにインストールすることとしました。

※あくまで個人的な備忘録ですので、分かりにくい点が多々あると思いますが、ご容赦ください。

環境

Surface Pro 4
・CPU : Core i7-6650U @ 2.20GHz
・メモリ : 8GB
SSD : 256GB (Ubuntuの記憶域としては不使用)
・SDカード : 128GB

インストール手順

1.Surface Pro 4 のBitLockerを無効化

コントロールパネルから、BitLockerの設定画面に入って、BitLockerを解除します。ファイル数によるようですが、結構時間が掛かります。Ubuntuをインストールしたときに、誤ってSurface本体のSSDブートローダを上書きしてしまうとBitLockerが作動して、ログオンできなくなってしまうことがあるようです。

2.BitLockerの解除キーを入手

万が一、BitLockerが作動してしまった時のために、念のため、解除キーを入手しておきます。以下のリンク先を参照して、Microsoftアカウントにログインして解除キーを入手しました。

3.Ubuntuのイメージファイルをダウンロード

ダウンロード先 : https://releases.ubuntu.com/18.04.4/

4.ダウンロードしたイメージファイルをUSBメモリに書き込む

UnetbootinやbalenaEtcherなどのツールを使用してイメージファイルをUSBメモリなどに書き込みましょう。2GB強あるので、4GB以上のUSBメモリでないと入りません。注意です。

5.UEFIブートの設定・優先順位を変更

UEFIブートの画面に入るためには、電源ON後、すぐに本体ボリューム+のボタンを押すと入れます。そこで、セキュリティブートの項目をMicrosoft OnlyからMicrosoft & 3rd Party CAに変更します。こうするとWindows以外でもブートできるようになるようです。加えて、Boot Configurationの設定で、USB Storageをドラッグ&ドロップで一番上に持っていき、USBメモリからのブートを最優先にします。

6.USBメモリからUbuntuを起動

UEFIブートの設定が正しく設定できていたら、Ubuntuを試すか、インストールするか選択する画面が出てくるので、Ubuntuを試すほうを選択します。まずは、USBメモリから試用版を立ち上げてみて、使用できることを確認してから、インストールをしていきます。

7.インストールウィザードを立ち上げる

起動してデスクトップが表示できたら、デスクトップにインストール用のアイコンが並んでいるので、これをダブルクリックしましょう。

8.インストールウィザードが立ち上がったら、"English"を選択して"Continue"ボタンを押す

※今回、"English"でインストールしたのは、今後ターミナルなどで日本語で出力が返ってくるよりも、英語で出力が返ってくるほうが検索した際にヒットしやすいため。

9."Updates and other software"では、デフォルトのまま

"Updates and other software"では、デフォルトのままで"Continue"ボタンを押します。
※"Install third-party software for graphics and Wi-Fi hardware and additional media formats"にチェックを入れても問題ないようですが、今回は選択しませんでした。

10."Installation type"では、"Something else"を選択して"Continue"を押す

他にもWindowsと共存してインストールできそうな項目が並んでいますが、これを選択するとWindowsのCドライブにインストールされてしまうので、要注意です。

11."Installation type"の続きで、インストール構成や対象のパーティション設定

SDカードが正しく挿入されていれば、"/dev/sda"または"/dev/sdb"が現れます。これがSDカードです。Sizeを確認して、挿したSDカードと合っているか確認しましょう。

(1) もともと何か使用しているSDカードであれば、"-"ボタンを元のパーティションを消します。
(2) Free spaceとして表示されていることを確認して選択します。
(3) Changeボタンを押して、インストールに必要なパーティションを以下のように作成していきます。
(4) EFI領域として、Primaryパーティション、容量100MBを確保
(5) ルート領域として、Primaryパーティション、容量好きなだけ(今回は64GB)、マウントポイントは"/"を選択
(6) swap領域として、Primaryパーティション、容量8GB(搭載メモリの分)を確保
(7) "Device for bootloader installation"では、SDカードのドライブを選択(今回は"/dev/sdb")
(8) 上記を設定したら、"Install Now"ボタンをクリックします。
(9) "Write the changes to disks?"というダイアログが出るので、加えようとしている変更が正しいか確認して、"Continue"をクリック

12."Where are you?"は、Tokyoを選択して"Continue"ボタンを押す

世界地図上に選択している地域として赤丸が付きますが、微妙に東京の場所と違う...

13.ログイン情報の入力を求められるので、適当に入力して"Continue"ボタンを押す

14.インストールが始まったら、ひたすら待つ

結構時間が掛かります。気長に待ちましょう。

15.インストールが終わったら、USBメモリを抜くように指示が出るので、抜いて再起動を掛ける

16.Ubuntuがブートできれば完了!

私の場合は、なぜかGrubコマンドラインが出てきて、少々焦りました。しかし、再起動してUEFIブートの設定でSDカードのドライブ(表示名なんだっけ...?)のブート優先順を上げたら、正常にUbuntuのブートとWindowsのブートを選択できるようになりました。これで、Surface Pro 4Ubuntuをインストールすることができました。お疲れ様でした。

感想

SurfaceにもUbuntuが入るとは思ってもみませんでしたが、入れてみると表示はかなりきれいで見どころがあるなと思いました。思っていたより動作は緩慢でしたが、贅沢は言えませんね。これからSurface Pro 4でもROS入れて、ROSでの開発をしていきたいと思います。

参考

qiita.com

blog.hackdesk.com