问题起因
今天在看论文时想顺便写一下笔记,但当我touch记事本的时候失败,告诉我read only文件系统。之前也遇到过同样的问题。
1 | ∅ /home/enana/ReadingPapers/pose prediction ▓▒░──────────────────────────░▒▓ 18:27:02 |
检查和分析
1 | ~ ▓▒░────────────────────────────────────────────────────────────░▒▓ 18:23:39 |
我发现挂载在/dev/sda1(我自己的1T磁盘)上的/home/enana(我存放所有文件的目录)不知道怎么会是变成了ro(read-only)状态了。
尝试umount后重新挂载,结果告诉我unclean file system,貌似是检测到windows系统了。
1 | ~ ▓▒░────────────────────────────────────────────────────────────░▒▓ 18:23:51 |
这时候我突然意识到,可能是因为我这台主机是双系统,所以会有这样的问题。前几天,我打开windows进去用了一下光驱玩东方永夜抄,然后就正常关机(也有可能直接按电源键了?),然后重启切换到linux继续工作。
我怀疑在这个时候就出了点问题:我以为我关闭了windows,事实上windows在磁盘里写了一个挂起标志,用于下一次快速开机(fast boot)。后来查了一下,说是双系统必须要把security boot 和 fast boot关了才行,不然就可能出现这样的问题!
解决
关机。开机,按F2进入BIOS设置(不同主机的按键不一样)。首先找到Boot Configuration-security boot,关闭;然后找到Pre-boot Behavior-Fastboot,改为Minimal模式。


然后进入windows,在控制面板中将fast boot关闭,然后正常关闭windows。这一步之后,因为我们禁用了fast boot,因此windows关机时也就不会在磁盘内挂起了。理论上讲,这样的话windows系统就不会给linux系统制造迷惑了。

我们再次按下机箱上的电源键开机,回到linux,重新进行挂载。/home/enana变为rw模式,一切回归正常。
1 | ~ ▓▒░────────────────────────────────────────────────────────────░▒▓ 19:24:22 |
(P.S:还有一种更加快捷的解决办法就是在linux里直接使用ntfsfix指令,把windows留在磁盘/dev/sda1里的挂起杀死。但这个ntfsfix可能会损坏windows系统下存放的一些数据或文件,并且下次启动windows后又会引发同样的问题,届时又要冒着风险ntfsdix一下,治标不治本,建议还是不要这么做。)