過去には以下のためgrub-reboot
に使用されました。他のオペレーティングシステムから起動推測しやすいオプション番号GRUBリストでは、例えば次のようになります。
luis@VirtuKali:~$ more /boot/grub/grub.cfg | grep menuentry --color
menuentry 'Debian GNU/Linux, with Linux 3.14-kali1-amd64' --class debian --class gnu-linux --class gnu --class os {
menuentry 'Debian GNU/Linux, with Linux 3.14-kali1-amd64 (recovery mode)' --class debian --class gnu-linux --class gnu --class os {
...したがって、オプション0(最初)は通常のKali Linuxで起動し、オプション1(2番目)は回復モードで起動することがわかっているので、喜んで次のようにすることができます。
# grub-reboot 1
しかし、GRUBの最新バージョン、そしてあるとき複数のオペレーティングシステム、物事はそれほど簡単ではありません。
たとえば、次のような混乱を見てください。
luis@balanceador:~$ more /boot/grub/grub.cfg | grep menuentry --color
if [ x"${feature_menuentry_id}" = xy ]; then
menuentry_id_option="--id"
menuentry_id_option=""
export menuentry_id_option
menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-d795f672-83d4-451e-bea4-0db5c70512b8' {
submenu 'Opciones avanzadas para Ubuntu' $menuentry_id_option 'gnulinux-advanced-d795f672-83d4-451e-bea4-0db5c70512b8' {
menuentry 'Ubuntu, con Linux 3.13.0-39-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.13.0-39-generic-advanced-d795f672-83d4-451e-bea4-0db5c70512b8' {
menuentry 'Ubuntu, with Linux 3.13.0-39-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.13.0-39-generic-recovery-d795f672-83d4-451e-bea4-0db5c70512b8' {
menuentry 'Ubuntu, con Linux 3.13.0-32-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.13.0-32-generic-advanced-d795f672-83d4-451e-bea4-0db5c70512b8' {
menuentry 'Ubuntu, with Linux 3.13.0-32-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.13.0-32-generic-recovery-d795f672-83d4-451e-bea4-0db5c70512b8' {
menuentry 'Memory test (memtest86+)' {
menuentry 'Memory test (memtest86+, serial console 115200)' {
menuentry 'Microsoft Windows XP Professional (en /dev/sda1)' --class windows --class os $menuentry_id_option 'osprober-chain-1D8E45A744914BEC' {
menuentry 'Ubuntu 14.04.1 LTS (14.04) (en /dev/sda6)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-simple-45d94105-0a37-49fb-8b14-e201b807d493' {
submenu 'Opciones avanzadas para Ubuntu 14.04.1 LTS (14.04) (en /dev/sda6)' $menuentry_id_option 'osprober-gnulinux-advanced-45d94105-0a37-49fb-8b14-e201b807d493' {
menuentry 'Ubuntu (en /dev/sda6)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-3.13.0-39-generic--45d94105-0a37-49fb-8b14-e201b807d493' {
menuentry 'Ubuntu, con Linux 3.13.0-39-generic (en /dev/sda6)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-3.13.0-39-generic--45d94105-0a37-49fb-8b14-e201b807d493' {
menuentry 'Ubuntu, with Linux 3.13.0-39-generic (recovery mode) (en /dev/sda6)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-3.13.0-39-generic-root=UUID=45d94105-0a37-49fb-8b14-e201b807d493 ro recovery nomodeset-45d94105-0a37-49fb-8b14-e201b807d493' {
menuentry 'Ubuntu 14.04.1 LTS (14.04) (en /dev/sda7) (en /dev/sda6)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-3.13.0-39-generic--45d94105-0a37-49fb-8b14-e201b807d493' {
menuentry 'Ubuntu (en /dev/sda7) (en /dev/sda6)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-3.13.0-39-generic--45d94105-0a37-49fb-8b14-e201b807d493' {
menuentry 'Ubuntu, con Linux 3.13.0-39-generic (en /dev/sda7) (en /dev/sda6)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-3.13.0-39-generic--45d94105-0a37-49fb-8b14-e201b807d493' {
menuentry 'Ubuntu, with Linux 3.13.0-39-generic (recovery mode) (en /dev/sda7) (en /dev/sda6)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-3.13.0-39-generic-root=UUID=d795f672-83d4-451e-bea4-0db5c70512b8 ro recovery nomodeset-45d94105-0a37-49fb-8b14-e201b807d493' {
以前は、単に計算済みインスタンス数menuentry
(0から始まる)ですが、今は対応する関係が異なりますコンピュータの起動時にGRUBメニューに見られるように。現在可能な唯一の回避策は、次のように入力することです。
# grub-reboot "Microsoft Windows XP Professional (en /dev/sda1)"
大きな問題ではありませんが、コピーして貼り付ける必要があります。数字はスクリプトを書くのが簡単で簡単です。
お持ちですか?その他のヒント?たぶん私のgrepコマンドを更新する必要がありますか?
ありがとうございます。
答え1
この提案されたソリューションでさえ元の質問に適用されます。 (Kali Linuxの場合)一部の実装(Ubuntu v14など)では、行の先頭
grub.cfg
にこのエントリがない可能性があります。TABs
ここはより多くのプラットフォーム独立すべてのGRUBインストールで動作できるソリューションです。
解決策は次のとおりです(エイリアスとして使用)。
alias GRUB-ListMenuOptions='more /boot/grub/grub.cfg | grep -e "^menuentry" -e "submenu" --color'
menuentry
行の先頭の名前付き項目と名前付き項目submenu
。
GRUB 2.02~beta2-9ubuntu1でテストされました。アイデアをいただいた@muruに感謝します。