Linux启动级别基础
Linux传统启动级别分为7种(0-6),不同发行版可能有差异:
| 级别 | 用途 | 说明 |
|——|——|——|
| 0 | 关机 | 系统停止运行 |
| 1 | 单用户模式 | 仅root权限,用于系统修复 |
| 2 | 多用户模式(无网络) | 无NFS服务,Ubuntu默认 |
| 3 | 完整多用户模式 | 带网络和命令行界面(服务器常用) |
| 4 | 保留 | 用户自定义 |
| 5 | 图形界面模式 | 带GUI桌面(桌面版默认) |
| 6 | 重启 | 系统重新启动 |
⚠️ 注意:
- Systemd系统(Ubuntu 16.04+/CentOS 7+)改用
target
替代传统级别:
runlevel 3
→multi-user.target
runlevel 5
→graphical.target
查看当前启动级别
方法1:传统SysVinit系统
who -r # 显示当前运行级别 runlevel # 显示前一个和当前级别(输出示例:N 5)
方法2:Systemd系统
systemctl get-default # 显示默认目标(如 graphical.target)
临时更改启动级别(重启后失效)
▶ SysVinit系统(如Debian 7/CentOS 6)
init 3 # 切换到级别3(命令行模式) telinit 5 # 切换到级别5(图形模式)
▶ Systemd系统(Ubuntu/CentOS 7+)
sudo systemctl isolate multi-user.target # 切换到级别3等效 sudo systemctl isolate graphical.target # 切换到级别5等效
永久更改启动级别
▶ SysVinit系统
编辑/etc/inittab
文件:
sudo vi /etc/inittab
找到行:id:5:initdefault:
将数字5
改为目标级别(如3
),保存退出。
▶ Systemd系统
设置默认目标:
sudo systemctl set-default multi-user.target # 设为级别3(无GUI) sudo systemctl set-default graphical.target # 设为级别5(带GUI)
验证:
systemctl get-default # 检查是否生效
关键注意事项
-
风险预防
- 勿设
0
(关机)或6
(重启)为默认级别,否则系统无法启动。 - 修改前备份文件:
sudo cp /etc/inittab /etc/inittab.bak # SysVinit备份
- 勿设
-
发行版差异
- Ubuntu 18.04+:默认使用
graphical.target
- CentOS 7:若未安装GUI,
graphical.target
将失败
- Ubuntu 18.04+:默认使用
-
故障恢复
- 若修改后无法启动:
- 重启时按
Shift
/Esc
进入GRUB菜单 → 选择Recovery Mode
→ 挂载根目录并修复配置文件。
- 重启时按
- 若修改后无法启动:
常见问题解决
-
Q:修改后黑屏无响应?
A:进入Recovery Mode,执行:sudo systemctl set-default multi-user.target # 重置为命令行 sudo reboot
-
Q:Systemd命令报错“No such file or directory”?
A:目标未安装(如无GUI却设graphical.target
),安装GUI或改用multi-user.target
。
📌 操作原则:
- 生产服务器建议使用
级别3
(无GUI)节省资源。- 桌面用户保留
级别5
确保图形界面正常。
修改前务必确认当前系统初始化方式(执行ps -p 1
查看是init
还是systemd
)。
通过以上步骤,您可安全调整Linux启动级别,如遇复杂问题,请参考官方文档:
- Systemd官方手册
- SysVinit Wiki
最后提醒:系统启动配置直接影响稳定性,非必要不修改,操作前做好备份!
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/9172.html