起因
昨天晚上下载了一个 HotPE (一个功能比较全面的 Windows PE 系统)并尝试启动了一下,该 PE 系统支持 ext4 文件系统,可以读写 Linux 系统盘中的文件。今天发现硬盘里的 Linux 系统无法启动, Windows 系统里的 DiskGenius 显示 Linux 系统盘的 ext4 分区损坏。
尝试排查
- 使用该 PE 试图将 Linux 系统盘中的重要文件备份至 ext4 的 U 盘,随后用 Linux LiveCD 无法挂载该 ext4 备份盘,Windows 系统的 DiskGenius 显示 Linux 系统盘与 ext4 备份 U 盘的分区均损坏;
- 更换另一个 NTFS 的备份 U 盘,重新拷贝损坏的 ext4 分区中的文件。该 NTFS 备份盘随后可以被 Windows 及 Linux 系统正常读取。
- 在整个过程中,虽然 ext4 分区显示为损坏,但在这一 PE 系统下始终可以正常读写文件。由此推断相关硬盘的硬件和分区中的文件没有发生不可逆的损坏。
解决方案
启动 Linux LiveCD,并执行 fsck 命令修复出现问题的 ext4 分区:sudo fsck -v /dev/nvme0n1p2
,所有的交互均输入 y (或输入 a,表示以后全部交互均输入 y),最终 ext4 分区修复成功并能在 Linux 中正常使用。
结论
HotPE 对 ext4 文件系统的支持疑似存在 bug,被它挂载过的 ext4 分区结构被修改为了非标准的形式,使得其无法在 Linux 系统下正常使用(在该 PE 系统下始终可以读写文件)。被修改过的 ext4 分区可以使用 fsck 修复。
以后不要在含有 ext4 分区的计算机上启动 HotPE 系统,尽量只用 Linux LiveCD 而非 Windows PE 操作 ext4 分区。
标签:ext4,Windows,HotPE,分区,PE,文件系统,损坏,Linux From: https://www.cnblogs.com/dhy2000/p/18055031