我是 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_DEFAULT
为text
。完成此操作后,运行 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 root
、linux
、initrd
和中间的 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