20200221
过程重现:
1、新装的Deepin 15.11,在HDD的NTFS分区新建、修改、移动、复制文件或文件夹。(这是WIN10之前创建的多数据HDD NTFS分区,一个硬盘一个分区)
2、回到WIN10里打开报错,有时候消失不见。此时回到Deepin,一切正常。
3、在WIN10里运行chkdsk:
阶段1,没有错误的文件记录。
阶段2,检查文件名链接...已处理 * 个重新解析记录。删除(改动过的)文件的索引项。
阶段3,未索引文件修改的内容多数恢复到回收箱\found.*,多数移动和修改会被还原,少数新建和复制会被修复。
正在更正主文件表(MFT) BITMAP 属性的错误。正在更正卷位图的错误。Windows 已更正文件系统。无需采取进一步操作。
感觉就是WIN10不承认Deepin的修改。
4、这种情况在两台主机的多数据HDD硬盘都会发生。(一个是PMR,一个是SMR)
但是如果是重新划分一个NTFS分区,或在SSD上,或在U盘上,并不会发生数据错误和丢失。
5、WIN10快速启动已经关闭。关闭系统也是正常的关机。
现状:
SSD正常。U盘正常。
HDD FAT32/NTFS分区下Linux改完会到Windows 文件损坏,运行chkdsk *: /f,导致新增数据丢失。
警告:
Linux-Windows双系统,不要尝试在Linux中修改HDD NTFS上的内容,这会导致Windows无法识别,最终数据丢失。单Linux系统,HDD使用EXT4格式。
Windows下运行chkdsk *: /f造成Linux中保存的数据丢失,请不要再写入,自行用数据恢复软件(希望渺茫)或找数据恢复公司。
原因分析:
1、WIN10快速启动与Linux不兼容。(关闭快速启动或二次重启后Linux才可以修复NTFS分区)
2、Windows里使用了缓存软件(如PrimoCache启用了二级缓存),Linux修改后,回到Windows出错。
Linux-Windows双系统数据传输方案:
1、将HDD腾出一个分区作为Linux和Windows的中转区,格式为EXT4。
2、将SSD腾出一个分区作为Linux和Windows的中转区,格式为NTFS。
3、在Windows下使用Linux分区读写软件,对EXT4分区进行数据传输。
4、用U盘、网盘作为中转,往NTFS分区写入时必须在Windows下操作。
推荐的软件:
1、DiskGenius Professional,读写EXT4分区,支持WIN10。
2、Linux Reader,只读EXT4分区,支持WIN10。
PS:
1、Ext2Fsd,软件有Bug,官方无更新。
2、也可以用EXFAT格式分区中转,但缺点是没有日志,数据丢失很难找回。