首先进入恢复模式排查问题,选择GRUB菜单中的“recovery mode”,通过dpkg修复软件包或获取root shell检查日志;若仍无法启动,使用Live USB进入系统,挂载原系统分区并chroot进行修复;接着可强制fsck检测文件系统错误,修复后继续启动;若因服务或驱动导致卡顿,可通过修改GRUB参数禁用图形界面或显卡驱动,并在系统中关闭故障服务或屏蔽内核模块;最后若引导程序异常,需在Live环境中重新安装GRUB并更新配置。

如果您在启动LINUX系统时遇到卡住的情况,可能是由于引导加载程序异常、文件系统错误或服务初始化失败等原因导致。以下是分析启动过程并进行故障排查的步骤:
本文运行环境:联想ThinkPad E14,Ubuntu 22.04
一、进入恢复模式排查问题
恢复模式提供了一个最小化的环境,用于诊断和修复系统问题。在此模式下,系统会跳过部分正常启动的服务,便于定位故障点。
1、重启计算机,在GRUB菜单出现时使用方向键选择“Advanced options for Ubuntu”。
2、进入子菜单后选择带有“recovery mode”的内核选项。
3、等待系统加载基础驱动和服务,进入恢复菜单界面。
4、选择“dpkg”选项尝试修复损坏的软件包依赖关系。
5、使用“root”选项获取root shell访问权限以进一步检查日志和配置文件。
二、通过Live CD/USB调试系统
当系统完全无法启动时,使用可启动的LINUX Live介质可以绕过本地系统加载,从而访问硬盘数据并进行修复操作。
1、准备一个包含相同发行版的启动U盘,例如Ubuntu Desktop镜像。
2、将U盘插入主机,重启并从BIOS/UEFI设置中选择U盘为第一启动设备。
3、进入Live环境后打开终端,使用sudo fdisk -l命令识别原系统的根分区。
4、挂载该分区到/mnt目录:sudo mount /dev/sdaX /mnt,其中sdaX为实际根分区标识。
5、绑定必要的虚拟文件系统以便chroot:sudo mount --bind /dev /mnt/dev && sudo mount --bind /proc /mnt/proc && sudo mount --bind /sys /mnt/sys。
6、切换至原系统环境:sudo chroot /mnt,然后执行修复命令。
三、检查并修复文件系统错误
磁盘异常可能导致元数据损坏,使系统在挂载根文件系统时卡住。e2fsck等工具可用于扫描和纠正EXT系列文件系统的不一致状态。
1、重启进入GRUB菜单,按'e'编辑当前启动项的命令行参数。
2、找到以“linux”开头的行,在其末尾添加single init=/bin/bash或直接追加fsck.mode=force强制执行检测。
3、按Ctrl+X或F10启动修改后的配置。
4、系统将自动调用fsck对所有标有检查标记的分区进行扫描。
5、若发现错误,根据提示输入'y'确认修复,完成后系统将继续启动流程。
四、禁用问题服务或模块
某些用户安装的服务或内核模块可能与当前硬件或系统版本存在兼容性问题,导致初始化进程阻塞。
1、在GRUB编辑界面的linux参数行末尾添加systemd.unit=multi-user.target以跳过图形界面启动。
2、也可添加nomodeset参数避免显卡驱动引发的黑屏或卡顿。
3、进入系统后运行systemctl list-units --type=service --state=failed查看失败的服务单元。
4、针对特定服务如cups.service或docker.service,执行systemctl disable 服务名临时关闭其自启。
5、对于可疑内核模块,可在/etc/modprobe.d/blacklist.conf中添加blacklist 模块名将其屏蔽。
五、重新安装或修复引导程序
GRUB损坏或配置错误会导致系统无法正确加载内核,表现为启动中断在黑屏或grub>提示符。
1、使用Live USB启动并打开终端,确定/boot分区所在位置(通常为/dev/sda1)。
2、挂载/boot分区:sudo mount /dev/sda1 /mnt。
3、chroot至原系统后执行grub-install /dev/sda将GRUB写入主引导记录。
4、更新配置文件:update-grub,确保所有内核条目被正确识别。
5、重启系统并移除外部介质,验证是否能正常进入登录界面。










