Jef*_*ros 12 permissions hard-drive
我的 Ubuntu 14.04.2 计算机突然开始显示各种严重错误。
当我在我的 Ruby on Rails 应用程序上工作时,它开始了,离开了一段时间,回来了,并试图用rails s
. 作为回应,我得到了这个错误:
Rails Error: Unable to access log file. Please ensure that /home/user/app/log/development.log exists and is chmod 0666. The log level has been raised to WARN and the output directed to STDERR until the problem is fixed.
Run Code Online (Sandbox Code Playgroud)
我尝试运行chmod 0666 /home/user/app/log/development.log
,然后运行其他各种 chmod 命令,例如chmod 0664
和chmod 777
。每次回来:
chmod: changing permissions of ‘/home/user/app/log/development.log’: Read-only file system
Run Code Online (Sandbox Code Playgroud)
我尝试了其他 Rails 应用程序,但也遇到了同样的错误。然后我尝试保存我正在使用 Komodo IDE 处理的文件并退出,但 Komodo 告诉我该文件是只读的,无法保存。
然后,我注意到我的 Skype 已经注销了,当我尝试重新登录时,它告诉我我已经登录了。
所以我重新启动了我的电脑。在登录屏幕上,我收到一条错误消息,类似于Errors were found when searching directory /. Press f to fix, I to ignore, and M to run a manual reboot.
我按 I 忽略并登录。现在我根本无法打开 Skype 或 Komodo。当我点击图标时,它们会闪烁几次,就像它们即将打开一样,但随后它们就停止闪烁而没有任何反应。
此外,rails s
不再返回错误,它实际上只是关闭了我的终端窗口。
当我运行mount
时,终端关闭的时间有一半,而我收到此消息的时间有一半:
$ mount
/dev/sda2 on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/cgroup type tmpfs (rw)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
none on /sys/firmware/efi/efivars type efivarfs (rw)
udev on /dev type devtmpfs (rw,mode=0755)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)
none on /run/shm type tmpfs (rw,nosuid,nodev)
none on /run/user type tmpfs (rw,noexec,nosuid,nodev,size=104857600,mode=0755)
none on /sys/fs/pstore type pstore (rw)
/dev/sda1 on /boot/efi type vfat (rw)
systemd on /sys/fs/cgroup/systemd type cgroup (rw,noexec,nosuid,nodev,none,name=systemd)
gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,user=greg)
mount: warning: /etc/mtab is not writable (e.g. read-only filesystem).
It's possible that information reported by mount(8) is not
up to date. For actual information about system mount points
check the /proc/mounts file.
Run Code Online (Sandbox Code Playgroud)
我还注意到我所有的文件上都有一个锁定图标。我认为这意味着我的所有文件都是只读的。
输出:
sudo smartctl --all --tolerance=verypermissive /dev/sda
Run Code Online (Sandbox Code Playgroud)
可以在这里找到
怎么回事??
Fab*_*bby 12
这看起来很多喜欢你的文件系统挂载只读之前的驱动器故障...
因此,请停止使用计算机,将其完全关闭并:
按Ctrl+ Alt+T去一个终端,输入:
sudo apt-get install gddrescue
sudo ddrescue --binary-prefixes --cluster-size=64 --sparse --timeout=20s /dev/WdX /dev/YdZ
Run Code Online (Sandbox Code Playgroud)
注意: W
和X
是您几乎损坏的硬盘驱动器的驱动器号,Y
和Z
是新硬盘驱动器的驱动器号。
如果这一切正常且没有任何错误,我们将测试我的直觉是否正确:
sudo apt-get install smartmontools
sudo smartclt --scan
Run Code Online (Sandbox Code Playgroud)然后执行:
sudo smartctl /--test:short dev/XdY
Run Code Online (Sandbox Code Playgroud)对于扫描期间出现的所有设备。
那就请回馈吧!
请将外部驱动器与内部驱动器交换,然后在新驱动器上重新安装 Ubuntu,不要连接旧驱动器。然后通过 USB 外壳连接旧驱动器并重试......也许(极不可能)您可以通过这种方式恢复更多数据。