Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> 關於 Linux

Linux 運行等級誤設為 6 導致無限重啟?Grub 編輯單用戶模式救機指南

編輯:關於 Linux

Linux 運行等級 6 代表「重啟」,若 /etc/inittab 或 systemd 預設目標設為 6,系統會陷入「啟動→重啟→啟動」死循環。本文詳解 Grub 引導編輯進入單用戶模式、修改運行等級/預設目標、重建開機配置 完整救援流程,適用於 SysVinit 與 systemd 雙體系。

Grub 選單倒數計時

現象與原理

  • SysVinit:id:6:initdefault: 在 /etc/inittab
  • systemd:systemctl set-default runlevel6.target 或 reboot.target
  • 結果:核心啟動完成 → init/systemd 讀取預設等級 → 執行重啟腳本 → 循環

救援步驟:Grub 編輯進入單用戶模式

1. 開機 Grub 選單倒數時,按 E 進入編輯模式

Grub 編輯模式第一層

2. 再次按 E 編輯核心啟動參數行

選中核心行

3. 在 linux / linux16 / linuxefi 行尾加入單用戶參數

init 系統參數說明
SysVinitsingle 或 1 或 init=/bin/bash進入單用戶模式 / 直接進 bash
systemdsystemd.unit=emergency.target緊急模式 (唯讀根分區)
systemdsystemd.unit=rescue.target救援模式 (掛載根分區、啟動基本服務)
通用rd.break在 initramfs 階段中斷 (最早介入)

編輯核心參數行

4. 按 Ctrl+X 或 F10 啟動進入單用戶/救援模式

進入系統後的修復動作

SysVinit (CentOS 6、Ubuntu 14.04 等舊版)

# 根分區通常已唯讀掛載,先重掛為讀寫
mount -o remount,rw /

# 編輯 /etc/inittab
vi /etc/inittab
# 將 id:6:initdefault: 改為 id:3:initdefault: (多用戶文字) 或 id:5:initdefault: (圖形)

# 或直接執行
sed -i 's/id:6:initdefault:/id:3:initdefault:/' /etc/inittab

systemd (CentOS 7+、Ubuntu 16.04+、RHEL 7+、Debian 8+)

# 根分區在 rescue.target 已掛載讀寫,emergency.target 需手動重掛
mount -o remount,rw /

# 修改預設目標為多用戶 (文字模式)
systemctl set-default multi-user.target
# 或圖形模式
systemctl set-default graphical.target

# 驗證
systemctl get-default
# 輸出應為 multi-user.target 或 graphical.target

特殊情況:根分區加密 / LVM / Btrfs

  • 在 Grub 編輯階段加入 rd.break,進入 initramfs shell
  • 手動掛載根分區:mount /dev/mapper/vg-root /sysroot
  • chroot /sysroot 進入系統環境
  • 執行上述修復指令
  • exit 退出 chroot,reboot 重啟

預防措施

  1. 勿手動設定 runlevel 6:僅用於 init 6 或 systemctl reboot 臨時重啟
  2. 檢查啟動腳本:/etc/rc.d/rc6.d/ 或 reboot.target.wants/ 確無異常服務
  3. 備份 Grub 配置:cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg.bak
  4. 測試救援流程:定期演練單用戶模式進入與修復

掌握 Grub 按 E → 加 single/emergency.target → Ctrl+X → 修改 inittab/set-default → 重啟 這套標準救援流程,運行等級誤設、根密碼遺失、檔案系統損壞等多種開機故障皆可迎刃而解。

Copyright © Windows教程網 All Rights Reserved