只读文件系统

只读文件系统

我正在运行 Ubuntu 12.10,打开任何 shell 时都会出现以下错误:

/home/jack/.rbenv/libexec/rbenv-init: line 87: cannot create temp file for here-document: Read-only file system

我意识到这不仅仅是一个 rbenv 问题,因为我尝试写入的任何文件都会返回错误,提示系统是只读的。

我不知道如何描述我的问题,每次启动系统时都会进行磁盘检查,据说它可以修复磁盘中的几个错误。

这是我的 /etc/fstab

# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    nodev,noexec,nosuid 0       0
# / was on /dev/sda1 during installation
UUID=1cc4b2ab-a984-4516-ac25-6d64f5050244 /               ext4    errors=remount-ro 0       1
# swap was on /dev/sda5 during installation
UUID=4e0dfeae-701a-43ce-b5c6-65f15ab3d8e3 none            swap    sw              0       0

整个文件系统都是只读的。我尝试了以下方法

sudo fsck.ext4 -f /dev/sda1

输出结果如下(简化版)

/dev/sda1: ***** FILE SYSTEM WAS MODIFIED *****
/dev/sda1: ***** REBOOT LINUX *****
/dev/sda1: 1257080/45268992 files (1.0% non-contiguous), 50696803/181051904 blocks

答案1

我在 Xubuntu 12.10 中遇到了同样的问题。FS 突然随机变为只读。可能与此错误有关:

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1063354

看起来问题出在新内核上。

答案2

我的电脑也出现过这种情况,目前看来已经解决了。在 grub 中从较旧的内核启动,然后再次更新到最新版本的 xubuntu。之后,立即重启。当 grub 再次启动时,以恢复模式启动最新内核。选择 fsck。它会显示一条消息,提示必须将文件系统更改为读/写才能继续(或类似内容)。选择是,让它进行检查,然后重启。正常启动,它应该可以工作,对我来说确实如此。

这里我要提醒大家,不要在不先启动/更新旧内核的情况下直接进入恢复模式。我最初尝试过,它仍然会提示切换到读/写模式,但随后它就会拒绝运行检查并崩溃。

答案3

我怀疑这是我的硬盘问题,所以我:

  • 购买并安装了相同规格的新硬盘,并且
  • 在其上重新安装了 Ubuntu 12.04。

我一直使用新硬盘运行它,尚未遇到任何问题。

答案4

我重启后又可以正常工作了。问题最初出现在更新管理器执行更新时。突然间它无法写入磁盘。

我重启后尝试加载旧内核,它抱怨文件系统不可读。我按下了修复选项,但还是失败了,然后我重启后加载了更新的内核(3.5.0-18-generic),现在一切正常。

我想指出的是,这个 Ubuntu 12.10 amd64 版本没有像我预期的那样工作,它遭遇了很多崩溃,并且我不得不用 USB 驱动器启动两次来重新配置所有内容,因为它无法挂载文件系统。

为了解决这个问题,我使用 USB 驱动器启动并在终端中执行:

sudo dpkg-reconfigure -a 

重新配置一切。之后再次启动磁盘中的 12.10(不是 USB 驱动器),并再次重新配置一切,因为 gnome-shell 无法正常工作。

于是我再次执行:

sudo dpkg-reconfigure -a

相关内容