USBメモリにUbuntu18.04をインストールする方法を紹介します。HARD2021ではこれをUSB Linuxとよぶことにします。この方法では、Windowsのハードデスクを消費しません。Linuxシステムと今後開発していくソフトウェアは全てこのUSBメモリの中に保存されます。ネットワーク環境やUSBメモリの読み書きの速度にもよりますが、特にトラブルがなければトータルの作業時間は1時間から1時間半ほどです。
注意:以下の作業でWindowsが消えたり、起動しなくなったり、ファイルが消えたりしても、私は一切責任を取れません。重要なファイルはバックアップを取ってから、自己責任で作業をしてください。
更新履歴
- 2021-4-3: 他のPCでも起動できるようにする作業を追加
準 備
- Windows PC: 1台
- BIOSモード:UEFI
- BIOSモードの確認は検索バーに[msinfo32]と入力してEnterキーを押すと[システム情報]が開き確認できる。BIOSモードがLegacy BIOSのときは、Googleで調べてUEFIに変更してください。
- BIOSモード:UEFI
- インストール用のUSBメモリ(以降、インストールUSBと表記 ):1個
- Ubunutのイメージを入れるだけなので4GBもあれば十分。USB2.0でもOK。
- この例ではTOSHIBA USB2.0メモリ TNU-A016B (8GB)を使用した。
- UbunutuをインストールするUSB3.0メモリ(以降、Ubuntu USBと表記):1個
- ワークショップだけなら64GBで十分。本格的に開発するのであれば128GBあるとうれしい。
- この例では次のUSBメモリ(Flash Drive)を試しました。認識はWindowsの[コンピュータ管理]→[ディスクの管理]で認識されたディスク容量です。
- Transcend USB3.1 Flash Drive JetFlash 710 (128GB) 認識112.64GB
- Samsung USB3.1 Flash Drive FIT Plus (128GB) 認識119.51GB
- SanDisk USB3.1 Flash Drive Ultra Fit (128GB) 認識114.6GB
- 作業を間違えるとWindowsが丸ごと消えるので、重要なファイルは必ずバックアップを取っておく。
作業の流れ
- 作業1:Ubuntu 18.04 LTSイメージのダウンロード(所用時間:約5分)
- 作業2:Rufus (USBメモリ等にイメージを書き込むソフト)でUbuntuイメージをインストールUSBに書き込む(所用時間:約10分)
- 作業3:インストールUSBでPCを起動して、Ubuntu USBにUbuntuをインストールする。(所用時間:約30分~1時間)
- 作業4:動作確認(所用時間:約3分)
- 注:所用時間は目安でありネットワーク環境によって大きく変わります。
作業1:Ubuntu 18.04 LTSイメージのダウンロード
- 以下のサイトからubuntu-18.04.5-desktop-amd64.iso (2GB)をダウンロードして保存する。探すのが面倒な場合はここをクリックする。
作業2:RufusでUbuntuイメージをインストールUSBに書き込む
- 以下のサイトからRufus 3.13 Portableをダウンロードして、Ubuntuイメージと同じ場所に保存する。探すのが面倒な場合はここをクリックする。
- インストールUSBをPCに差し込む。
- ダウンロードしたRufusはポータブル版なのでインストール不要。rufus-3.13p.exeをダブルクリックすると起動する。
- 起動したら以下のように設定して[スタート]をクリックする。途中でいくつか聞かれるがデフォルトのままでOK。Ubuntuのイメージの書き込みが終わったら[状態]の[準備完了]が全て緑色になるので[閉じる]をクリックして終了する。
- デバイス:USBメモリを選択する。
- ブートの種類:[選択]をクリックして、ダウンロードしたファイルを選択し、[開く]をクリックすると、ブートの種類が下図のように[Ubuntu-18.04.5-desktop-amd.iso]となる。
- その他の項目は以下のようにデフォルトのままでOK。
作業3:インストールUSBでPCを起動して、Ubuntu USBにUbuntuをインストールする。ネットワークに接続された環境で行う。
- Ubuntu USBとイメージを書き込んだインストールUSBをPCに差し込み、PCを再起動する。
- 再起動したらすぐBIOS画面(私のRazerではF1、機種により違うので調べる)にして、USBからブートできるように設定する。
- [GNU GRUB]の画面になるので、上から2番目の[Install Ubuntu]を選択してEnterキーを押す。
- [Welcome]の言語選択の画面になるので、一番下の[日本語]を選ぶと以降日本語でインストール作業ができる。日本語を選択して[続ける]をクリックする。
- [キーボードレイアウト]の画面になるので、自分のキーボードが選択されていることを確認して、[続ける]をクリックする。
- [アップデートと他のソフトウェア」の画面になるので、以下のように設定して[続ける]をクリックする。
- [インストールの種類]の画面になる。これからの作業を間違えるとWindowsが消えてしまうので、これから細心の注意を払う。インストールの種類は[それ以外]を選択して[続ける]をクリック。
-
- Ubuntu USBに割り当てられている領域を選択する。[サイズ]を見るとどの領域に割り当てられているかわかる。私の場合は、USBメモリが128GBなので13065MBのサイズとなる。全部OSに認識されるわけではないので、それに近い[空き領域]のある120945MBが[/dev/sdb]に割り当てられていることがわかる(PCの構成によっては/dev/sda、/dev/sdcの場合もある)。もし、[/dev/sdb]の下に[空き領域]がない場合は空き領域を作らなければならない。[/dev/sdb1]を選択して、左下の[-]をクリックする。そうすると[/dev/sdb1]が[空き領域]になる。
- USBにはUbuntuのブートローダがインストールされるEFIシステムパーティションとUbuntuがインストールされるルートパーティションを作る。まず、EFIシステムパーティション領域を作成する。上図の[空き領域]になった箇所を選んで、左下の[+]をクリックすると次のウインドウが開くので、次のように設定して[OK]をクリックする。
- サイズ:200MB
- 新しいパーティションのタイプ:基本パーティション
- 利用方法:EFIシステムパーティション
- 次に、ルートパーティションを作る。同様にして空き領域を選び、左下の[+]をクリックして次のようにパーティションを作成する。空き領域の全てのサイズをルートパーティションに割り当てる。マウントポイントを/にすることを忘れないように。[OK]をクリックする。
- 新しいパーティションのタイプ:基本パーティション
- 利用方法:ext4ジャーナリングファイルシステム
- マウントポイント:/
- 次にUbuntuを起動するブートローダをインストールするデバイスを指定する。USBから起動したいのでUSBに割り当てられているデバイスを選ぶ。USB以外のデバイスを選ぶとWindowsが起動しなくなるから注意。この作業も細心の注意を払う。
一番下の[ブートローダをインストールするデバイス]はefiパーティションを作った[/dev/sdb1]になる。[インストール]をクリックする。
- [ディスクに書き込みますか?]が出てくるので、初期化されるパーティションに間違いがないか確認する。間違えるとWindowsが消えたり、起動しなくなるのでよく確認すること。問題がなければ[続ける]をクリックする。以下の写真例で、下から2行目に[パーティション1をESPに]とあるが、これはEFI System Partitionのこと。電源を入れてコンピュータを起動すると、このESPからUbuntuはブートされる。
- [どこに住んでいますか?]画面になるので、地方に住んでいても[Tokyo]のまま[続ける]をクリックする。
- [あなたの情報を入力してください]画面になるので、必要な情報を入力して[続ける]をクリックする。下図は例なので、自分の名前やユーザ名に変更する。
- [Ubuntuへようこそ]画面になり、システムがUSBメモリにインストールされる。終わるまでしばらく時間がかかる。Transcent JetFlash 710、Samsung FIT Plusは約7分、SanDisk UltraFitは約9分半かかった。
- [インストールが終了しました]画面になるが、今作成しているUSB Linuxで他のPCでも起動したい場合は端末を開いて次の作業をする。このPCだけで起動する場合は、[今すぐ再起動する]をクリックして再起動する。
- 他のPCでもブートするための作業:上の作業で作成したEFIシステムパーティションにEFIブートローダ(Bootx64.EFIとgrubx64.efi)をインストールUSBから次の作業でコピーする必要がある。以下のコマンドでは間違えを避けるためにEFIシステムパーティションを/dev/sdx1としている。sdxのxを自分の環境に合わせて変更すること。なお、この作業は参考資料1神奈川工科大学吉留先生のSI2020予稿を参考にしました。
- ディレクトリの作成
$ sudo mkdir /boot/efi
- /dev/sdx1にコピーするためにマウントする
$ sudo mount /dev/sdx1 /boot/efi
- ディレクトリの作成と移動
$ sudo mkdir -p /boot/efi/EFI/BOOT
$ cd /boot/efi/EFI/BOOT
- ブートローダのコピー
$ sudo cp /media/cdrom/EFI/BOOT/BOOTx64.EFI .
$ sudo cp /media/cdrom/EFI/BOOT/grubx64.efi .
- 設定ファイルの作成
$ sudo gedit grub.cfg
- 次の1行をコピペして保存する。
configfile (hd0,gpt2)/boot/grub/grub.cfg
- Ubuntu USBの/etc/fstabファイルの変更。Ubuntuが起動するときにfstabの情報によりディレクトリがマウントされる。
- sdx1のUUID(Universally Unique Identifier)は次のコマンドでわかるのでメモする。/dev/sdx1のxはPCの構成によって変わるので、変わらないUUIDを使う。
$ sudo blkid
/dev/sdx1: UUID=”XXXX-XXXX”
- ディレクトリの作成
$ sudo mkdir /boot/ubuntu
- sdx2の/etc/fstabを変更するためにマウントする。
$ sudo mount /dev/sdx2 /boot/ubuntu
- エディタを使い/boot/efiが設定されているUUIDをメモしたUUIDに書き換えて保存する。
$ sudo gedit /boot/ubuntu/etc/fstab
- sdx1のUUID(Universally Unique Identifier)は次のコマンドでわかるのでメモする。/dev/sdx1のxはPCの構成によって変わるので、変わらないUUIDを使う。
- [インストールが終了しました]画面の[今すぐ再起動する]をクリックして再起動する。
- ディレクトリの作成
- インストールUSBを抜いてからEnterキーを押すと再起動する。間違って、Ubuntu USBを抜かないように注意!
作業4:動作確認
- 再起動するとGRUBの画面になるので10秒待つと自動起動する。GRUBはGNUプロジェクトで開発されているブートローダ。下図の場合、Windowsを起動したい場合は[Windows Boot Manager]を下矢印キーで選択してEnterキーを押すとWindowsが立ち上がる。もし、GRUBの画面が出ずにWindowsが立ち上がったらBIOSでUbuntu USBからブートするように設定する。
- 以下の画面になれば成功。パスワードを入れてログインしよう!
お疲れ様!
幸せになる設定(オプション)
- 私がUbunutuをインストールするときによく使う設定等を紹介しよう!
- 設定
- ホームディレクトリのフォルダ名を日本語から英語に変更する。Linuxはコマンドを打つ場合が多いので日本語のディレクトリは何かと困る。以下のコマンドを端末で実行する。端末は、下図の左下隅にある9個の点アイコン[アプリケーションを表示する]をクリックすると最上部に現れる[検索窓]に[terminal]と入力すると見つけることができる。なお、以下のコマンドで$はプロンプトなので打ち込まない。
-
$ LANG=C xdg-user-dirs-gtk-update
- Enterキーを押すとウインドウが開くので、”Don’t ask me this again”にチェックを入れて、[Update Names]をクリックする。
-
- CAPS LOCKとCTRLキーの入れ替える。CTRLキーを使う機会が多いので入れ替える。
- ホームディレクトリのフォルダ名を日本語から英語に変更する。Linuxはコマンドを打つ場合が多いので日本語のディレクトリは何かと困る。以下のコマンドを端末で実行する。端末は、下図の左下隅にある9個の点アイコン[アプリケーションを表示する]をクリックすると最上部に現れる[検索窓]に[terminal]と入力すると見つけることができる。なお、以下のコマンドで$はプロンプトなので打ち込まない。
- アプリのインストール
- 端末を開き、以下のコマンドを実行してインストールする。
$ sudo apt install chromium-browser
$ sudo apt install emacs vim htop
- 端末を開き、以下のコマンドを実行してインストールする。
参考資料
- 記事の制作に以下の文献やサイトを参考にさせて頂きました。ありがとうございます。
- USBメモリ起動型と仮想マシン型の Linux 環境で動作するROS のオンライン教育、吉留忠史、第21回計測自動制御学会システムインテグレーション部門講演会(SI2020)、2G1-11 (2020)
- Windows10環境でのUbuntu20.04_USBメモリーインストール (どっこいしょうじ@note)
- 【linux】Ubuntu 20.04LTSをUSBメモリにインストールしてみた「初心者向け」(Youtube まぐねっとのPC部屋)1
コメント