如何启动linux到命令行
如何启动linux到命令行详细介绍
在 Linux 系统中启动到命令行界面(CLI)有多种方法,具体取决于系统的初始化系统(如 systemd 或传统 SysV init)和发行版差异。以下是针对不同场景的详细解决方案:
一、临时启动到命令行(单次生效)
1.
通过 GRUB 菜单编辑
- 适用场景:系统无法正常启动图形界面,或需要临时进入命令行。
- 操作步骤:
- 重启系统,在 GRUB 菜单出现时按下
e键进入编辑模式。 - 找到以
linux或linux16开头的行,在末尾添加参数:- 传统系统(如 CentOS 6):添加
3(表示运行级别 3)。 - systemd 系统(如 Ubuntu、Fedora):添加
systemd.unit=multi-user.target或text。
- 传统系统(如 CentOS 6):添加
- 按
Ctrl + X或F10启动系统。
- 重启系统,在 GRUB 菜单出现时按下
- 示例:bash
linux /boot/vmlinuz-5.4.0-42-generic UUID-9abc-def0-1234-5678abcdef0 ro multi-user.target
2.
进入单用户模式
- 适用场景:系统修复、密码重置或紧急维护。
- 操作步骤:
- 重启系统,在 GRUB 菜单中选择内核条目并按
e。 - 在
linux行末尾添加init=/bin/bash或single。 - 按
Ctrl + X启动,直接进入 root 权限的命令行。
- 重启系统,在 GRUB 菜单中选择内核条目并按
- 注意:单用户模式下文件系统默认以只读(
ro)挂载,需执行mount -o remount,rw /以读写模式重新挂载。
二、永久设置默认启动为命令行
1.
基于 systemd 的系统(如 Ubuntu、Fedora、CentOS 7/8)
- 操作步骤:
- 打开终端,执行以下命令:bash
systemctl set-default multi-user.target - 验证设置:bash
systemctl get-default
- 打开终端,执行以下命令:bash
- 恢复图形界面:bash
systemctl set-default graphical.target
2.
传统 SysV init 系统(如 CentOS 6)
- 操作步骤:
- 编辑
/etc/inittab文件:bash/etc/inittab - 将
id:5:initdefault:修改为id:3:initdefault:。 - 重启系统生效。
- 编辑
3.
修改 GRUB 配置(适用于所有系统)
- 操作步骤:
- 编辑 GRUB 配置文件:bash
/etc/default/grub - 在
GRUB_CMDLINE_LINUX_DEFAULT行中添加text参数:bash - 更新 GRUB:bash
grub2-mkconfig /boot/grub2/grub.cfg
- 编辑 GRUB 配置文件:bash
三、其他方法
1.
使用快捷键切换到命令行
- 适用场景:已进入图形界面,需要快速切换到终端。
- 操作步骤:
- 按下
Ctrl + Alt + F2至F6切换到不同的虚拟终端(TTY)。 - 返回图形界面:按下
Ctrl + Alt + F1。
- 按下
2.
救援模式或紧急模式
- 适用场景:系统无法正常启动,需要修复文件系统或 GRUB。
- 操作步骤:
- 重启系统,在 GRUB 菜单中选择 “救援模式” 或 “紧急模式”。
- 进入后执行修复命令(如
fsck检查文件系统,grub-install修复引导)。
四、常见问题与解决方案
- 修改后无法启动:
- 检查 GRUB 参数或配置文件语法是否正确。
- 使用救援模式或单用户模式恢复配置。
- 忘记 root 密码:
- 进入单用户模式,直接修改密码:bash
root
- 进入单用户模式,直接修改密码:bash
- SELinux 导致问题:
- 临时关闭 SELinux:bash
setenforce - 永久关闭:编辑
/etc/selinux/config,将SELINUX=enforcing改为SELINUX=disabled。
- 临时关闭 SELinux:bash
五、发行版特定注意事项
| 发行版 | 特点说明 |
|---|---|
| Ubuntu | 默认使用 systemd,可通过 systemctl 或修改 GRUB 配置实现。 |
| Fedora | 与 Ubuntu 类似,但 GRUB 配置文件路径为 /etc/default/grub。 |
| CentOS 7/8 | 使用 systemd,单用户模式需通过 rd.break 参数进入。 |
| Arch Linux | 需手动安装和配置图形界面,默认启动为命令行。 |
| Debian | 传统 SysV init 与 systemd 并存,推荐使用 systemctl 管理。 |
六、总结
- 临时需求:通过 GRUB 菜单编辑或单用户模式快速进入命令行。
- 长期需求:使用
systemctl(systemd 系统)或修改/etc/inittab(传统系统)设置默认启动目标。 - 故障排除:救援模式和单用户模式是解决系统启动问题的有效手段。
根据系统类型和具体需求选择合适的方法,操作时注意备份重要数据,并确保以 root 权限执行命令。