Racknerd 2025年黑五活动于今日凌晨正式开始。我趁着活动氛围,购买了一台高配 Linux VPS,用于个人实践与开发使用。于是开始了我的探索和配置之旅,体验从无到有的搭建乐趣。然而,在此过程中却遇到了一个令人头疼的问题:“UFS: unable to mount root fs on unknown-block”。本文将详细记录排查与解决这一问题的过程,以及一些心得体会。
👉 【建议收藏】2025年Racknerd最新优惠套餐整理汇总 - 每日更新可用活动优惠
我购买的 VPS 是 Ubuntu 22.04 系统,托管于洛杉矶 DC02 机房(优化了亚洲线路),从国内 Ping 值表现尚可。初次连接 VPS 后,我习惯性地进行了以下操作:
更新系统软件包列表及安装的全部软件
使用以下命令可以快速完成:
bash
sudo apt update && sudo apt upgrade -y
启用 BBR 加速
BBR 加速可以优化网络性能,以下是对应的配置命令:
bash
设置默认队列调度算法为 "fq"
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
设置 TCP 拥塞控制算法为 "bbr"
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
立即应用这些新配置
sysctl -p
然而,完成这些设置后,当我第二次尝试通过 SSH 连接服务器时,却发现服务器无法响应。即便借助代理工具,依然无法完成连接。
我前往 Racknerd 的 VPS 控制面板,通过 “Reboot” 功能尝试重启服务器。然而,重启过程卡顿许久后,屏幕上出现了 “Error” 报错。
为进一步查看问题,我开启了 VNC 控制台,最终发现错误日志指向以下信息:
UFS: unable to mount root fs on unknown-block
经过网上资料查询,我了解到此问题可能与系统当前的内核版本兼容性不足有关。下面是具体的排查和修复步骤:
关闭 VPS 并开启 VNC 控制台重启
在控制面板中选择 “Shutdown” 完全关闭 VPS,随后进入 VNC 控制台开机。
进入启动菜单并选择旧内核
开机时选择 Advanced options for Ubuntu,在弹出的菜单中选择一个较老的内核版本启动,例如 Linux 5.5.0-70-generic。
修复内核相关问题
登录系统后,根据 Ask Ubuntu 社区的解决方案,执行以下操作:
bash
sudo update-initramfs -u -k all
sudo update-grub
sudo reboot
完成上述操作后,我成功启动了新内核(例如 5.15.0-88-generic),但此时发现 VPS 无法连接网络。对此,我进行了以下处理尝试:
检查 DNS 配置
我查看了 /etc/resolv.conf 文件,发现配置是正确的(默认使用 Google 的公共 DNS)。为保险起见,我更新为以下内容:
nameserver 1.1.1.1 # Cloudflare DNS
nameserver 8.8.8.8 # Google DNS
更新后重启网络服务,问题依旧存在。
重启 VPS 恢复网络
查阅资料得知,该问题可能与内核加载依赖模块不完全有关。在旧内核中安装依赖后,通过如下命令重启:
bash
sudo reboot
重启完成后,网络自动恢复正常。此时,系统已稳定运行于最新内核版本。
通过本次排查过程,我学到了很多 VPS 配置与系统维护的知识。相比直接重装系统,从问题入手逐步分析并解决的尝试更加有趣,也更具成就感。
需要提醒的是,在使用 VPS 时,建议提前通过 VNC 等方式了解异常情况下的应对手段,同时学习一些常见的 Linux 内核管理与网络排错技能,这会极大提升你的问题处理效率。
如果你也有类似问题的经历或感悟,欢迎留言分享!