Puppy Linuxと軽量LinuxのQ4OSとのマルチブートに成功|ざっくりLinux!- 66

Puppy Linux Bionic

現在、古いパソコンに、軽量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だけ、起動画面に表示することができた。

マルチブート起動画面1

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の選択画面が出た。

マルチブート起動画面2

カーソルを「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!のおすすめ本】

コメント

  1. thinkpadfreak より:

    puppy linux では設定等を保存するために save file を使用します。これは単一のファイルであるので保存容量には限界があります。deb パッケージなどからアプリをインストールする場合も、save file に入ります。それではすぐに save file が満杯になってしまうので、office ソフトやブラウザのような大きなアプリは、「追加の sfs ファイル」としてインストール(ロードともいう)するのが普通です。
    こういった点が、一般の人には分かりにくいのかもしれませんが、仕組みを理解して適切に扱えば、他の linux と比べても遜色ありません。
    不明な点があれば、puppy linux の本家(英語)フォーラムや、日本語フォーラムで質問なさるようお勧めします。

    • Kazy Kazy より:

      前々回の記事に続き、ご教授くださり有難うございます。
      私の試行錯誤しながらの体験に、このような適切なアドバイスをコメントしていただけることで、今後この記事にたどり着いた方の役に立つと思います。
      すでにPuppyはアンインストールしてしまいましたが、時間がある時には再度チャレンジして、ソフトウェアのインストールまでやってみようと思います。
      重ね重ね御礼申し上げます。