読者です 読者をやめる 読者になる 読者になる

解き放たれしソフトウェア

GNU/LinuxなどFLOSSについて書いてみるつもり

GRUB の os-prober

GNUブートローダGRUB で、Linux はいうまでもなく、 Windows にさえ対応しています。

他方の Windows は、ことあるごとにブートローダを勝手に書き換えようとするプロプライエタリぶり(独裁君主っぷり)を発揮しますが……。 「Windows Update やアップグレードをしたら、 GRUB ブートローダが消えた」という被害報告は多数あります。 どうにかして GRUB を再インストールすればよいのですが。 最も良い方法は、そもそも WindowsGNU/LinuxBSD 等とは、別のディスクにインストールし、M/B の BIOS のブート順位を切り替えて対応することです。

さて、 GRUB には、インストール済のブートイメージやカーネルを探してブート項目に加えてくれる os-prober という機能があります。 これは厳密には Debian で製作しているソフトウェアです。http://anonscm.debian.org/gitweb/?p=d-i/os-prober.git http://joeyh.name/code/os-prober/

この os-prober を有効にしていれば、Windows のブートイメージも自動的に見つけてくれます。

os-prober を含め、 GRUB が実際に実行するスクリプトは、 /etc/grub.d/ の中にあります。

os-prober を有効にするには、 /etc/grub.d/30_os-prober の実行ビットが立っている必要があります。(フェイル名の冒頭に数字が付いているのは、実行順序を固定するためのものです。)

$ sudo chmod u+x /etc/grub.d/30_os-prober

もうひとつ、 /etc/default/grub の中にも設定項目があります。

GRUB_DISABLE_OS_PROBER=false

この2つが揃っていないと、 os-prober は有効になりません。 反対に無効にするならばどちらでもよいのですが、/etc/default/grub で設定した方が後々混乱しなくてシンプルでしょうか。

os-proberは便利です。 しかし実際には、os-prober でブート項目をつくらせたあとに、それをコピーして編集し /etc/grub.d/40_custom に書き加え、 os-prober は無効に戻せば、より厳密に整理整頓された状態になるでしょう。

広告を非表示にする