LILO
関連記事
LInux LOader (略して LILO) は Linux 環境むけのレガシーなマルチブートローダーです。かつては標準のブートローダーの地位にありましたが、設定が楽で起動できなくなることが少ない GRUB が登場したことで段々と後退しています。ただし、LILO のシンプルなところが気に入っているユーザーもいるため、今でも開発は続けられています。
目次
インストール
LILO は liloAUR でインストールすることができます。開発版を使う場合、AUR の lilo-gitAUR をインストールしてください。LILO は BIOS 環境でしか動作しません。UEFI 環境向けの LILO としては ELILO が存在し、AUR の elilo-efiAUR パッケージでインストールすることが可能です。
(root で) lilo
コマンドを実行することで MBR に LILO がインストールされます。lilo コマンドを実行する前に /etc/lilo.conf
を編集して root エントリを root パーティションに設定してください。root パーティションが /dev/sda1
にある場合、root エントリは次のようになります: root=/dev/sda1
。'arch' と 'arch-fallback' エントリ両方の root 行を変更するようにしてください。
設定
LILO の設定は /etc/lilo.conf
ファイルを編集することで行います。編集した後は lilo
を実行することで新しい設定を適用します。
カーネルアップグレードをした後は、必ず LILO を実行する必要があるので注意してください。忘れるとシステムが起動できなくなります。
LILO の設定については LILO-mini-HOWTO に詳しい情報が載っています。
設定例
典型的な LILO の設定:
/etc/lilo.conf
# # /etc/lilo.conf # boot=/dev/hda # This line often fixes L40 errors on bootup # disk=/dev/hda bios=0x80 default=Arch timeout=100 lba32 prompt compact image=/boot/vmlinuz-linux label=Arch append="devfs=nomount" vga=788 root=/dev/hda2 read-only image=/boot/vmlinuz-linux label=ArchRescue root=/dev/hda8 read-only other=/dev/hda1 label=Windows # End of file
hwinfo --framebuffer
を使うことで vga モードが使えるかどうか判断できます。
背景に画像を使う
まず背景画像を用意します:
- GIMP で画像を開いて下さい。
- 640x480 にサイズを変更します。
- インデックスモードに変更します (Image-->Mode-->indexed)。
- "Create optimal palette" を選択して16色に設定してください。ディザリングは適当に設定してください。
- "Indexed Palette" ダイアログを開きます。メニューのテキストエントリや時計などに使いたい色を選択してください。
lilo.conf
で、インデックスを使って色を指定することができます。 /boot
ディレクトリに画像を bmp でエクスポートします。エクスポートダイアログの "Do not write color space information" オプションにチェックを入れて下さい。
次に lilo.conf
を編集します。グラフィカルメニューを設定するオプションがあります。詳しくは man lilo.conf
を参照。
- bitmap=<bitmap-file>: 先に保存したファイルに設定してください。
- bmp-colors=<fg>,<bg>,<sh>,<hfg>,<hbg>,<hsh>
メニューのエントリの色です。前景・背景・影の色とハイライトされたテキストの色を指定します。スペースは使わないで下さい。先にカラーパレットで選択したインデックスの値を使います。値を空にすることもできます (カンマは忘れないで下さい)。デフォルトの背景色は透明で、デフォルトでは影が付きません。
- bmp-table=<x>,<y>,<ncol>,<nrow>,<xsep>,<spill>: このオプションはメニューを配置する位置を指定します。x と y は文字座標です。p を後ろに付けることでピクセル座標を使うこともできます。
- bmp-timer=<x>,<y>,<fg>,<bg>,<sh>: このオプションはデフォルトエントリを起動するまでのタイムアウトを表示するタイマーの座標と色を指定します。色はインデックスで指定して、座標は文字座標 (またはピクセル座標) を使います。
例:
bitmap=/boot/arch-lilo.bmp bmp-colors=1,0,8,3,8,1 bmp-table=250p,150p,1,18 bmp-timer=250p,350p,3,8,1
lilo.conf
を保存したら root で lilo
を実行してください。再起動して見た目が変わったかどうか確認しましょう。
トラブルシューティング
起動時に読み書きエラーのメッセージが表示される
このエラーメッセージは最近の systemd の コミット に合わせて行われた mkinitcpio の 変更 が原因です。読み取り専用でパーティションがマウントされた場合にに fsck が二回実行されます。このエラーを修正するには /etc/lilo.conf
を編集して arch エントリの 'read only' という行を 'read write' に変更してください。
詳しくは フォーラムスレッド を参照。
カーネルのアップグレード後に Devmapper の not found エラーメッセージが表示される
カーネルアップグレードをした後に lilo
コマンドを実行すると devmapper の not found エラーが表示されることがあります。その場合、カーネルアップグレードした後 lilo
を実行する前に modprobe dm-mod
を実行して下さい。