Not*_*ert 14 filesystem dual-boot mount ntfs data-recovery
大约两周前,我的 PC 出现问题,我兄弟写了一个关于在使用 Windows 7 自动修复后 PC 无法启动的问题。
我还没解决问题,所以我的电脑现在无法使用。
现在我认为重新安装 Win7 和 Ubuntu 比修复它们更简单,但是它们的分区上有一些数据。我想恢复这些数据。
由于某种原因,这些分区不可挂载。我不知道为什么。
sudo fdisk -l
关于有问题的分区:
Device Boot Start End Blocks Id System
/dev/sda1 2048 147912703 73955328 83 Linux
/dev/sdb2 206848 174079999 86936576 7 HPFS/NTFS/exFAT
Run Code Online (Sandbox Code Playgroud)
在 GParted 中:
以及mount
命令的错误:
Failed to mount '/dev/sdb2': Invalid argument
The device '/dev/sdb2' 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?
Run Code Online (Sandbox Code Playgroud)
和完全相同的消息 /dev/sda1
如何从这些硬盘中恢复我的数据?
编辑
我试图指定驱动器的类型:
$ sudo mount -t ext4 /dev/sda1 /olddisk
mount: wrong fs type, bad option, bad superblock on /dev/sda1,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try
dmesg | tail or so
$ sudo mount -t ntfs /dev/sdb2 /olddisk
NTFS signature is missing.
Failed to mount '/dev/sdb2': Invalid argument
The device '/dev/sdb2' 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?
Run Code Online (Sandbox Code Playgroud)
编辑
sudo ntfsfix /dev/sdb2
返回:
Mounting volume... NTFS signature is missing.
FAILED
Attempting to correct errors... NTFS signature is missing.
FAILED
Failed to startup volume: Invalid argument
NTFS signature is missing.
Trying the alternate boot sector
Unrecoverable error
Volume is corrupt. You should run chkdsk.
Run Code Online (Sandbox Code Playgroud)
And*_*tto 12
您的 NTFS 分区已损坏。为了恢复数据,您需要制作它的副本(理想情况下),然后使用 NTFS 重建软件来恢复其内容。
您确实应该将驱动器克隆到外部磁盘上的一个文件中,除非它太大以至于您找不到其他驱动器来容纳它。
如果您确实确定NTFS 分区与 重合/dev/sdb2
,则使用ddrescue
仅复制该分区:
sudo ddrescue /dev/sdb2 /media/user/External/copy.img /media/user/External/status.log
Run Code Online (Sandbox Code Playgroud)
如果您不确定,最好克隆整个/dev/sdb
驱动器。当然,这将占用更多空间:
sudo ddrescue /dev/sdb /media/user/External/copy.img /media/user/External/status.log
Run Code Online (Sandbox Code Playgroud)
该status.log
文件不是强制性的,但如果您想暂停该过程并稍后继续,则需要该文件。
如果文件系统只是轻微损坏,您可能会很幸运testdisk
:
testdisk /media/External/copy.img
Run Code Online (Sandbox Code Playgroud)
按照 CLI 中的分步过程,您将能够使用P
密钥列出分区的内容,假设它几乎完好无损。
如果损坏更严重,则需要其他东西。您可以使用RecuperaBit恢复(可能严重)损坏的 NTFS 分区。RecuperaBit 尝试重建文件系统结构并恢复文件。RecuperaBit 尝试重建目录结构,而不管:
目前,它不需要安装,您需要从 GitHub 下载存档并将其解压缩到您选择的目录中。
之后,为输出创建一个目录并使用以下命令启动程序:
mkdir /media/user/External/recovered_files
cd [full path of recuperabit]
pypy main.py /media/user/External/copy.img -o /media/user/External/recovered_files -s /media/user/External/savefile.save
Run Code Online (Sandbox Code Playgroud)
您也可以使用python
,但pypy
速度更快。扫描过程将需要相当长的时间。完成后,键入recoverable
并找到您的分区的 ID。如果是例如 2,请键入:
restore 2 5
restore 2 -1
Run Code Online (Sandbox Code Playgroud)
5
表示根目录,-1
表示丢失的文件目录。
有关其他详细信息、解释和警告,请参阅本文顶部的两个链接。
归档时间: |
|
查看次数: |
8786 次 |
最近记录: |