进不去grub菜单说明引导程序损坏、uefi启动项丢失或分区表异常,需用live usb重装grub;进grub后无recovery选项是因内核更新后恢复条目未生成,可编辑启动参数加systemd.unit=emergency.target临时进入root shell;recovery中fsck/dpkg失效是因根分区默认只读,须先执行mount -o remount,rw /;sudo失效多因/etc/sudoers语法错误,应先用visudo -c验证并恢复备份配置;recovery模式网络默认关闭,需手动启用network选项才能使用apt。

进不去GRUB菜单?先确认启动阶段卡点
看到主板logo就停住、黑屏无任何提示、直接跳到登录界面但输密码后循环——这些都不是Recovery模式能解决的问题。Recovery模式的前提是GRUB菜单必须出现。如果连GRUB都看不到,说明引导程序(grub-pc或grub-efi)本身损坏、UEFI启动项丢失,或者硬盘分区表异常。这时候强行按Shift或Esc没反应,就得用Live USB重装GRUB,而不是折腾恢复菜单。
进GRUB后选不了recovery mode?检查内核条目是否完整
Ubuntu的恢复模式本质是带特定参数的内核启动项,名称里含(recovery mode)。常见坑是:升级内核后旧内核被自动清理,但新内核的recovery条目没生成;或者手动删过/boot下文件,导致vmlinuz和initrd.img不匹配。此时在GRUB菜单里只看到普通内核条目,没有带recovery的选项。解决方法是:在GRUB菜单中选任意一个内核,按e编辑启动参数,在linux行末尾加systemd.unit=emergency.target,然后按Ctrl+X启动——这会跳过图形层,直接进root shell,效果等同于选了root选项。
进了recovery菜单但fsck/dpkg不生效?必须先挂载为读写
所有recovery菜单选项默认以只读方式挂载根文件系统。如果你选了fsck或dpkg,它会提示“/ is mounted read-only”,然后退出。这不是bug,是安全机制。必须先选root进入命令行,再执行:
mount -o remount,rw /
之后才能运行fsck -f /dev/sda1(注意把sda1换成你实际的根分区),或dpkg --configure -a。漏掉这一步,所有修复操作都只是空转。
诊断并恢复通过 SSH 隧道连接的 OpenClaw 节点。用于解决配对必需错误、隧道冲突、远程端点错误以及 SSH 目标配置错误等问题。
sudo失效或/etc/sudoers损坏?别急着改权限,先验证文件完整性
看到sudo: /usr/bin/sudo must be owned by uid 0 and have the setuid bit set这类错误,第一反应常是chown root:root /usr/bin/sudo && chmod 4755 /usr/bin/sudo。但更大概率是/etc/sudoers本身语法错误(比如多了一个Defaults没配对),导致sudo服务拒绝加载。进recovery的root shell后,先运行:
visudo -c
如果报错,说明配置有误。此时不要手动编辑/etc/sudoers,而是用备份:
-
cp /etc/sudoers.d/README /etc/sudoers(还原最小可用配置) - 或
pkexec visudo(如果pkexec还可用)
真正要改权限的,通常是/usr/lib/sudo/sudoers.so或/var/lib/sudo目录,而不是/usr/bin/sudo本身——后者在绝大多数正常安装中权限本来就是4755。
最常被忽略的一点:recovery模式下网络默认关闭。想用apt修包,必须先选菜单里的network选项启用网卡,否则apt update会卡在DNS解析。这个开关不是自动连WiFi,只打开有线网卡驱动和基础路由。










