Восстановление поврежденных или удаленных разделов NTFS
Около двух недель назад у меня была проблема с моим ПК, о которой мой брат написал вопрос о том, что ПК не загружается после автоматического восстановления Windows 7.
Я до сих пор не решил проблему, поэтому мой компьютер сейчас не работает.
Теперь я думаю, что было бы проще переустановить обе 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
И в 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?
И точно такое же сообщение для /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?
РЕДАКТИРОВАТЬ
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.
1 ответ
Отказ от ответственности: я дал ответ на аналогичные вопросы здесь и здесь. Это краткое изложение этих двух ответов. Более того, я разработчик RecuperaBit.
Ваш раздел NTFS поврежден. Чтобы восстановить данные, вам необходимо сделать их копию (в идеале), а затем использовать программу восстановления NTFS для восстановления ее содержимого.
Клонировать диск
Вы действительно должны клонировать диск в файл на внешнем диске, если он не настолько большой, что вы не можете найти другой диск, который может его содержать.
Если вы действительно уверены, что раздел NTFS совпадает с /dev/sdb2
затем используйте ddrescue
скопировать только это:
sudo ddrescue /dev/sdb2 /media/user/External/copy.img /media/user/External/status.log
Если вы не уверены, гораздо лучше клонировать весь /dev/sdb
привод. Это займет больше места, конечно:
sudo ddrescue /dev/sdb /media/user/External/copy.img /media/user/External/status.log
status.log
Файл не является обязательным, но он необходим, если вы хотите приостановить процесс и продолжить позже.
Анализировать и восстанавливать файловую систему
Если файловая система только слегка сломана, вам может повезти с testdisk
:
testdisk /media/External/copy.img
Следуйте пошаговой процедуре в CLI, и вы сможете перечислить содержимое раздела с помощью P
ключ, предполагая, что он почти не поврежден.
Если ущерб более серьезный, вам нужно что-то еще. Вы можете восстановить (возможно сильно) поврежденные разделы NTFS, используя RecuperaBit. 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
Вы также можете использовать python
, тем не мение pypy
быстрее. Процесс сканирования займет довольно много времени. Когда это будет сделано, введите recoverable
и найдите идентификатор вашего раздела. Если это, например, 2, введите:
restore 2 5
restore 2 -1
5
означает корневой каталог и -1
означает каталог потерянных файлов.
Дополнительные сведения, объяснения и предостережения см. В двух ссылках вверху этого поста.