Grub Customizer

Grub Customizer | Launchpad

 

GRUB 2 上の様々な機能を GUI 上で編集できます。

  • GRUB の各種設定を GUI 上からまとめて設定できます。
  • メニューを完全に編集・並べ替えできます。
    OS が生成するメニュー項目を無効にする事も可能です。
  • 例えば Ubuntu 公式フレーバーはすべて同じ Ubuntu になってしまいますが、
    項目名を任意に設定し、区別して表示する事ができます。
  • パーティションが多い程、自動生成(update-grub)に時間を要しますが
    他 OS の検出(OS prober)を無効にできるので、処理時間を改善できます。
  • Frugal インストールの Linux は自動生成対象外で手動の追加を要しますが
    容易に項目を追加し、起動可能です。

Grub Customizer を使用する Linux は安定動作しているものを推奨します。

その Linux が起動できなくなると GRUB の編集が困難になるからです。


インストール

Ubuntu では apt でインストールできます。

 

$ sudo add-apt-repository ppa:danielrichter2007/grub-customizer

$ sudo apt update

$ sudo apt install grub-customizer

      

Ubuntu 以外の Linux でも使用できますが、ソースからのビルドが必要です。
(一部 Debian で .deb からインストールする方法が記載されていますが、
 依存関係の違いによりインストールできない事を運営者が確認しています)

 

MX Linux

標準でインストール済みです。すぐに使用する事ができます。


リスト設定

起動すると現在の GRUB メニューの状態が表示されます。

現在の GRUB 設定が左、これはそのまま GRUB メニューの一覧になります。

削除は右に一度移動されます。そこから戻す事が可能です。

そのため、一時的にメニューから外す事ができます。

各種項目はこのような表示になります。上画像は タイプ を Linux にした場合です。

  • タイプ - Linux/Linux-ISO/Chainloader/Memtest/その他/(スクリプト・コード)
  • パーティション - パーティションを選択すると下の項目も自動的に入ります。
  • RAMディスク初期化 - initrd ファイル。初期値は /initrd.img です。
  • Linux Image - vmlinuz ファイル。初期値は /vmlinuz です。
  • カーネル・パラメーター - 多くの場合「ro」だけで起動するでしょう。 
  • Boot sequance - 上設定をフル表記します。存在しない項目も追加できます。

RAMディスク初期化・Linux Image の初期値は
Debian・Ubuntu 最新カーネルのシンボリックリンクになっています。


主な設定例

新規 で項目を追加します。
「タイプ」を Linux にして、パーティションを指定すると、

Debian・Ubuntu 向けの設定が入ります。Linux に応じて変更して下さい。

 

設定する Linux をマウントし、/boot や / を参照しながら設定するのが確実です。

GRUB 1 向けに最新のカーネルを参照できる固定されたファイル名が存在し

それを設定するのが理想的です。

 

特に記載がなければパーティションに UUID を指定できます。
例えば resume 値として swap パーティションを指定する場合は
例えば次のような指定が可能です。他にも指定方法があります。

  • resume=swap:/dev/sda5
  • resume=UUID=0d22d579-e16c-481e-81f5-e3052719c451 

起動した OS の位置を保存したい場合、
Boot sequance の先頭に savedefault を加えて下さい。

 

Frugal 起動は起動オプションの変化で動作が変化する仕組みのため、

ここでは考慮・紹介しません。
GRUB 1・GRUB4DOS を使用していた場合、それを設定し起動できます。

 

Arch Linux

Manjaro はファイル名が異なります。

  • RAMディスク初期化 - /boot/initramfs-linux.img
  • Linux Image - /boot/vmlinuz-linux
  • カーネル・パラメーター - rw quiet resume=(swap)

Debian・Ubuntu

Grub Customizer が考慮しているので、

通常は カーネル・パラメーター を入れるのみです。

MX Linux など、設定が異なる場合があります。

  • RAMディスク初期化 - /initrd.img
  • Linux Image - /vmlinuz
  • カーネル・パラメーター - ro quiet splash
    起動画面に問題がある場合は ro のみでも起動可能です

Fedora

linux→linux16、initrd→initrd16 と変更する必要があるかもしれません。

  • RAMディスク初期化 -/boot/initramfs-(バージョン)
  • Linux Image - /boot/vmlinuz-(バージョン)
  • カーネル・パラメーター - ro LANG=ja_JP.UTF-8

Mageia

  • RAMディスク初期化 - /boot/initrd.img
  • Linux Image - /boot/vmlinuz
  • カーネル・パラメーター - splash quiet noiswmd resume=(swap)

openSUSE

  • RAMディスク初期化 - /boot/initrd
  • Linux Image - /boot/vmlinuz
  • カーネル・パラメーター - splash=silent quiet showopts

PCLinuxOS

固定された名称のシンボリックリンクが存在します。これを使用します。

  • RAMディスク初期化 - /boot/initrd.img
  • Linux Image - /boot/vmlinuz
  • カーネル・パラメーター - splash quiet noiswmd resume=(swap) vga=788

RedHat 系 (CentOS・Scientific Linux など)

Fedora が別項目として存在する事に注意して下さい。

linux→linux16、initrd→initrd16 と変更する必要があるかもしれません。

  • RAMディスク初期化 - /boot/initramfs-(バージョン)
  • Linux Image - /boot/vmlinuz-(バージョン)
  • カーネル・パラメーター - ro crashkernel=auto rhgb quiet LANG=ja_JP.UTF-8

Sabayon Linux

Gentoo Linux で共通と思われます。

  • RAMディスク初期化 - /boot/Initrd
  • Linux Image - /boot/bzImage
  • カーネル・パラメーター - ro splash resume=UUID=(swap) quiet 

Slackware

通常 initrd を持ちません。UUID は設定できません。

とりあえず次のように設定します。

  • Linux Image - /boot/vmlinuz
  • カーネル・パラメーター - resume=(swap) ro

Boot sequance の initrd 行を消します。
タイプ が その他 に変化しますが、これで正常です。

更に linux 行の root=UUID=〜 を root=/dev/sda5 など、

起動パーティションを /dev/sd〜 の形式で指定して下さい。

 

Solus

過去カーネルの変更で一時的に次のシンポリックリンクを失った事があります。
起動しなくなった場合はその可能性があります。
/boot 内のファイルを指定して起動して下さい。

  • RAMディスク初期化 - /initrd.img
  • Linux Image - /vmlinuz
  • カーネル・パラメーター - ro quiet splash

Vine Linux

/boot 内に固定した名前のシンボリックリンクがあるため、それを使用します。

  • RAMディスク初期化 - /boot/initrd.img
  • Linux Image - /boot/vmlinuz
  • カーネル・パラメーター - resume=(swap) ro vga=0x314 splash=silent quiet
    起動画面に問題がある場合は resume=(swap) ro のみで起動可能です。

Windows

元々の GRUB 2 で Windows を検出しているでしょう。それを活かします。
タイプ - その他 で Boot sequance に次を入れます。
sda1 が起動パーティション、E296C9B196C98767 がその UUID の場合です。

 

insmod part_msdos

insmod ntfs

set root='hd0,msdos1'

if [ x$feature_platform_search_hint = xy ]; then

  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1  E296C9B196C98767

else

  search --no-floppy --fs-uuid --set=root E296C9B196C98767

fi

parttool ${root} hidden-

drivemap -s (hd0) ${root}

chainloader +1

 

再起動

タイプ - その他 で Boot sequance に次を入れます。

 

reboot

 

電源を切る

タイプ - その他 で Boot sequance に次を入れます。

 

halt


一般

  • デフォルト エントリー - 指定した OS が起動時選択された状態になります。
  • メニュー表示 - 外した場合はデフォルトエントリーで起動しようとします。
  • 他のOSを探す - 外すと他 OS の自動検索を対象外にします。※
  • Boot default entry after 〜 - 自動起動するための秒数を指定します。
  • カーネル・パラメーター - 全項目に共通する起動オプションを指定します。
  • 高度な設定 - /etc/default/grub の各項目を具体的に設定できます。

※ 外す事で他パーティションの自動検出がなくなり、
  update-grub の処理速度が短縮されます。
  リスト項目への追加は設定に関係なく タイプ=Linux で追加可能です。


外観

  • カスタム解像度 - 起動時の解像度を指定します。
  • Theme - GRUB のテーマを設定します。
  • Custom Theme settings - 各種色とフォント・背景画像を指定します。
  • 高度な設定 - /etc/default/grub の各項目設定。一般と同じ表示です。

うまく動作しない場合

状況によってはすでに存在している項目を Grub Customizer が更に追加し、

同じ項目が二重になって動作に問題が発生する事があります。

/etc/default/grub を直接テキストエディタで開いて確認してみて下さい。


アンインストール

Grub Customizer のアンインストールはパッケージの削除のみに留めていて、

元の GRUB 動作の戻す手段が正式には提供されていません。

 

Grub Customizer の管理を他の Linux へ移した場合、

その Linux で GRUB を動作させる事がないのであれば、

わざわざアンインストールする必要はありません。そのまま放置でも構いません。

 

Grub Customizer は初回起動時に

/etc/grub.d/backup へ元の GRUB 情報を残しています。

アンインストールする場合、これらを戻してから GRUB を更新しなおして下さい。

例えば Ubuntu の場合は次の手順となるでしょう。

 

$ sudo apt remove grub-customizer

$ sudo cp /etc/grub.d/backup/boot_grub /boot/grub

$ sudo cp /etc/grub.d/backup/etc_grub_d /etc/grub.d

$ sudo cp /etc/grub.d/backup/default_grub /etc/default/grub

$ sudo update-grub