我不知道这是怎么发生的,但我有 2 个独立的单分区 ext4 驱动器,它们的“Windows 保留”分区已被损坏。
我遇到了一个硬件问题,它与安装在主板上的高速驱动器有关,主板上安装了 Windows。我把电脑交给了对硬件很了解的父亲。我取出了所有 SSD,其中一个是 Linux 安装。我不小心将一个硬盘留在了电脑上,该硬盘有 ext4 分区,当我们尝试访问该驱动器时,我发现该驱动器无法读取,上面有一个“Windows 保留”分区。我想他可能错误地初始化了驱动器。我错了,您将在下面看到原因。
我问他,他在拥有这台电脑时做了什么,他说“只是安装了 Windows,并将 BIOS 重置为‘优化默认值’”。BIOS 中有一个用于在 LINUX 和 Windows 中启动的设置,我认为是 EFI?
在他接管我的系统之前,除了 Windows 自身驱动器出现问题(我们已修复)之外,我没有遇到任何问题。一切都运行正常,我可以访问 Windows,但看不到 extEXT4 驱动器,并且 Linux 只使用该驱动器。没有问题。
现在我无法访问我的数据,但我找到了另一个闲置的驱动器,它是一份副本,并尝试在今天访问它,结果其他在我访问它之前,它弹出了“Windows 保留分区”,所以这不是错误的初始化。
我不明白为什么会发生这种情况或如何解决它。我尝试了 testdisk,但它找不到文件。
我对此非常苦恼,因为我不知道如何修复它,我读了很多资料,但我没有真正明确的答案来诊断或修复它。自从它们损坏以来,我没有写过任何驱动器或对它们做过任何事情。
我确信是他重置了 BIOS 导致的,但我不知道设置是什么。这真是令人沮丧。我有 20 年前这两个损坏驱动器上的数据。
除了整理从 EaseUS Partition Master File Recovery 恢复的文件外,我不知道还能做什么。我想找回其中一个驱动器,但我怀疑这是不可能的。
TLDR:我有 2 个硬盘,使用 ext4 格式化,但“Windows 保留”分区已损坏,我不知道为什么会发生这种情况或如何修复它。我有 1 个 Linux 驱动器和 1 个 Windows 驱动器。这两个驱动器都没有损坏,只是存储驱动器损坏了。
部分输出:
TestDisk 的补充内容:
找到分区,但无法对其执行任何操作。
测试磁盘1:
测试磁盘2:
测试磁盘3:
GDisk 输出:
答案1
我最终在我的衣柜里找到了一个驱动器,上面存储了过去 20 年中大约 18 年的数据,并以这种方式进行了恢复,在过去的 2 年里我没有在其中放入太多数据。
Windows 对无法识别的驱动器的处理是不可接受的,在添加启动分区之前应该与用户进行交互。我在系统上使用 NTFS 驱动器时没有遇到此问题。微软真丢脸。发生在我身上的事情不应该发生。
从 EXT4 恢复单个文件(尤其是媒体文件)并不轻松。到处都是不完整文件和损坏的文件。幸好我没有扔掉或重新格式化所有旧驱动器,否则我就彻底完蛋了。我只损失了一点。
答案2
如果有人遇到此问题,我能够在 Windows 崩溃后恢复我的 ext4 驱动器(从 wsl2 安装后)
我使用了 testdisk。
sudo testdisk
# arrow key down to drive
# select filesystem None
# select Superblock
它给了我恢复磁盘的信息:
TestDisk 7.1, Data Recovery Utility, July 2019
Christophe GRENIER <[email protected]>
https://www.cgsecurity.org
Disk /dev/nvme4n1 - 2000 GB / 1863 GiB - CHS 1907729 64 32
Partition Start End Size in sectors
ext4 0 0 1 1907729 5 16 3907029168 [990-ML]
superblock 0, blocksize=4096 [990-ML]
superblock 32768, blocksize=4096 [990-ML]
superblock 98304, blocksize=4096 [990-ML]
superblock 163840, blocksize=4096 [990-ML]
superblock 229376, blocksize=4096 [990-ML]
superblock 294912, blocksize=4096 [990-ML]
superblock 819200, blocksize=4096 [990-ML]
superblock 884736, blocksize=4096 [990-ML]
superblock 1605632, blocksize=4096 [990-ML]
superblock 2654208, blocksize=4096 [990-ML]
To repair the filesystem using alternate superblock, run
fsck.ext4 -p -b superblock -B blocksize device
根据该信息,我在终端中运行了此命令:
sudo fsck.ext4 -p -b 32768 -B 4096 /dev/nvme4n1
我使用第一个超级块“32768”运行了 fsck.ext4,文件系统重新出现,现在我可以在 Ubuntu 中挂载和浏览。
哎呀,太可怕了。再也不会使用 WSL 了。