Вы должны понимать разницу между двумя вещами:
- Разделы - это непрерывные разделы жесткого диска, идентифицируемые номерами секторов, например секторами от 2048 до 41 943 040. Разделы определяются в структуре данных, называемой таблицей разделов, которая представляет собой просто список диапазонов секторов и некоторые простые связанные данные (например, код типа для определения типа данных, содержащихся в разделе). Двумя типичными таблицами разделов являются MBR и GPT, хотя это не очень важно для вашей проблемы.
- Файловые системы представляют собой гораздо более сложные структуры данных, которые позволяют хранить, организовывать и размещать отдельные файлы на диске. Файловые системы часто хранятся внутри разделов, что просто означает, что они занимают диапазон секторов, определенных в таблице разделов как определенный раздел. Доступно множество различных файловых систем, таких как FAT, NTFS, HFS+, ext4fs и так далее.
Чтобы использовать файловую систему, вы обычно должны иметь неповрежденную таблицу разделов, чтобы ОС могла найти файловую систему. (Исключением является ситуация, когда файловая система занимает весь диск, как это обычно бывает с дискетами, а иногда и с флеш-накопителями USB.) TestDisk восстанавливает поврежденные таблицы разделов путем поиска свидетельств файловых систем и создания новых записей таблицы разделов, соответствующих любым файловым системам, которые он находит - по сути, работая в обратном направлении по сравнению с обычным случаем. TestDisk не может исправить повреждения в файловой системе. Для этого вам нужно использовать специфичные для файловой системы инструменты восстановления, такие как CHKDSK.EXE
в Windows для FAT или NTFS или e2fsck
в Linux для ext2/3/4fs.
Операции изменения размера раздела включают как настройку структур данных файловой системы, так и настройку структур данных раздела. Когда ваша операция изменения размера раздела не удалась, она, вероятно, оставила файловую систему в несогласованном состоянии и, возможно, также оставила таблицу разделов в несогласованном состоянии. Если данные таблицы разделов были настроены так, чтобы требовать меньшего раздела, чем необходимо для того, что осталось от файловой системы, вы можете исправить проблему, используя инструмент разделения, такой как GPT fdisk (gdisk
), чтобы удалить запись таблицы разделов и создать новый с той же начальной точкой, но конечной точкой, которая простирается до необходимого размера. Однако это далеко не гарантировано, и если вы совершите ошибку, вы можете создать больше проблем. Возможно, стоит gdisk
или другой инструмент для проверки размеров ваших разделов; если раздел NTFS, который вы пытались сжать, обнаруживается как небольшой в gdisk
или другом инструменте, который изменяет только разделы (не файловые системы), то, возможно, стоит попытаться изменить размер раздела. OTOH, если gdisk
показывает, что раздел имеет малое пространство или вообще не имеет места между ним и следующим разделом или концом диска, то вам не следует возиться с этим дальше, а вместо этого следует сосредоточиться на исправлениях на уровне файловой системы.
Скорее всего, ваши проблемы вызваны исключительно повреждением файловой системы. Если это так, и если CHKDSK.EXE
не может восстановить больше, чем ваши, единственные надежды лежат на сторонних инструментах восстановления. Например, PhotoRec может восстанавливать отдельные файлы. (Я слышал, что есть специальные инструменты для Windows, которые могут работать лучше, чем PhotoRec на томах NTFS, но у меня нет удобных URL-адресов.) Может быть какой-то сторонний инструмент, CHKDSK
, который тоже отлично справится, но я не знаю такого инструмента; Я упоминаю об этом, потому что, возможно, стоит потратить время на поиск в Интернете по этому вопросу.
Еще один комментарий: вы находитесь в состоянии, когда почти наверняка вы нанесете больший ущерб диску, пытаясь его восстановить, чем ничего плохого не произойдет. Таким образом, лучше всего делать низкоуровневое резервное копирование диска. Для этого есть инструменты Windows, но я с ними не знаком. В Linux что-то вроде dd if=/dev/sda of=/path/to/backup/file.img
поможет, где /path/to/backup/
- это путь к каталогу на другом физическом диске, на котором достаточно свободное место для хранения всего диска, для которого выполняется резервное копирование (в данном примере /dev/sda
). Если вам не удастся сделать такое резервное копирование, любые ошибки, которые вы совершите, затруднят и, возможно, даже сделают невозможным восстановление некоторых ваших данных.
Если все это вам не по карману, вы можете воспользоваться платными услугами по восстановлению данных. Однако у меня нет случайных URL-адресов, и такие услуги, как правило, дороги.