腾出一个分区装了 Linux,回到 Windows 一看,原来的 D 盘不见了,磁盘管理里那块显示成未分配。手一抖点了初始化,数据就真麻烦了。
磁盘管理弹出「必须先初始化磁盘」,很多人顺手就点确定。这一下写的是新的分区表,原来的分区信息当场被覆盖。
分区表只有几十 K,它一没,操作系统就不知道那块空间里放的是什么,看着像一整片空白。数据还在原地,只是没人告诉系统从哪读。

别点那个确定
正确动作是关掉那个窗口。先把盘挂到别的系统上只读看一眼,确认里面是什么,再决定下一步。
装 Linux 的时候,安装程序让你选「安装到哪个分区」,选中的那个分区会被格成 ext4,Windows 天生读不了 ext4。
所以 D 盘不是消失,是变成了 Windows 看不懂的格式。磁盘管理里显示为未分配或者原始分区,就是这个意思。
还有一种情况是分区表类型变了。原来 MBR 的盘被改成了 GPT,老系统或者老工具认不出来,整块盘都像空的。

三种消失方式
第三种是引导方式冲突。UEFI 和 Legacy 混装,系统起来之后分配的盘符顺序变了,D 变成了 E,文件其实都在。
| 情况 | 磁盘管理里的样子 | 怎么处理 |
|---|---|---|
| 盘符顺序变了 | 分区正常,盘符不同 | 改盘符 |
| 被格成 ext4 | 未分配或原始 | 只读挂载拷文件 |
| 分区表被改 | 整盘未分配 | 重建分区表 |
| 已点过初始化 | 显示为未分配的空盘 | 按文件签名扫 |
判断顺序:先看盘符,再看格式,最后才怀疑分区表。前两种都不用动分区。
第一种最好办,只是盘符变了,去磁盘管理里改回来就行,两分钟的事。
第二种最需要小心。分区被格成 ext4,原来的文件系统结构没了,但数据区可能还没被覆盖,越早停手机会越大。
第三种是分区表被改。只要没初始化过,用工具重建分区表通常能原样恢复,前提还是别往那块盘写东西。
做个U盘启动的Linux-不装
只在内存里跑
把盘挂成只读-挂载时加ro参数
认出ext4分区-文件管理器直接能看
拷到另一块盘-别往原盘写
只读这一步是关键。挂载成可写,系统会自动往分区里写日志和索引文件,本来能救的东西会被覆盖一部分。

四步,只读挂载
拷的时候按目录整块拖,别一个一个挑。目录结构本身也是信息,后面重建的时候用得上。
文件都拷出来之后,再考虑把分区改回 NTFS。这一步会格式化,所以必须确认备份完整,抽查几个大文件能不能打开。
如果只是想两个系统都能读,不必格回 NTFS。装个能读 ext4 的驱动,或者在 Linux 里装 NTFS 驱动,都能省掉来回转换。

留一个共享分区
双系统最省事的做法是留一个 exFAT 的共享分区,两个系统都能读写,谁也不用改格式。
分区表重建会不会丢文件
只要没初始化、没格式化,重建分区表一般不动数据区,重建完文件还在原来的位置。
装系统前怎么避免这事
装之前把要用的分区先拔掉数据线,或者只在空闲空间上装,安装程序就不会去动已有的分区。
D 盘通常没被删,只是分区表或格式变了。看到未分配先别初始化,用 Live 系统把文件读出来再谈重建。