我正在使用 Fedora。
我不知道为什么我的 NTFS ( /dev/sda3
) 分区被更改为“未知”。我无法读取此分区。我的重要文件位于那里,我必须将其改回原样,ntfs
而不会丢失数据。
任何帮助都将非常感激。
附言:
我认为这个问题发生是因为我重新格式化了/boot/efi
分区 /dev/sda1
更新
我也尝试过只读/dev/sda3
:
sudo mount -r -t ntfs-3g /dev/sda3 /mnt/ -o force
但它返回此错误:
NTFS signature is missing.
Failed to mount '/dev/sda3': Invalid argument
The device '/dev/sda3' doesn't seem to have a valid NTFS.
Maybe the wrong device is used? Or the whole disk instead of a
partition (e.g. /dev/sda, not /dev/sda1)? Or the other way around?
更新2
我还运行了测试盘:
sudo testdisk /dev/sda3
testdisk 说:
Partition sector doesn't have the endmark 0xAA55
经过 testdisk 分析后:
The following partition can't be recovered:
Partition Start End Size in sectors
> HPFS - NTFS 31779 193 31 47669 65 12 255264768
答案1
强制 NTFS 只读安装
也许你可以尝试强行安装分区为只读模式的 ntfs 吗?
mount -r -t ntfs-3g /dev/sda3 /media/mymounteddrive -o force
答案2
我的重要文件位于那里,我必须将其改回 ntfs 而不丢失数据。
更安全的方法是尝试恢复数据没有改变‘病人’身上的任何东西。
NTFS(或其他文件系统)切换到未知或 RAW 可能由多种原因引起,有时可以进行就地修复,但它总是比通过将数据复制到另一个驱动器来恢复数据更具风险。
要安装分区的文件系统,我们需要正确的引导块偏移量,因此如果分区表指向错误的扇区,文件系统可能会被视为 RAW。只要引导扇区和文件系统完好无损,这个问题就有可能得到解决。
然后启动块需要完好无损并正确指向文件系统结构。只要文件系统本身完好无损,这个问题就有可能得到解决。
文件系统元数据本身需要完整。如果分区表指向正确的位置,并且引导块指向 MFT(因为我们处理的是 NTFS),但 MFT 已损坏,则 Windows 会将文件系统视为 RAW。
分区扇区没有结束标记 0xAA55
分区表和引导块中的最后两个字节应该是 0x55AA,或者取决于您想要读取的方向 0xAA55。如果不是,则表明结构已损坏,尽管理论上我认为可能只是这两个字节。
更安全的方法(相对于现场修复)
我认为最好的解决方案是通过复制到另一个驱动器来恢复数据。可用于此目的的廉价工具的一个例子是 DMDE。如果文件系统元数据略有损坏,您可能只需要选择分区并单击“打开卷”。
答案3
此解决方案适用于旧版本的 Linux,但相同的概念应该转化为可应用于新版本的相同方法。
然而,据我了解,主引导记录可能已被覆盖或者以某种方式损坏。
如果您有能力这样做,请首先尝试通过 Linux 恢复 MBR。
但是,使用 >sfdisk 可以轻松解决这个问题
sfdisk /dev/sda -i -c 1 07
您可能还想使用测试磁盘检测任何问题
对于 Fedora 来说,以下步骤可能会有所帮助。
使用 Fedora CD 使用 CD 驱动器中的第一张 Fedora CD 启动计算机(您必须启用 PC 从 cdrom 启动,您可以在 BIOS 设置中设置)。在您收到的安装启动提示符下,输入以下命令:
启动:Linux 救援
按 Enter。安装程序将询问您几个问题,例如您想要使用的语言、键盘类型等。然后,如果您的机器上之前安装了 Linux,Fedora 安装程序将自动检测它并将其挂载在 /mnt/sysimage 目录中。挂载 Linux 分区后,您将进入命令 shell 提示符。下一步是将新挂载的目录设为根(或父)目录。您可以通过运行 chroot 命令来执行此操作,如下所示:
# chroot /mnt/sysimage
# _
确保恢复 GRUB:
# grub-install /dev/hda