只读文件系统

我正在运行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

 #       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 

我对Xubuntu 12.10也有同样的问题。 FS突然随机变为只读。 也许它与这个bug有关:

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

似乎问题出在新内核上。

如果这发生在我的身上并且似乎已经分类了,至少目前是这样。 从grub中的旧内核启动,然后再次更新到最新版本的xubuntu。 之后,立即重启。 当grub再次出现时,在恢复模式下启动最新内核。 选择fsck。 它会提出一条消息,说它必须将文件系统更改为读/写以继续(或沿着这些行)。 选择是,让它进行检查,然后重新启动。 正常启动,它应该工作,无论如何对我来说。

我应该在这里注意一件事,不要试图直接恢复而不先启动/更新旧内核。 我最初尝试了它,它仍然提供关于切换到读/写的提示,但它只是拒绝运行检查和崩溃。

我怀疑这与我的硬盘有关,所以我:

  • 购买并安装了相同规格的新硬盘
  • 重新安装Ubuntu 12.04就可以了。

我一直用新的硬盘驱动器运行它,但我还没有遇到任何问题。

我重新启动并再次工作。 当更新管理器执行更新时,问题首次出现。 突然间它无法写入磁盘。

我重新启动并尝试加载旧内核,它抱怨不可读的文件系统。 我已按下修复选项但也失败了,然后我重新启动并加载了以后的内核(3.5.0-18-通用),现在它可以工作了。

我想指出这个Ubuntu 12.10 amd64版本没有按照我的预期运行,它遭受了很多崩溃,我不得不用usb驱动器启动2次以重新配置所有内容,因为它无法安装文件系统。

要解决这个问题,我使用USB驱动器和终端启动并执行:

 sudo dpkg-reconfigure -a 

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

所以我再次执行:

 sudo dpkg-reconfigure -a