小米路由器硬盘版的严重bug空间不足

今天备份文件到小米路由器2发现总失败。后来用电脑存了一下,发现磁盘空间不足。但是显示还是300多个G的剩余空间。我怀疑路由器问题,

【登录】后查看图片

在网上找了找,还真有和我一样的问题的用户。小米网络设备产品,真的以后不会在买了。以下是原文

本人购买了3台小米路由器硬盘版,其中1代1台,2代2台,经过这几年的使用,总体是稳定的,最早的1代路由器目前硬盘也还正常。
但是最近遇到了烦心事,我家里用的路由器2代竟然提示硬盘空间已满无法复制上去文件了,但实际还有230G空间,后来一查询,才知道小米路由器硬盘版,会自动在路由器根目录的隐藏文件夹: /.systemconfig 中,创建一个缩略图文件夹:   /.systemconfig/.thumbnails ,在这个文件夹中,会有3个目录,分为不同种类的缩略图。
在接下来说之前,先普及一个知识,小米路由器用的硬盘是基于Linux系统的 EXT4 分区,在其中存储文件时,系统会给每个文件分配一个:索引节点(inode),但是inode是有限的,而且会占用磁盘空间,这点和windows完全不同。如果inode用完了,那么即使硬盘还有空间,也无法写入文件了。
所以,当你向路由器拷入手机拍摄的照片、视频、文档、音乐等文件时,已经占用了一次inode,系统自动创建缩略图时,每个文件又占用了3个inode,一共占用了4个inode!(也可能更多)
所以当你使用一段时间小米路由器硬盘版后,特别是拷贝了很多小的图片音乐等文件后,inode很快被用完,所以即使磁盘空间还有很多,也不能使用了,目前还没有集中爆发,很可能是保有量少+使用频次不高,我相信遇到我这个问题的不在少数。


临时解决办法一:使用windows电脑登陆小米路由器根目录,打开windows系统的显示隐藏目录选项,删除   /.systemconfig/.thumbnails 目录下面的三个文件夹。特别提示:这三个目录下的文件数量可能是几十万上百万级别的,所以删除可能需要10几个小时,请找合适的时间删除,以免影响工作。


临时解决办法二:在删除三个目录的基础上,使用小米路由器APP,关闭路由器的 DLNA 和 MiTV助手这两个功能(假定你不用小米电视),但是SAMBA功能不能关闭,否则无法远程访问路由器了。


但是!但是!但是!  这样操作之后,小米路由器依然会孜孜不倦的自动创建缩略图,只是比之前少了一丢丢,所以一段时间之后,你又会遇到这个问题,不仅如此,你的硬盘也在创见缩略图的过程中,不断磨损,不断走向寿命终点!


我不知道写小米路由器程序的人,自己用不用,但是如果未来小米路由器还是这样的半成品,我决不会再买了。


--------------------------------

本来想上一个图,可惜我家里那个路由器2代已经删除了,公司这个正在统计中,目前是22万个文件,等啥时候统计完了,我再补图。
--------------------------------
2017年3月9日更新

经过一段时间的摸索以及两台2代小米路由器的测试,已经找到可以永久解决这个问题的办法了,但是不知道有没有后遗症。

1、首先要有一台笔记本电脑或者台式电脑,能够通过共享访问小米路由器,最好通过网线链接小米路由器,无线不是100%的稳定。

2、在小米WiFi APP上,将这个笔记本或台式机设置“全盘访问”的权限,然后在电脑上操作,有两种方案:第一种、打开计算机(XP下是我的电脑),在地址栏中输入“\\192.168.31.1”(不包含引号),按回车打开小米路由器;第二种、点击开始菜单,再点“运行”,在运行中输入“\\192.168.31.1”(不包含引号),按回车打开小米路由器。


3、打开小米路由之后,可以看到一个名叫“XiaoMi”的文件夹,在这个文件夹上点击右键,选择“映射网络驱动器”,默认的驱动器盘符是“Z:”,基本上不需要进行什么操作,直接点击完成即可,之后打开计算机(XP下是我的电脑),就可以看到一个Z:盘了。


4、在桌面空白处点击右键,新建一个文本文档,取一个名字例如“删除缓存”。双击打开这个空白文档,将下面的内容复制粘贴进去,然后保存关闭这个文档。
从下一行开始复制:[code]z:
del /s /f /q Z:\.systemconfig\.thumbnails\*.*
rd /s/q Z:\.systemconfig\.thumbnails
cd .systemconfig
echo abc>.thumbnails[/code]到上一行截止!

这些代码的意思就是删除所有临时文件,并且将缩略图文件夹重设为一个文件,结果就是路由器无法写入缓存文件,也就是彻底解决了本帖的问题。后遗症可能就是在电视上无法查看路由器中的图片和视频的缩略图了。


5、如果你在桌面新建保存的这个文本文档显示类似这样“删除缓存.txt”,那么你可以直接到第6步,如果在桌面显示只是这样“删除缓存”,那么接着往下看。打开计算机(XP下是我的电脑),按一下键盘上的 Alt 键,顶部会出现菜单,依次点击“工具”--“文件夹选项”,打开后选择“查看”,在下面的“高级设置”中,找到“隐藏已知文件类型的扩展名”,将它前面的勾去掉,然后确定即可。


6、右键点击桌面的 “删除缓存.txt”,选择 重命名,前面不变,将txt修改为bat,结果就是“删除缓存.bat”,一定要注意那个“.”不能少了。


7、XP:直接双击桌面的“删除缓存.bat”文件,删除操作即可开始;Win7以上:在“删除缓存.bat”上面点击右键,选择“以管理员身份运行”,删除操作即可开始。


8、根据文件数量不同,这个操作可能需要几个小时到十几个小时,期间不要使用路由器的下载功能,也不要访问路由器的硬盘,否则操作会终止,需要关掉黑色DOS窗口,再次执行第7步。另外由于时间较长,建议晚上开始,期间不能关闭电脑,第二天上班前可以查看一下情况。

9、如何验证操作是否成功?由于缓存文件夹是隐藏的,所以要验证较为复杂,你可使用一段时间看看有没有再出现空间不足的问题,就知道是否成功了。简单说两句,电脑上设置显示隐藏文件就可以验证,手机上使用ES文件管理打开路由器也能验证,但需要一定技术。

还没去实践他的方法,先转到我这里来。说不定那天原文帖子就被删掉了

原文地址

TAG


— THE END —