Ubuntu 14服务器版,如何启动进入单用户模式?

Ubuntu 14服务器版,如何启动进入单用户模式?

我是 Linux 新手,只有基本知识。过去,我曾测试过在某些 Linux 发行版中通过在引导命令后添加“single”来引导进入单用户模式。但是,我不知道在 Ubuntu 14 中应该在哪里添加它,启动命令实际上是一个 shell 脚本。有人可以帮我吗?以下是我拍摄的一些快照。

在此输入图像描述 在此输入图像描述 在此输入图像描述

答案1

我得到了答案。在这一行:

linux /vmlinuz-3.13.0-32-generic root=/dev/mapper/ubuntu-vg-root ro

追加single,它变成

linux /vmlinuz-3.13.0-32-generic root=/dev/mapper/ubuntu-vg-root ro single

然后按Ctrl+ x。您将进入单用户模式。


要使其永久化,您需要编辑/etc/default/grub并更改此行:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

GRUB_CMDLINE_LINUX_DEFAULT="text"

详细信息可能会有所不同,具体取决于您的系统。重要的一点是设置GRUB_CMDLINE_LINUX_DEFAULTtext。完成此操作后,运行 sudo update-grub,下次重新启动时,您将启动到文本模式。

答案2

上面的答案描述了如何使 Linux/GRUB2 主机/盒子引导到单用户模式永久默认选项。人们还可以将其设为永久但{非默认,菜单可选}选项。一个过程(这并不愚蠢,比如编辑/boot/grub/grub.cfg)是添加一个菜单项/etc/grub.d/40_custom(但请参阅菜单顺序上的注释@end):

1. (安全第一!)备份您当前的/etc/grub.d/40_custom. (IIUC,这是默认/通用 GRUB2 设置的一部分。)真实的文件系统备份在这里是最佳选择,但也可以只使用旧的备份到.0成语:

    FP_TO_BACKUP='/etc/grub.d/40_custom'
    BACKUP_FP="${FP_TO_BACKUP}.0"
    sudo ls -al "${FP_TO_BACKUP}*"  # checking that you don't already have one
    cp "${FP_TO_BACKUP}" "${BACKUP_FP}"
    sudo chmod a-wx "${BACKUP_FP}"  # non-executable files not used by GRUB2

2.在您选择的编辑器中,打开当前的/boot/grub/grub.cfg/etc/grub.d/40_custom.在带有 TRAMP 的 Emacs,您可以使用以下字符串(在C-x C-f或 之后M-x find-file)在正常会话中执行此操作

    /sudo::/boot/grub/grub.cfg
    /sudo::/etc/grub.d/40_custom

3.通过使用 regexp= 从文件顶部搜索来查找 grub.cfg 中当前的默认菜单项^menuentry

4.将该菜单项的整个节(包括终端“}”!)复制到您的40_custom

5.在你的/etc/grub.d/40_custom

5.1.为菜单项指定一个有用的标题。例如,附加(console)到您已有的内容。

5.2.至少现在,从原始菜单项中删除大部分代码,仅保留以set rootlinuxinitrd和中间的 2echo行开头的行。 (您还可以添加解释性评论。)

5.3.重要部分:在行开头linux,将结尾处的代码(通常是之后ro)替换为single。例如

- linux /vmlinuz-3.16.0-4-amd64 root=/dev/mapper/LVM2_crypt-root ro   nomodeset nouveau.modeset=0
+ linux /vmlinuz-3.16.0-4-amd64 root=/dev/mapper/LVM2_crypt-root ro single

这将使您的新菜单项比其前身简单得多,例如

menuentry 'LMDE 2 Cinnamon 64-bit (console)' {
    set root='hd0,msdos3'
    echo    'Loading Linux 3.16.0-4-amd64 ...'
    linux   /vmlinuz-3.16.0-4-amd64 root=/dev/mapper/LVM2_crypt-root ro single
    echo    'Loading initial ramdisk ...'
    initrd  /initrd.img-3.16.0-4-amd64
}

5.3.保存40_custom并退出编辑器。

6. 别忘了 sudo update-grub

7.重新启动:您现在应该在初始 GRUB2 引导屏幕的末尾看到一个持久的项目/菜单项。

菜单顺序注意:新项目显示在(由)生成的 GRUB2 引导菜单的末尾update-grub,因为此过程编辑了(预先存在的)/etc/grub.d/40_custom。可以通过更改文件的数字前缀来更改菜单中项目的位置。通用 GRUB2/etc/grub.d/将包含如下文件名

  • 00_header您可能不想编辑
  • ...其次是主题和其他菜单装饰
  • 10_linux
  • ...后面是与 Linux 相关的菜单项
  • 30_os-prober
  • ...随后启动非 Linux 操作系统(例如 Windows)
  • 40_custom
  • ...后面是不属于以前的功能箱的自定义菜单项

但人们可以随意颠覆上述模式。例如,

  • 要让您的自定义菜单项显示在所有其他菜单项之上,请给它一个数字前缀 < 10。例如,创建一个新文件09_custom
  • 要让自定义菜单项显示在 Linux 菜单项之后但 Windows 菜单项之前,请为其指定 10 < 数字前缀 < 30。例如,创建一个新文件29_custom

注意

  • 为达到给定位置而必须使用的确切数字前缀值将取决于主机/盒子上已使用的值,因此请记住ls -al /etc/grub.d/
  • 如果创建新文件,则必须先使其可执行update-grub

相关内容