珍しく、壁紙をいじる
そう言えば、世間の人達は、僕が Linux を使っている、と聞いて、どうやって?と思わないのだろうか。普通の PC に Microsoft Windows が入っているときは、スイッチを入れるとまず BIOS が立ち上がって、ハードウェアのチェックがかかって、そして Windows の起動画面が……あれれ、Thomas 氏は Windows と Linux と両方使ってるみたいだけど、どうやっているんだろう?……なんて問い合わせが来たことは、今のところないはずだ。
昔、Windows 98 位までの時期には、僕は loadlin というプログラムを用いて Linux を起動していた。当時は、Windows の起動シークェンスをいわゆる batch file で規定していたから、この batch file を書き換えて、Windows 起動と loadlin 起動を選択できるようにしておく。loadlin 側を選択した場合、Windows のコマンドモード上で:
c:\loadlin c:\linux\boot.img root=/dev/hda2 roなんていう風に引数を指定して loadlin(.exe) を実行する。loadlin は、第1引数で指定したファイルをメモリ上に展開し、root= 以下に指定したパーティションを root partition としてマウントしてやる。後はマウントされたパーティション上にある boot sequence に従って Linux が起動される、というわけだ。
この loadlin は本当に重宝した。Windows だけでなく、DOS 系の OS だったらまず問題なく使えたし、脆弱な Windows もコマンドモードではゾンビのように強いので、いついかなるときも確実に Linux を起動させることができた。僕のような使い方をしている場合、ネットワーク(や、当時だったらモデム)越しにサーバの再設定をして、回線越しに reboot をかける必要が生じることがままあったけれど、loadlin で boot するようにしてある端末には、安心して reboot をかけられたものだった。
しかし loadlin には致命的な問題がひとつあって、ある大きさを超えた boot image を読み込むことができない。そして、Windows が NT 系の OS に移行してからは、コマンドラインで loadlin を使うことも難しくなってきた。実は loadlin 以前から、Linux の世界には LILO と呼ばれる boot loader が存在しているのだが、僕はこの LILO の脆弱さを嫌っていて、どうしても使いたくなかった。そこで、Windows NT が持っている boot loader を使う方法に移行していくことになる。
これは、Linux の root partition の先頭 512 バイトをダンプしたファイルを用意しておいて、Windows の boot loader の挙動を設定する boot.ini を書き換えて、Windows を load するか、このダンプしたファイルを load するかを選択する、というものだけど、kernel を入れ替える度にこの 512 バイトのダンプをやり直す必要があった。最初のうちは、まだ Linux が NTFS を読めなかったから、これのためだけに小さな FAT のパーティションを切っておく必要があったりして、面倒なことこの上なかった。
そんなことをしている時に、ついに登場したのが GRUB であった。GRUB はシェルを持っているので高機能だし、おまけに distro のインストール時にインストーラに任せてしまっても確実にインストールできる。Debian GNU/Linux の場合は、kernel のコンパイル→インストール時に、自動的に GRUB のアップデートまでやってくれるのだ!こんな便利な話はない。
というわけで、あまり何も考えずに GRUB を使っている。しかし、たまには少しはカスタマイズをしてもいいだろう。GRUB の起動時に出る壁紙を、気分転換に変えてみることにする。GRUB の壁紙は、/usr/share/images/desktop-base/desktop-grub.png なのだけど、これは symbolic link になっていて、本体は /etc/alternatives/desktop-grub になっている。しかし /etc/alternatives/desktop-grub を見てみると、本体は /usr/share/images/desktop-base/spacefun-grub.png であった。うーむ……で、このファイルを見てみると、1024×768 の 24 bit PNG ファイルである。ふーん。これならそこらで公開されている壁紙をちょいと変換すれば、そのまま使えそうである。手元にあった Maxfield Parrish の絵を変換して指定してみたものが、こんな感じである:
油絵は画素が粗くなっても結構見てくれが悪くならないので、こういうときはいい感じである。