对于移动硬盘来说容易遇到一个问题:删除文件后,还有相同空间被占用,但是找不到占用的文件。
实际上,这种问题如果不是有隐藏文件,一般都是用户对 硬盘操作不当造成 的。
可以看看是否犯了下面一些细节错误。
几乎所有操作系统(包括 Windows 、 Linux 等)都会使用文件系统来管理文件存储( 文件系统 - 百度百科 )。
文件系统管理文件存储类似于通过链表来管理,一系列链表中有很多结点,所有文件的地址指针都保存在链表中,每个文件的地址指针都保存在链表的一个结点中,所有结点以类似树形结构的关系组成链表,所有调用文件的操作都是通过这个链表读取文件指针来访问目标文件。
每个文件的结点中有一个参数标识,这个标识标志了这个文件的使用状态:
被占用。(used)
表示该地址空间 被占用 ,占用该地址空间的文件可以被资源管理器访问。
该地址空间数据 不可 被其他文件数据覆写。
可使用。(free)
表示该地址空间 没有被占用 ,没有文件占用该地址空间,或者占用该地址空间的文件不可以被资源管理器访问。
该地址空间数据 可以 被其他文件数据覆写。
待删除。(wait)
表示该地址空间 被占用 ,有文件占用该地址空间,但是占用该地址空间的文件不可以被资源管理器访问。
该地址空间数据 不可 被其他文件数据覆写。
将文件移入回收站就是将文件从 “被占用” 状态改变为 “待删除” 状态,将文件的文件指针移入回收站显示,但是该文件指针所指的地址空间的数据没有被移动或改变。
对应错误一。
对应错误二。
对应错误三。
可以看到移动硬盘对应的文件系统盘符为:G
。共有 931G ,可用 340G 。
勾选 “显示隐藏的项目” ,可以看到隐藏的项目。
全选 G
盘下的所有文件,右键属性查看可用文件占用空间:475G。
可以使用 Linux 子系统 ls
查看 G
盘下的目录文件。
与之前在 Windows 资源管理器的看到的文件多了两个文件,多出来的这两个文件就是丢失了文件指针的被占用的地址空间:
$RECYCLE.BIN
System Volume Information
$RECYCLE.BIN
使用 Linux 子系统删除 $RECYCLE.BIN
文件时,提示没有权限。
在 Windows 资源管理器中:
注意:这一步在问题解决后,必须重新勾选。
可以看到 Windows 资源管理器中 $RECYCLE.BIN
和 System Volume Information
文件显示出来。
对 $RECYCLE.BIN
文件,右键属性,可以看到该文件占用空间为:0 字节。
但是如果执行删除操作,会发现系统一直在计算该文件大小:
计算完后提示:
接下来系统会删除该文件,并显示数据。
可以看到下方提示:剩余项目 114G 。
与被占用的空间相差无几。
可能会出现其他需删除文件。
System Volume Information
System Volume Information
文件。删除完成后,再次查看 G
盘可用空间,恢复正常:。
这一步必须完成,否则可能会出现更多错误。
在 Windows 资源管理器中:
原文:https://www.cnblogs.com/Yogile/p/12943655.html