Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學

Linux 運行級別 / systemd Target 修改與誤配救援指南

編輯:Linux 系統常見問題解答

SysVinit 運行級別 (傳統)

級別名稱描述
0halt關機 (切勿設為默認)
1Single User單用戶維護模式 (類似 Windows 安全模式)
2Multi-user (No NFS)多用戶無網絡 (同 3,若無網絡服務)
3Full Multi-user完整多用戶文本界面 (**服務器標準默認**)
4User Defined保留/自定義 (筆記本電池低時切換省電腳本等)
5X11圖形界面多用戶 (桌面環境默認)
6reboot重啟 (切勿設為默認)

systemd Target 對應 (現代系統 CentOS 7+/Ubuntu 16.04+)

運行級別systemd Target別名
0poweroff.targetrunlevel0.target
1rescue.targetrunlevel1.target
2,3,4multi-user.targetrunlevel2/3/4.target
5graphical.targetrunlevel5.target
6reboot.targetrunlevel6.target

修改默認啟動目標

SysVinit (編輯 /etc/inittab)


vi /etc/inittab
# 找到 id:5:initdefault:
# 修改為 id:3:initdefault:  (文本界面默認)

systemd (命令行)


# 查看當前默認
systemctl get-default
# 設置默認為多用戶文本界面 (級別 3)
systemctl set-default multi-user.target
# 設置默認圖形界面 (級別 5)
systemctl set-default graphical.target
# 立即切換 (不重啟)
systemctl isolate multi-user.target

誤配救援:默認級別設為 0 或 6 導致無法進入系統

GRUB 2 救援步驟 (通用)

  1. 開機 GRUB 菜單,選中內核,按 e 編輯。
  2. 找到 linux / linux16 / linuxefi 行,末尾添加 systemd.unit=rescue.target 或 1 / single。
  3. 按 Ctrl+x 啟動進入救援模式 (需輸入 root 密碼)。
  4. 根分區通常只讀,重掛載可寫:mount -o remount,rw /。
  5. 修復配置:
    
    # SysVinit
    vi /etc/inittab  # 修正 id:3:initdefault:
    
    # systemd
    systemctl set-default multi-user.target
    
  6. 重啟:reboot。

GRUB Legacy (CentOS 6) 救援


# GRUB 菜單選中內核按 e
# 選中 kernel 行按 e
# 末尾添加 single 或 1
# 按 Enter 返回,按 b 啟動
# 進入單用戶模式後 vi /etc/inittab 修正

運行級別切換命令對照

操作SysVinitsystemd
查看當前級別runlevel / who -rsystemctl list-units --type=target | grep target
切換至級別 3init 3 / telinit 3systemctl isolate multi-user.target
切換至級別 5init 5 / telinit 5systemctl isolate graphical.target
關機init 0 / shutdown -h nowsystemctl isolate poweroff.target
重啟init 6 / shutdown -r nowsystemctl isolate reboot.target
單用戶/救援init 1 / telinit 1systemctl isolate rescue.target

關鍵差異提示

  • systemd rescue.target (級別 1) **需要 root 密碼**;rd.break 內核參數進入 initramfs shell 更早、無需密碼但需手動掛載 chroot /sysroot。
  • SysVinit /etc/inittab 被誤改為 0/6 會導致開機即關機/重啟循環,**必須通過 GRUB 進入單用戶修復**。
  • 現代桌面發行版默認 graphical.target (5),服務器建議 multi-user.target (3) 節省資源。
Copyright © Windows教程網 All Rights Reserved