Написание собственного раздела восстановления

Я понимаю, что вопрос, который я задаю, не прост: «О, это просто! Сделай просто то и это, и вуаля!» Дело в том, что однажды ночью, не задумываясь, я удалил не тот раздел Я перепробовал несколько инструментов для Windows и Linux (Доктор дисков раздела, Easeus, Тестовый диск и т. Д.), Но ни один из них не работал. И я думаю, что это из-за того, как я удалил раздел.

Я уже писал свои собственные средства создания / резервного копирования загрузочного сектора на C ++, а также одно или два ядра на C и Assembler (хотя и довольно бесполезные ядра …), так что я думаю, что у меня достаточно знаний, чтобы хотя бы TRY восстановить его вручную.

Мой диск был настроен следующим образом:

 Size: 1.82TB
part0 100MB (redundant windows recovery partition)
part1 ~1760MB (my data partition)

Как я это сломал

В Windows 7 я удалил первый раздел. Затем я расширил второй, чтобы занять свободное место первого, что означало, что у меня осталось 2 раздела, которые теперь действуют как один динамический раздел. Я перезагрузился в свою ОС Ubuntu и понял, что больше не могу ее читать. Я перезагрузился обратно в Windows, удалил первый раздел, затем подумал, подождите … я не должен был этого делать. Излишне говорить, что сейчас он мертв.

Что мне хотелось бы, так это несколько советов / хороших ссылок о том, с чего начать, чего не делать и чего не ожидать. Я надеюсь, что если журналы все еще не повреждены, я смогу восстановить диск.

Редактировать:

Это диск NTFS. После публикации этого вопроса мне было интересно: учитывая, что я знаю приблизительное местоположение моего раздела, есть ли способ легко идентифицировать журналы? Может быть, я смогу восстановить некоторые другие данные диска / раздела и записать их на диск.

8

Решение

Первый шаг, я думаю, состоит в том, чтобы выяснить, как именно эти «динамические разделы», как вы их называете, работают в Windows 7. Из вашего описания звучит так, как будто вы создали своего рода логический том из двух физических разделов. Я предполагаю, что второй раздел теперь содержит какой-то заголовок для этого тома, поэтому инструменты восстановления, незнакомые с этим форматом, не работают.

Если вы выясните, что сделал Windows 7 именно так Когда вы объединили два раздела, вы сможете написать приложение, которое извлекает образ логического тома.

Или вы можете проверить NTFS-3G, FUSE-реализацию NTFS по адресу http://www.tuxera.com/community/ntfs-3g-download/. Изучая этот код, могу поспорить, что вы сможете найти способ найти файловую систему NTFS на вашем диске. Как только вы это сделаете, попробуйте извлечь все из начала файловой системы до конца диска в образ и запустить на нем программу проверки файловой системы ntfs. Если вам повезет, вы вернете себе изменяемую файловую систему.

Если вам интересно, как получить доступ к диску, просто откройте соответствующее устройство в Linux, как если бы это был обычный файл. Возможно, вам придется выровнять ваши чтения по 512 байтам, хотя (или независимо от того, какой размер сектора вашего диска равен. 512 и в меньшей степени 4096 являются общими значениями), в противном случае read () может вернуть ошибку.

1

Другие решения

Других решений пока нет …