linux启动卡在某服务主因是服务失败、依赖缺失、配置错误或资源冲突,系统默认等待90秒;应通过journalctl查错、systemctl--failed定位,并在grub中临时用systemd.mask=xxx.service跳过以进入系统修复。

Linux 启动卡在某个服务,通常是因为该服务启动失败、依赖未满足、配置错误或资源冲突,系统默认等待超时(常见为90秒)后才继续或报错。关键不是跳过它,而是定位并修复根本原因。
查看卡住时的实时日志
启动过程中按 Ctrl+Alt+F2~F6 切换到 TTY 终端,登录后执行:
- journalctl -b -p 3:查看本次启动中所有优先级为“error”及以上的日志
- journalctl -b | grep -i "failed\|timeout\|dependency":快速筛选失败或超时关键词
- systemctl --failed:列出当前已加载但启动失败的服务(需成功进入系统后运行)
临时跳过问题服务以进入系统
若无法进入系统,可在 GRUB 启动菜单中临时干预:
- 启动时长按 Shift(BIOS)或按 Esc(UEFI)调出 GRUB 菜单
- 选中内核条目,按 e 编辑启动参数
- 找到以 linux 开头的行,在末尾添加: systemd.unit=multi-user.target(跳过图形界面)或 systemd.mask=xxx.service(如 systemd.mask=NetworkManager-wait-online.service)
- 按 Ctrl+X 或 F10 启动
常见卡住服务及处理方式
以下服务较常引发启动阻塞,可针对性检查:
- NetworkManager-wait-online.service:等待网络就绪。若无有线连接或 DHCP 响应慢,会卡住。可禁用:sudo systemctl disable NetworkManager-wait-online.service
- docker.service 或 containerd.service:镜像损坏、存储驱动异常、/var/lib/docker 权限错误。尝试重置:sudo rm -rf /var/lib/docker(注意备份)再重启服务
- lvm2-monitor.service 或 mdmonitor.service:LVM/RAID 设备识别异常。检查 sudo pvscan; sudo vgscan; sudo lvscan 是否正常,确认物理磁盘是否在线
- iscsi.service:试图挂载不可达的 iSCSI 目标。检查 /etc/iscsi/nodes/ 下配置,或禁用:sudo systemctl disable iscsi
修复后验证与预防
修复配置或禁用问题服务后,建议:
- 用 sudo systemctl daemon-reload 重载 unit 文件
- 用 sudo systemctl start xxx.service 手动测试服务能否正常启动
- 用 sudo systemctl enable xxx.service 恢复启用(如确认已修复)
- 更新 initramfs:sudo update-initramfs -u(Debian/Ubuntu)或 sudo dracut -f(RHEL/CentOS/Fedora)










