前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >解决 Linux 挂载 NTFS 分区只读不能写的问题

解决 Linux 挂载 NTFS 分区只读不能写的问题

作者头像
悠风
发布2019-10-14 16:18:01
9.2K0
发布2019-10-14 16:18:01
举报
代码语言:javascript
复制
最近一直在忙(忙着偷懒),好久没更新公众号推文了,今天登上公众号后台,乍一看,居然突然多了这么多粉丝~~

今天给大家分享一个刚刚踩到的坑!!

有没有小伙伴也是跟我一样电脑上同时装有 Windows 和 Linux 双系统的呢?对于用不起苹果电脑但是又无法抛弃 Windows 精彩生活的我们这些穷程序猿来说,能够同时解决生活和工作需要的办法,无非就是安装双系统或者使用虚拟机这两种方式。但是对于还不太熟悉 Linux 的小伙伴来说,起初总是会踩到各种各样的坑。今天我在 Linux 上挂载 Windows 的 NTFS 分区时就遇到了一个坑,刚开始踩到这个坑时可头疼了,因为度娘竟然找不到有类似经历的小伙伴们提供的解决方案(我已经习惯了这种折磨了,总是会遇到别人一辈子都遇不到的坑),而 Google 我就不提了,国庆刚过哈哈哈~

我经历了什么?

我原先电脑只有 Windows 系统,有 C 盘和 D 盘两个分区,我的程序代码都放在 D 盘中。后来从 C 盘中抽出来一部分空间,格成了 EXT4 分区,用来安装 Linux,所以现在是有两个系统三个分区,程序仍然是放在原先的 D 盘。

平时的时候看看剧打打机啥的就进去 Windows,敲代码做项目的时候就进去 Linux。在 Linux 的时候,就直接挂载 NTFS 格式的那个 D 盘,因为我的代码都在那个盘里。这样看起来似乎很完美,D 盘已经成为了 Windows 和 Linux 进行数据共享的一个渠道。

然而,今天在改一个代码时,却发生了意外。首先进入到项目目录后,然后通过 Laravel (一个 PHP 后端框架)的 artisan 命令启动了 web 服务器,这看起来好像一切正常。

但是,当我打开浏览器访问这个网站时,却出现了报错页面,一看提示,说是日志目录无权限,即网站没办法写入日志记录。

这就很奇怪了,之前一直都是正常的啊,也没改过权限啊。为了确认,我还特意看了那个目录的权限,确实是 777 (可读可写可执行),用户和组都没错,这可是最高权限啊。

这可困扰了我很久,问题到底出在哪里?难道是整个分区盘有问题?于是我马上查看了整个分区的权限,创建和删除文件,也就是说整个分区对于我这个用户来说都是可读可写的。

空气突然变得有趣起来了~

为了验证这可读可写的权限,我尝试着在里面创建了一个文件,呵呵~果然,失败了!再试试删除文件,哈哈~不出所料,也失败了!

不是可读可写吗,怎么现在只能读却不能写呢?

问题到底出在哪儿?

百思不得其姐,啊不,百思不得其解啊。于是乎,我决定试试手动挂载试试(之前是偷懒,设置了开机自动挂载这个分区的),哦豁,好像发现问题了哦!

这段报错信息的意思是说,我上次在使用 Windows 系统时,没有正常关机,而且直接休眠的,D 盘中还存有一些 Windows 的缓存信息,而 Linux 认为这样的分区是不安全的,所以限制了写入的权限,只有读权限。

那么问题来了,休眠到底是怎么回事?

首先得清楚,休眠≠睡眠。在电脑关机选项中,除了关机、重启和睡眠外,还有一个功能就是休眠,不过其实很多人并不知道有休眠这东西,因为一般情况下 Windows 是不会显示休眠按钮的,你需要手动在设置里打开休眠功能。睡眠相信大家都知道,就是关闭显示屏,并且让系统进入锁屏状态,实质上相当于省电模式,电脑还是在运行中的。而休眠呢,是把你当前的工作状态保存下来(即把内存的所以数据保存到硬盘中),然后帮您关机(注意是断电了的,不是省电模式哦),等你下一次开机时,系统会重新加载你上次的数据,并且将桌面恢复到你按下休眠按钮前的那一个状态。

我是特别喜欢休眠的这个功能的,一般没什么特殊情况我是不会点关机按钮的,我都是点休眠按钮的,因为有时候我们工作的时候打开了很多窗口很多软件,尤其是一些专业性的软件,打开一次都要花上几十秒时间甚至几分钟时间,然后还要重新打开文件,重新定位到上次停下来的那个地方,这不仅浪费时间,会容易让我们思路混乱。而休眠的话,不用电脑时就保存状态,下次用电脑时又恢复到之前的界面,思路也自然能跟上来,这很大程度上提高了工作效率。

既然休眠的功能这么强大,并且优势这么多,那么为什么 Windows 在开机选项中默认不显示休眠呢,还要我们手动打开这个选项。今天踩到的这个坑就给出了最好的解释。因为如果休眠的话,磁盘中的文件可能还没有保存,或者没有关闭,万一下次电脑崩了无法开机了,或者遇到像今天这样的在双系统的另一个系统中又打开这个文件进行编辑时,就会造成文件数据错乱和数据丢失。这个风险是非常大的。所以如果你像我一样喜欢使用休眠功能,请记住,随手养成按 Ctrl+S 的好习惯,这样即使下次无法开机或者在别的系统中打开文件,也不至于导致数据丢失。

问题完美解决

到这里,问题出现的原因已经很明确了,解决办法也是很简单,重启电脑并回到 Windows 系统,将正在工作中的文件保存,然后关闭所有软件,然后正常关机。这时候再回到 Linux 中重新挂载这个 D 盘时,就不会出现只读不能写的情况了。

说到这里,我得唠嗑几句。这次遇到的坑,其实算不上什么坑,并且我们得承认 Linux 的这个数据保护措施做的很到位,如果我在 Windows 中将电脑休眠了而在 Linux 中还能正常读写的话,那个后果是可想而知的。有时候你遇到的坑,并不是有过坑,而是你操作不当的后果,所以跳坑最好的办法就是努力提高自己的技术和见识。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-10-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 悠风的采坑日记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档