我使用的是 ubuntu 12.04,所以尝试升级它,升级后,出现黑屏,重新启动时报告以下错误:
Filesystem check or mount failed. A maintenance shell will now be
started. CONTROL-D will terminate this shell and continue booting
after re-trying filesystems. Any further errors will be ignored
root@ptp:~#
我使用 Google 搜索了该错误并尝试了以下命令:
sudo mount -o remount,rw /
sudo dpkg --configure -a
sudo mount -o remount,ro /
sudo sync
sudo reboot
从Ubuntu 13.04 至 13.10:文件系统检查或挂载失败
似乎对其他人有用,但对我不起作用,插入第二行后,它因以下错误而中止:
processing was halted because there were too many errors.
我也尝试了其他命令,但是在我插入“重新启动”命令后它不起作用,而且我无法再在其上写入任何其他命令。
有什么帮助吗?
答案1
请不要盲目地相信您在互联网上找到的东西,而是在输入命令之前尝试了解命令的作用。
您无需使用sudo
-- 您已经以根用户并拥有完全访问权限。
您收到的错误消息表明自动文件系统检查失败。扩展2,这种情况在停电后经常发生,但扩展和ext4,如果您的系统更新超过十年,您很可能会使用其中一种,除非涉及硬件故障,否则一般不会发生这种情况。
第一个命令mount -o rw,remount /
本质上告诉系统“一切正常,此磁盘上没有错误,您可以假设文件系统足够一致,可以写入文件。” 这是一个大胆的声明,尤其是在您收到一条错误消息之后,该消息指出文件系统检查发现的问题非常严重,以至于自动修复可能必须删除文件才能使文件系统恢复正常工作状态。
然后,第二条命令dpkg --configure -a
尝试运行在软件包数据库的文件已解压,但脚本尚未运行。如果此命令尝试执行任何操作,则意味着您需要稍后执行此操作,但现在不是合适的时间。软件包工具存在所有要挂载且无错误的文件系统,但只有一个根文件系统有错误,其他所有文件系统都缺失。
解决你的情况的方法是:
使用 返回只读模式
mount -o ro,remount /
。您不希望内核在修复过程中更改文件系统中的任何内容。修复根文件系统,使用文件系统检查实用程序,然后它将使用文件系统检查内部实用程序:
fsck -f /
。您可以添加选项
-C0
来获取进度指示器。如果您收到有关文件系统检查由于 I/O 错误而无法读取块,您可以使用 Ctrl-C 中断并添加
-c
预先扫描坏块的选项。这将花费很长时间,但修复操作不会尝试挽救任何分布在有缺陷扇区上的文件。最有可能的是,系统会询问您是否同意修复某些问题。使用您选择的搜索引擎查找错误消息,互联网上有大量文档。其中大部分是关于删除无法修复的文件或将其移动到目录中
lost+found
。完成后,系统很可能会以大写字母要求您重新启动。这是一个好主意,只需
sync
先输入,让磁盘有几秒钟时间写出剩余的数据,然后按 Ctrl-Alt-Del。重新启动将立即进行,无需卸载文件系统,但这没问题,因为唯一安装的文件系统是只读的。如果重启后您又回到了相同的提示符,则表示除了根文件系统之外的另一个文件系统也需要修复。使用该
fsck -A
命令尝试自动修复所有非根文件系统,并手动修复需要修复的文件系统。这一次,您不应该被要求重启,因为只有检查时挂载的文件系统才需要重启。
答案2
对于那些仍然陷入困境的人:
fsck -f
没有解决我的问题,因为所有 fs 都没有挂载。 fsck 之后我做了:
mountall
然后我就立即登录了!我使用本地用户登录,然后:
startx
拥有图形环境,然后:
unity --replace
实现团结。
然后,我升级了 Ubuntu,升级修复了我的启动记录。从那时起,一切都运行正常!
希望这可以帮助...