新MacでLinux VM版:Kubuntu24.04LTS ⑪ Boot
本連載ではAppleSilicon(M1系)で仮想マシン上にLinuxを入れる方法を、全くの初心者の方でも理解できるように説明しています。
この連載の全記事目次はこちら
1.起動時の挙動
今回がこのインストール編最後の回になります。今回は起動時の挙動を変える方法について書きます。
これまで長々とインストールと設定をしてきましたが、Arm64版であるためにServer版+Kubuntuという内容を入れ、それを本来のKubuntuの姿に手を入れましたね。もう十分・・なのですが、Intelマシンに最初からKubuntuを入れた場合と比べると、起動時の挙動が違います。
やらなくても良いです・・・が、面白いので書くことにしました。
2.Grub
Grubってなんだ?という話ですが、OSを起動するブートローダーと言われるものです。これは仮想マシンに限らず、電源が入ったパソコンはハードウェアのチェックを済ませた後このブートローダを呼び出します。ここにOSを並べることで、複数のOSを切り替えて起動する事ができます。実際、PCの場合はこのGrubでWindowsとLinuxを切り替えるようにインストールするのが通例です。
仮想マシンの場合は、OSは複数の仮想マシンを作って切り替えますから、一つの仮想マシンに複数のOSを入れる必要は無いのですが、Linuxの場合カーネル(Linuxの本体)がバージョンアップすると、複数のバージョンを切り替えて使う事はありえます。
今回インストールしたServer版、起動するとそのまますぐにメッセージが流れて起動しますよね?これを、Grubのメニューを数秒出して、今後のバージョンアップで複数のカーネルが入った際に選べるようにしてみます。
3.Plymouth
Plymouthというのは、起動画面をカスタマイズ出来るプログラムです。ロゴを表示させたり文字を出したり色々カスタマイズできます(私もそこまで掘り下げたことはないので、そのうち試したいですね)。
そして、Kubuntuは最初からPlymouthのロゴが出るのが本来なんです。サーバ版だと出てこないのです。ブート時のメッセージは別の方法で見ることが出来ますから、今回はKubuntu本来の姿に戻してみます。
4.設定
4-1.仮想マシンのバックアップ
Grubというのはシステムの起動に関わるプログラムですから、失敗すると最悪起動しなくなります。ですからまず仮想マシンのバックアップは忘れずにしましょう。
4-2.Plymouthの状況確認
例によってやり方だけなら数行なのですが、順を追って説明します。先ほど、PlymouthはKubuntuに本来入っていると書きました。それを確認してみます。
apt
の結果をgrep
というコマンドに繋いでキレイにしてみます。(分からなければ結果だけ見て下さい)
右側にinstalled
とあれば、入っています。どうやらplymouth
もkubuntu用のテーマ
も入っているようです。
apt search plymouth | grep ^ply
もう一つ、このコマンドを実行します。これはインストール済みのUbuntuのパッケージ設定を変えるコマンドです。今回はplymouthのデフォルトテーマを変更するという意味になります。
どうやらkubuntu-logoテーマがちゃんとデフォルトになっているようです。
sudo update-alternatives --config default.plymouth
以上で、今回の流れでインストールした場合、Plymouth自体はちゃんとインストールされている事が分かりました。
4-3.Grubの設定
ではなぜ起動時の挙動が違うのか、ロゴが出ないのかという事になります。Grubの設定を見てみましょう。
Grubはその危険性から、直接設定を変える仕組みになっていません。まず設定ファイルを直し、その後でそのファイルから設定更新をするコマンドを実行します。エラーがあれば弾かれるという訳ですね。
次のコマンドで設定ファイルを開きます。
sudo nano /etc/default/grub
すると、grubの設定ファイルはこうなっていました。
いきなり見ても分からないですが、ネットで事前に調べた結果、Kubuntuの設定と違います。赤枠で囲ったところがポイントになります。
細かい話ですが、この記事に沿ってインストールした場合、今動いているシステムの設定はこのファイルの設定どおりにはなっていません。インストール時のデフォルトはサーバ用になっていて、コレとは違うんです。
今見ているのはgrubデフォルト設定ファイルのテンプレートだと思って下さい。
例によって直し方だけだと淋しいので少しGrubの設定項目について説明します。
GRUB_TIMEOUT_STYLE
Grubが起動すると、どのOSを起動するのか選ぶ為、指定された時間だけユーザからの選択を待ちます。これはその待ち方です。
- hidden OS選択メニューを表示しません。
- menu OS選択メニューを表示します。(こちらにします)
GRUB_TIMEOUT
上記でmenuとした場合の、待ち時間を秒で指定します。
- 5 (今回は5秒にしました。Enterを押せばすぐ起動します)
GRUB_CMDLINE_LINUX_DEFAULT
OSとしてLinuxを選択した場合に、カーネルに渡されるオプションです。
今回は下記を設定しました。
- loglevel=3 (起動時のカーネルメッセージを何処まで画面に表示するか。3はエラー以上を表示)
- quiet (ほとんどのログメッセージを抑制)
- splash (plymouthに渡るオプション。スプラッシュを表示する。)
尚、Linuxカーネルは理解できないオプションはそのまま起動プロセスにパスします。ですからここにplymouthのオプションを渡すわけですね。
GRUB_GFXMODE
GRUBにわたすグラフィック画面の解像度です。ここは横x縦x色の深さ で指定します。640x480でも良いわけです。
しかし、MacBookは解像度が高く、起動プロセスが終わった後にまたGUIが起動したタイミングで解像度が変わるので、そこに合わせてみました。好みで変えても良いですね。
- 1440x900x32 (MacBookAir2020の画面のデフォルト)
以上を変えると下のようになります。書き換えたら保存してnanoを終了します。
次に今書いたGrubの設定ファイルを反映させます。
sudo update-grub
再起動すると起動時にGrubのOS選択画面が表示されます。Enterで進むか5秒待つと進みます。
カーネルが起動後、起動プロセスに入るとplymomuthがロゴを表示します。写真ではわかりませんが、青い光がゆっくり点滅します。
格好良いですね。
5.終了
以上で起動プロセス設定が完了です。
さて、今回でこの記事の連載もインストール編が最後となります。ここまで来ると、色々なサイトの記事を見ながらLinuxの勉強を進めることが出来る状態です。PC版の記事もほとんどそのまま通用します。
今後はMacで使うことを意識しながら、出来上がったKubuntuを更にカスタマイズしたり、プログラミングの環境構築を紹介していきたいと思います。終わりません。追加した記事は記事一覧のページに追加していきます。
これまでこの連載記事を少しでも読んでくださった方に感謝いたします。
有難うございました!!
Discussion