最新の Kubuntu (14.10) を実行していますが、異なるランレベルに直接起動できる grub2 メニュー エントリを追加したいと考えています。コマンド ラインを直接起動して X をロードしないように変更/etc/rc3.d
または変更したいと考えてい/etc/rc4.d
ます。カスタム メニュー エントリは に配置する必要があると思います/etc/grub.d/40_custom
。 に自分の/デフォルトのメニュー エントリをコピーできると思います/boot/grub/grub.cfg
が、このエントリを異なるランレベルで起動するにはどうすればよいでしょうか。
telinit 3
カスタム メニュー エントリの最後に コマンドを追加できますか?
ご協力いただければ幸いです:)
答え1
を使用してエントリを追加する場合の問題40_custom
は、エントリが静的であることです。つまり、内容はそのまま にコピーされるためgrub.cfg
、新しいカーネルではそのファイルを再編集する必要があります。 を少しいじるだけで、インストールされているカーネルごとに追加のエントリを生成できるように10-linux
なります。 、および次の行の後の を編集します。update-grub
/etc/grub.d/10_linux
linux_entry "${OS}" "${version}" advanced \
"${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}"
if [ "x${GRUB_DISABLE_RECOVERY}" != "xtrue" ]; then
linux_entry "${OS}" "${version}" recovery \
"${GRUB_CMDLINE_LINUX_RECOVERY} ${GRUB_CMDLINE_LINUX}"
fi
に別の呼び出しを追加しますlinux_entry
:
linux_entry "${OS}, runlevel 3" "${version}" advanced \
"${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT} 3"
(ランレベルの選択は、オプションの最後に数字を追加するだけです。)
効果:
「詳細オプション」サブメニューのメニューエントリ:
そのエントリの内容:
もちろん、通常はランレベル 2 ~ 5 は同等なので、そこから起動しても違いはありませんでしたが、次の点が異なります。
$ runlevel
N 3