1. 当Ubuntu 18.04因磁盘爆满而“罢工”:一个真实的紧急场景
相信不少朋友都遇到过类似的情况:前一天Ubuntu系统还好心提醒你“磁盘空间即将用尽”,你当时可能正忙着写代码或者处理文档,想着“等会儿再清理”,结果一关机,第二天早上就傻眼了——屏幕一片漆黑,系统死活进不去。那种感觉,就像你急着出门上班,却发现车钥匙怎么也找不着,心里又急又慌。我自己的服务器和工作站就经历过好几次,尤其是在跑一些大型机器学习训练任务,或者Docker容器日志疯狂增长的时候,一不留神,几百个G的磁盘空间就被“吃”得干干净净。Ubuntu 18.04作为一个长期支持版本,至今仍有大量用户,无论是个人开发者、学生,还是企业里的运维人员,都可能遇到这个看似简单却足以让人抓狂的问题。
这个问题的本质其实很直接:当根分区(/)或者/boot等关键分区的可用空间彻底归零时,系统核心进程(比如负责图形界面的显示管理器gdm3或lightdm)就无法在启动时创建必要的临时文件或写入日志,导致启动流程卡死,最终呈现给你的就是一个黑屏或者卡在启动logo的画面。这和你电脑内存(RAM)不够是两码事,内存不够可能只是程序变慢,但磁盘空间为零,系统是直接“瘫痪”的。对于不熟悉Linux底层启动流程的朋友来说,这无疑是个噩梦,因为你连图形界面都看不到,更别提用文件管理器去删除文件了。别担心,这正是本文要帮你解决的。下面,我会把自己踩过坑、验证过的三种实用方法,掰开揉碎了讲给你听,让你即使是个命令行新手,也能一步步把系统救回来。
2. 方案一:尝试从图形化Grub菜单进入命令行控制台(TTY)
这是最直接、侵入性最小的方法,前提是你的系统在磁盘爆满前,图形化Grub菜单还能正常显示,并且多用户登录系统(multi-user.target)本身没有完全崩溃。具体操作是这样的:开机后,当看到Grub引导菜单(通常会有Ubuntu的logo和几个选项)时,不要急着按回车进入系统。在这个界面,你可以尝试按下键盘上的 Ctrl + Alt + F1 到 F6 中的任意一个功能键。
这里有个关键点需要解释一下:在Linux系统中,Ctrl+Alt+F1~F6 这六个组合键默认对应着六个虚拟控制台(Virtual Console),也就是TTY1到TTY6。即使图形界面(运行在TTY7)挂了,这些基于文本的控制台很多时候仍然是可用的。按下之后,你的显示器会切换到一个全黑的、只有光标闪烁的命令行登录界面。这时,你需要输入你的普通用户名(注意,不是root)和密码。如果密码正确,你就会登录到一个纯文本的Shell环境中。
登录成功后,你首先应该确认一下问题根源。立刻输入命令 df -h,这个命令能以人类易读的方式(-h参数)显示所有磁盘分区的使用情况。你会看到类似下面的输出:
文件系统 容量 已用 可用 已用% 挂载点
udev 3.9G 0 3.9G 0% /dev
tmpfs 787M 2.1M 785M 1% /run
/dev/sda1 234G 234G 0 100% /
tmpfs 3.9G 216M 3.7G 6% /dev/shm
如果 / 或者 /boot 分区的“可用”列显示为 0 或接近 0,“已用%”是 100%,那就确诊了。接下来就是“外科手术”般的清理。你需要切换到根目录 cd /,然后使用一些查找命令定位“罪魁祸首”。我常用的组合拳是:

3万+

被折叠的 条评论
为什么被折叠?



