从Kali复制到Windows分区的文件夹在Win7下隐藏且大小为0的问题
解决Windows 7看不到Linux写入的temp文件夹内容的问题
这问题我之前帮朋友排查过好几次,核心原因就是Windows和Linux对文件权限、隐藏属性的处理逻辑完全不兼容,结合你说的场景,我给你分步拆解解决方案:
为什么会出现这种情况?
- Linux系统会给每个文件/文件夹加上权限标记(读/写/执行),而Windows完全不识别这些Linux权限,当你在Ubuntu里把文件写入Windows的
temp文件夹时,系统自动给文件加的权限可能让Windows认为这些文件是“不可访问”的,所以显示为空。 - 另外,Linux下以
.开头的文件/文件夹是隐藏文件,这些文件在Windows里也会被默认隐藏,就算你开了“显示隐藏文件”,可能也因为权限问题读不出来。 - Windows的
temp文件夹本身有系统级的权限限制,叠加Linux写入的权限冲突,就彻底让Windows认不出里面的内容了。
分步解决办法
第一步:在Ubuntu里修复文件权限
- 打开终端,先找到你的Windows分区挂载点,一般在
/media/你的用户名/下面,比如你的Windows分区叫OS,路径就是/media/xxx/OS(xxx是你的Ubuntu用户名)。 - 进入那个
temp文件夹:cd /media/xxx/OS/temp - 递归修改所有文件和文件夹的权限,让Windows能正常读取:
(sudo chmod -R 777 .777表示所有人都有读、写、执行权限,适合临时修复,之后你可以再调整成更安全的权限) - 如果里面有Linux风格的隐藏文件(开头带
.),批量去掉前缀:for f in .*; do if [ "$f" != "." ] && [ "$f" != ".." ]; then mv "$f" "${f:1}"; fi; done
第二步:在Windows里处理(可选,但更彻底)
如果你之后还要经常在两个系统之间互访文件,建议安装一个EXT文件系统读写工具,比如Ext2Fsd:
- 安装完成后重启电脑,打开Ext2Fsd管理器,找到你的Ubuntu EXT4分区,右键给它分配一个盘符,这样Windows就能直接读写Ubuntu分区里的文件了。
- 注意:不要在Windows里修改Ubuntu的系统文件(比如
/home里的配置),容易导致系统损坏,只用来读写个人文件就行。
第三步:后续规避方案
- 尽量用FAT32或NTFS格式的U盘作为两个系统之间的文件中转,这两种格式是Windows和Linux都原生支持的,不会有权限问题。
- 如果必须直接写入Windows分区,写完后记得在Ubuntu里用
chmod修改权限,避免Windows识别不了。
内容的提问来源于stack exchange,提问作者user10089632
相关产品推荐
相关产品推荐

