如何在 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
}

现在重新启动,选择您的新条目,您将进入文本模式。 :)