現在、古いパソコンに、軽量32bitのLinux・Q4OSとフルーガルインストールしたPuppy Linuxが、共存している。前回までで、USBでPuppy Linuxを起動できるようにまで設定した。
最終目標は、USBなしで2つのOSをマルチブートできるようにすることである。
今回、大元のLinux・Q4OS側で、Grub2を設定することでマルチブートに成功したので、備忘録として記録しておく。
しかし、結果としては、Puppy LinuxよりQ4OSの方が、筆者にとってはるかに使いやすかった。
Grub2でマルチブート設定
まずは、起動画面に複数のOS選択ができるよう表示することから。どうやら、Grub2を設定するらしい。以下記事を参考にやってみる。
【参考記事】
(Linux)GRUB2でのマルチブート設定方法
まず、/etc/default/grubを編集する。記事に書いてある通り、端末から
(sudo su -で管理者権限で操作)vi /etc/default/grub
と打ってみる。
しかし、「viコマンドが見つかりません」と出た。どうやら、Linux共通のエディタ、Vimがまだインストールされていないらしい。すぐに、
sudo apt-get install vim
でインストールし、改めて上記コマンドにてgrubを開く。ファイル内容は以下の通り。
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
# info -f grub -n 'Simple configuration'
GRUB_DEFAULT=0
#depreciated options: GRUB_HIDDEN_TIMEOUT_QUIET=false GRUB_HIDDEN_TIMEOUT=1 ; possible kernel parms: systemd.log_level, systemd.xxx
#GRUB_TIMEOUT_STYLE=hidden
#GRUB_TIMEOUT=1
GRUB_DISTRIBUTOR="Q4OS Desktop `get-q4os-version | awk -F '.' '{ print $1"."$2 }'` 'Centaurus'"
GRUB_CMDLINE_LINUX_DEFAULT="quiet loglevel=3 systemd.log_color=0 systemd.show_status=1"
GRUB_CMDLINE_LINUX=""
# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"
# Uncomment to disable graphical terminal (grub-pc only)
GRUB_TERMINAL=console
# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480
# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true
# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"
# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"
# Uncomment to disable uefi setup
#GRUB_DISABLE_UEFIFW=true
参考記事に書かれている内容と若干違うようだが、似たような表示のところ(8〜9行目)の先頭に#をつけて、コメントアウトする。
Vimの編集や保存については、「Vimの使い方 基本操作まとめ」を参考にしてみてほしい。
保存したら、
(管理者権限のまま)update-grub
で設定を反映させる。
端末を終了して再起動をかけると、下記の通りQ4OSだけ、起動画面に表示することができた。
Linuxの起動設定ファイル「40_custom」の編集
次に、Linuxの起動設定ファイルの編集だ。
前回、Grub2における設定は「/etc/default/grub」で行うと書いたが、Puppy Linuxを認識させるためには「/etc/grub.d/40_custom」というファイルを編集するということを、以下記事で発見した。
【参考記事】
軽量Linux:manjaro 32bit をインストール PuppyLinuxとマルチブート環境を構築する!
さっそく、この記事にならってやってみよう。
あらかじめ、端末でPuppy Linuxが入っているsda3パーティションのUUIDを確認する。UUIDとは、”Universally Unique IDentifier”の略称で、デバイスごとの固有IDのようだ。
sudo blkid /dev/sda3
これで表示される数字とアルファベットの羅列が、UUIDということだ。
次に、端末で管理者権限(sudo su -)にしておき、viコマンドで/etc/grub.d/40_customを開く。そして、sda3に入ったPuppy Linuxのフォルダ「upupbb19.03」を認識させるため、以下の通り書き換える。
#!/bin/sh exec tail -n +3 $0 # This file provides an easy way to add custom menu entries. Simply type the # menu entries you want to add after this comment. Be careful not to change # the 'exec tail' line above. menuentry "upupbb19.03-sda3 (sda3/upupbb19.03)"{ set root=(hd0,2) search --no-floppy --fs-uuid --set=root a1631a1c-cd7a-4653-ba5b-6d2324cbd5fd linux /upupbb19.03-sda3/vmlinuz psubdir=upupbb19.03-sda3 initrd /upupbb19.03-sda3/initrd.gz }
書き換えたのち、
sudo update-grub
で更新して、再起動。無事にQ4OSとPuppy Linuxの選択画面が出た。
カーソルを「upupbb19.03」にして、EnterでPuppy Linuxが起動するはず…、
だったが、真っ黒い画面に以下の通り表示されるだけ。しばらくすると改めて起動画面に戻ってしまう。
error: file '/upupbb19.03-sda3/vmlinuz' not found. error: you need to load the kernel first. Press any key to continue...
調べた結果、この表示が出た場合の多くは、設定ファイルの記載ミスや余計なスペースが入っていることが多いとわかった。また、画面のメッセージを読み直すと、「vmlinuz」が探せないということのようだ。
この意味を考えつつ、「40_custom」を自己解釈で以下の通り書き換えた。
menuentry "upupbb19.03"{ set root=(hd0,3) search --no-floppy --fs-uuid --set=root a1631a1c-cd7a-4653-ba5b-6d2324cbd5fd linux /upupbb19.03/vmlinuz psubdir=upupbb19.03 pfix=fsck initrd /upupbb19.03/initrd.gz }
まず、Grub2ではドライブ番号(sda3の”3″)は、Grub Legacyとは異なり、その番号の通りとなる。sda3なら「hd0,3」だ(「パピー3.01マニュアル」より)。
次に、参考記事にとらわれすぎていたので、一度記事のことは忘れることにした。Puppy Linuxのフォルダ「upupbb19.03」に付けていた、余計な「-sda3」を全て削除。これにより、「vmlinuz」と「initrd」の格納場所(Puppy Linuxのフォルダ「upupbb19.03」)が明確になる。
最後は、psubdirの後に、pfix=fsckを加えた(「パピー3.01マニュアル」より)。
これで再度grubをアップデートしたのち再起動。マルチブート画面で「upupbb19.03」を選択したら、無事Puppy Linuxが起動した。
これで、Q4OSとPuppy Linuxのマルチブート設定が完了した。もちろん、USBは差し込んでいない。
Puppy Linuxと他の軽量Linuxとの比較
無事、Puppy Linuxが使えるようになったが、改めて考えてみると、設定に時間を費やしすぎたため、まだOSとしての使用感など、全く試していない。
なので、軽量Linuxとして使い勝手が良いQ4OSと、Puppy Linuxを比較してみようと思う。
パッケージ管理
最初は、パッケージ管理方法だ。
Debian/Ubuntu系なら「apt(-get)」、RedHat系なら「dnf」または「yum」、Arch系なら「pacman」といった端末操作の基本がある。
しかし、Puppy Linuxにはそのような言葉が見つからない。Wikipediaでは、「PETget」と書いてあるのだが、例えば端末でインストールする場合、どうタイプするのか不明だ。
唯一、Synapticパッケージマネージャにあたるものとして、「Puppyパッケージマネージャ」があったので、試しにこFireFoxをインストールしてみるが失敗。検索してヒットするファイル数が多すぎて、どれをインストールしたら良いかわからない。
続いて、Tor Browserのインストールを試みる。インストールすべきファイルは、「tor-browser-launcher_0.2.9」だけだったので、これを選んでインストール。完了後、Tor Browser Launcherを立ち上げてみるが、重たいのか一向に立ち上がらない。
最後に、パッケージタイプを「DEV」に限定して、Libreofficeをインストールしてみる。対象ファイルは2つのみだったので、インストールはすぐに終了。しかし、どこにインストールされたのか、全くわからない。
しかし、Puppy Linuxには、WordやWriterにあたるGeanyが、ExcelやCalcにあたるGnumericスプレッドシートがプリ・インストールされている。互換性はないようなのでファイル共有はできないが、単独で作成するなら問題ない。
軽量感
あくまで個人的な感想だが、同じ条件下(Thinkpad X41)で、Q4OSとPuppy Linuxを比較したところ、軽量感についてはさほど差がなかった。
- 起動画面からの立ち上がりの所要時間(ユーザーログイン画面がない分、Puppyの方が多少早い)
- ブラウザの反応時間
- パッケージインストールの所要時間
ネットワーク間のファイル共有
ネットワーク上の他のパソコンや外付HDDへは、どちらも問題なく簡単にアクセスできる。この件については、どちらも同じだ。
結論「Puppy Linuxは、使い方で簡単にも難しくもなる」
Puppy LinuxとQ4OSを比較した後の筆者の結論は、
「Q4OSの方が、Puppy Linuxよりはるかに使いやすい」
ということだった。
個人的なことだが、様々なLinuxを試してきたので、Linuxに関する多少の知識はあるものの、Puppy Linuxはその知識では太刀打ちできるものではなかった。
フルーガルインストールまでは良かったが、その後のマルチブート設定、いざ使いはじめてからのソフトウェアの違和感は、どうも馴染めない。
しかし、筆者が最初のLinuxとしてPuppy Linuxを選んだなら、どうだっただろう。また、マルチブートではなく、単独インストールであれば…
そう思うと、
Puppy Linuxは、使い方で簡単にも難しくもなる
ということなのかもしれない。
せっかく苦心してインストールしたPuppy Linuxだが、新たなディストリビューション検証のため削除しよう。
【ざっくりLinux!のおすすめ本】
コメント
puppy linux では設定等を保存するために save file を使用します。これは単一のファイルであるので保存容量には限界があります。deb パッケージなどからアプリをインストールする場合も、save file に入ります。それではすぐに save file が満杯になってしまうので、office ソフトやブラウザのような大きなアプリは、「追加の sfs ファイル」としてインストール(ロードともいう)するのが普通です。
こういった点が、一般の人には分かりにくいのかもしれませんが、仕組みを理解して適切に扱えば、他の linux と比べても遜色ありません。
不明な点があれば、puppy linux の本家(英語)フォーラムや、日本語フォーラムで質問なさるようお勧めします。
前々回の記事に続き、ご教授くださり有難うございます。
私の試行錯誤しながらの体験に、このような適切なアドバイスをコメントしていただけることで、今後この記事にたどり着いた方の役に立つと思います。
すでにPuppyはアンインストールしてしまいましたが、時間がある時には再度チャレンジして、ソフトウェアのインストールまでやってみようと思います。
重ね重ね御礼申し上げます。