「永続的パーティーションを持った USBメモリ起動の Ubuntu のつくりかた」
https://qiita.com/nanbuwks/items/c6c00f97a53a6b3c43cd
において、persistent-filesystem を持った USBメモリによる起動システムをいろいろ試してみました。その時の結論として、mkusb の選択となりました。
今回は、 mkusb を使って具体的なシステム構築作業をします。
環境
母艦
- Ubuntu-ja 20.04
- Lenovo ThinkPad X230 ほか
(2023/05/24追記:Ubuntu-ja 22.04 でも確認しました。)
ターゲット
- ubuntu-ja-20.04.1-desktop-amd64.iso
- Sandisk Ultra Fit USB3.0 64GBytes および Ultra Fit USB3.1 16GBytes
(2023/05/24追記:ubuntu-ja-22.04-desktop-amd64.iso でも確認しました。)
mkusb インストール
$ sudo add-apt-repository universe
$ sudo add-apt-repository ppa:mkusb/ppa
$ sudo apt update
$ sudo apt install mkusb usb-pack-efi
ここで、 universe レポジトリを追加していますが
https://help.ubuntu.com/community/Repositories/Ubuntu
によると
Universe - Community-maintained free and open-source software.
だそうです。
起動
mkusb とタイプすると、mkusb-plug と mkusb の2つが出てきた。
https://ubuntuforums.org/showthread.php?t=1958073
によると mkusb-plug はについて以下のように書かれています。
When you intend to create a USB boot drive, you should use a tool that is as reliable as possible. It should help you identify the target drive (avoid overwriting data in another drive) and it should create a working bootable drive.
より安全な mkusb-plug を使うことにしました。
sudo つけずに実行。
起動するとソースファイルを聞いてくるので iso ファイルを選びます。
pを選びます
do you expect the drive to contain filesystems other than VFAT and ISO9660?
よくわからないながら y とします。EXT3/4で persistant-filesystem パーティーションを作るかどうかということかな?
(2023/05/24追記:)
ここで No としたら、
do you expect the drive to contain an ISO9660 filesystem?
よくわからないながら y とします。ベースシステムをISO丸々コピーしたパーティーションにするということかな?
この時点でUSBメモリが刺さっていたら一旦抜いて「OK」を押します。
USBメモリをプラグインして「OK」を押します
書き込まれる内容を確認してOKを押します・・・が、表示がヘン。sdbとsdb1がiso9660??
また、Ubuntu22.04 で試したときは以下のようになってました。
最後終わって調べてみたらこのようになっていました。
(Ubuntu20.04 の場合)
$ sudo fdisk /dev/sdc -l
ディスク /dev/sdc: 57.86 GiB, 62109253632 バイト, 121307136 セクタ
Disk model: Ultra Fit
単位: セクタ (1 * 512 = 512 バイト)
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスクラベルのタイプ: dos
ディスク識別子: 0x1db5d405
デバイス 起動 開始位置 最後から セクタ サイズ Id タイプ
/dev/sdc1 * 0 5478143 5478144 2.6G 0 空
/dev/sdc2 8252 16187 7936 3.9M ef EFI (FAT-12/16/32)
/dev/sdc3 5480448 121307135 115826688 55.2G 83 Linux
多分、表示がバグっているのだと思います。
(Ubuntu22.04 の場合)
ディスク /dev/sdb: 14.32 GiB, 15376318464 バイト, 30031872 セクタ
Disk model: Ultra Fit
単位: セクタ (1 * 512 = 512 バイト)
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスクラベルのタイプ: gpt
ディスク識別子: F43A0113-8286-422A-A3F8-75BC5E55BD02
デバイス 開始位置 最後から セクタ サイズ タイプ
/dev/sdb1 64 6685767 6685704 3.2G Microsoft 基本データ
/dev/sdb2 6685768 6694263 8496 4.1M EFI システム
/dev/sdb3 6694264 6694863 600 300K Microsoft 基本データ
このあと、USBメモリから起動したらこうなりました。
デバイス 開始位置 最後から セクタ サイズ タイプ
/dev/sdb1 64 6685767 6685704 3.2G Microsoft 基本データ
/dev/sdb2 6685768 6694263 8496 4.1M EFI システム
/dev/sdb3 6694264 6694863 600 300K Microsoft 基本データ
/dev/sdb4 6696960 30031808 23334849 11.1G Linux ファイルシステム
Persistence ファイルシステムは最初の起動時に作られるようです。
さて、操作に戻って
間違いなければ「Go」
完成
これで作った USB メモリを使って PC を起動すると以下のようになりました。
「インストールせずにUbuntuを使ってみる」を押すと、一旦画面が消えて操作できる画面になります。
ワークショップ用に設定
更に、設定してきます。
まずアップデート
$ sudo apt update
$ sudo apt upgrade
基本的な設定
タイムゾーンを設定
ディレクトリ名を英語に変更 †
LANG=en_US.utf8 xdg-user-dirs-gtk-update
サスペンド、ログオン関係
- 電源の設定でスクリーンセーバーを切る
- サスペンドロックを以下のようにして解除
$ gsettings set org.gnome.desktop.screensaver ubuntu-lock-on-suspend false
システムモニター
Gnome-Panel に秒を表示(固まっているかどうかの判定)
$ gsettings set org.gnome.desktop.interface clock-show-seconds true
$ sudo apt install gnome-shell-extension-system-monitor
$ sudo apt install gnome-shell-extension-prefs
として、以下のようにして設定
「システムモニターアプレットを Ubuntu 20.04 タスクバーに表示する」
https://qiita.com/nanbuwks/items/3bccce7f608c9c9091db
追加アプリケーション
標準レポジトリからインストール
- vim
- gimp
- python3
PPAやオリジナルdevファイルなどからのインストール
- google chrome
- zoom
- kicad
- Arduino
Chrome のログインキーリングの要求を表示させないようにする
(2023/12/11 追記)
こちらのページを見て、設定します。
https://help.media.hiroshima-u.ac.jp/index.php?action=faq&cat=18&id=40&artlang=ja
バックアップ
作った USB メモリ中のファイルシステムは以下のようになっています。
$ df -h
Filesystem Size Used Avail Use% Mounted on
.
.
.
/dev/sdb1 2.7G 2.7G 0 100% /media/nanbuwks/Ubuntu 20.04.1 ja amd64
/dev/sdb3 55G 9.5G 42G 19% /media/nanbuwks/writable
/dev/sdc1 2.7G 2.7G 0 100%
となった。
/dev/sdb3 が一通りインストールしたもの、で 9.5 G使用。
この 9.5G をバックアップすればいいのだけれど、ちょっと大きいかな?
システムの複製
16G の USB メモリを使って、mkusb で ubuntu-ja-20.04.1-desktop-amd64.iso を新しくインストールした。
$ df -h
Filesystem Size Used Avail Use% Mounted on
.
.
.
/dev/sdb1 2.7G 2.7G 0 100% /media/nanbuwks/Ubuntu 20.04.1 ja amd64
/dev/sdb3 55G 9.5G 42G 19% /media/nanbuwks/writable
/dev/sdc1 2.7G 2.7G 0 100% /media/nanbuwks/Ubuntu 20.04.1 ja amd641
/dev/sdc3 12G 114M 11G 2% /media/nanbuwks/writable1
この /dev/sdc1 と /dev/sdc3 が 新しくインストールした 16G のもの。
/dev/sdb1 と /dev/sdb3 が、既にインストールしていろいろ設定したもの。
$ sudo cp -a /media/nanbuwks/writable/* /media/nanbuwks/writable1
として、既にインストールした writable ボリュームの内容を 新しいUSBメモリの writable ボリュームにコピーすることで、システムの複製ができる。