如何在 Grub 中添加菜单项以在命令行中启动 Ubuntu
How to add a menu entry in Grub to start Ubuntu in command line
我有一个有时只通过 SSH 远程使用的桌面。在这些情况下,图形界面是没有用的,所以以文本模式启动系统可能会很好。
我正在使用 Ubuntu 并且我想在 Grub 中添加一个菜单项来执行我想要的操作(以文本模式启动,但不是每次都如此)。为此,我将其添加到文件 /etc/grub.d/40_custom
:
menuentry 'Ubuntu (text mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-86845fc2-c8a4-4323-a936-497ae09f288c' {
recordfail
load_video
gfxmode $linux_gfx_mode
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_msdos
insmod ext2
set root='hd1,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1 86845fc2-c8a4-4323-a936-497ae09f288c
else
search --no-floppy --fs-uuid --set=root 86845fc2-c8a4-4323-a936-497ae09f288c
fi
linux /boot/vmlinuz-3.19.0-59-generic root=UUID=86845fc2-c8a4-4323-a936-497ae09f288c ro text
initrd /boot/initrd.img-3.19.0-59-generic
}
然后 运行 sudo update-grub
.
问题是它根本不起作用:当我使用这条新线时,Ubuntu 照常启动,图形界面和 GDM 要求输入我的密码。
有什么想法吗?
感谢 Shubhangi 的建议(参见问题的评论),我找到了一种方法来做我想做的事。
基于 this question,我需要的是在运行级别 3 中启动 Ubuntu。为此,我们可以在新条目的 linux
行中添加 3
。
更准确地说,这里是40_custom
的新内容:
menuentry 'Ubuntu (text mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-86845fc2-c8a4-4323-a936-497ae09f288c' {
recordfail
load_video
gfxmode $linux_gfx_mode
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_msdos
insmod ext2
set root='hd1,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1 86845fc2-c8a4-4323-a936-497ae09f288c
else
search --no-floppy --fs-uuid --set=root 86845fc2-c8a4-4323-a936-497ae09f288c
fi
linux /vmlinuz root=UUID=86845fc2-c8a4-4323-a936-497ae09f288c 3 ro text
initrd /initrd.img
}
现在重新启动,选择您的新条目,您将进入文本模式。 :)
我有一个有时只通过 SSH 远程使用的桌面。在这些情况下,图形界面是没有用的,所以以文本模式启动系统可能会很好。
我正在使用 Ubuntu 并且我想在 Grub 中添加一个菜单项来执行我想要的操作(以文本模式启动,但不是每次都如此)。为此,我将其添加到文件 /etc/grub.d/40_custom
:
menuentry 'Ubuntu (text mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-86845fc2-c8a4-4323-a936-497ae09f288c' {
recordfail
load_video
gfxmode $linux_gfx_mode
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_msdos
insmod ext2
set root='hd1,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1 86845fc2-c8a4-4323-a936-497ae09f288c
else
search --no-floppy --fs-uuid --set=root 86845fc2-c8a4-4323-a936-497ae09f288c
fi
linux /boot/vmlinuz-3.19.0-59-generic root=UUID=86845fc2-c8a4-4323-a936-497ae09f288c ro text
initrd /boot/initrd.img-3.19.0-59-generic
}
然后 运行 sudo update-grub
.
问题是它根本不起作用:当我使用这条新线时,Ubuntu 照常启动,图形界面和 GDM 要求输入我的密码。
有什么想法吗?
感谢 Shubhangi 的建议(参见问题的评论),我找到了一种方法来做我想做的事。
基于 this question,我需要的是在运行级别 3 中启动 Ubuntu。为此,我们可以在新条目的 linux
行中添加 3
。
更准确地说,这里是40_custom
的新内容:
menuentry 'Ubuntu (text mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-86845fc2-c8a4-4323-a936-497ae09f288c' {
recordfail
load_video
gfxmode $linux_gfx_mode
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_msdos
insmod ext2
set root='hd1,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1 86845fc2-c8a4-4323-a936-497ae09f288c
else
search --no-floppy --fs-uuid --set=root 86845fc2-c8a4-4323-a936-497ae09f288c
fi
linux /vmlinuz root=UUID=86845fc2-c8a4-4323-a936-497ae09f288c 3 ro text
initrd /initrd.img
}
现在重新启动,选择您的新条目,您将进入文本模式。 :)