Откопай и оживи! Крис Касперски Спецвыпуск Xakep, номер #046, стр. 046-070-5 После повторной перезагрузки винчестер обретет новую жизнь. Или не обретет :). Разбитые диски одолеть значительно сложнее. Как минимум, необходимо определить границы первичного раздела и реконструировать ссылку на расширенный раздел. Это можно сделать как автоматически, например, утилитой DiskEditor от PhysTechSoft (не путать с Disk Editor от Symantec!), так и вручную. Будем отталкиваться от того факта, что в начале каждого раздела расположен boot-сектор. Предположим, что он не затерт, тогда начало следующего раздела можно идентифицировать по его имени (например, "NTFS"), находящемуся по смещению 3 относительно начала сектора. В меню "Tools" выбираем "Search Sectors" и заполняем поля появившегося диалогового окна в соответствии с приведенным рисунком, подставляя вместо "Last sector to search" размер винчестера в секторах. После достаточно продолжительного шуршания диском, когда наконец требуемый сектор будет найден, необходимо переключиться в режим "NTFS Bootsector", убедившись в правдоподобности всех полей и в том, что это не зеркальная копия boot-сектора основного раздела. Если все поля правдоподобны и не совпадают с полями основного boot-сектора, отними от него удвоенное значение "Sector per Track" (это можно узнать в Drivers --> Volume Information) и уменьши его еще на единицу. В результате получится размер первого раздела в секторах. Занеси его в "Total Sectors", а затем заполни поля Ending Head/Sector/Cylinder, вычисляя их на основе Total Sectors, с одной стороны, и значений Sector per Track, Track per Cylinder – с другой. Теперь переместим "Partition Table Index" на Partition 2, "System ID" на Extended (или Extended LBA, если требуется включение поддержки больших дисков), в поле Relative Sector занесем сектор с найденным boot'ом, увеличив его на единицу, а также заполним поля Staring Head/Sector/Cylinder, вычисляя их на основе Relative Sector за вычетом значения Sector per Track (вспомни вышеприведенную формулу). При стандартной разбивке поля Ending Head/Sector/Cylinder указывают на конец диска и заполняются элементарно. После перезагрузки нам останется только помолиться и в консоли восстановления отдать команду FIXMBR. Перезагрузка. Все потерянные логические разделы должны появиться вновь. Если же этого не произошло… Тогда обращайся за помощью к профессионалам! В зависимости от версии операционной системы копия boot-сектора хранится либо в середине, либо в конце раздела. Для ее поиска можно воспользоваться функций "Search Sector" в меню «Tools», заполнив все поля диалогового окна, как на иллюстрации внизу врезки. Первый же найденный сектор (при условии что он не выходит за пределы логического диска) и будет искомой резервной копией. Запиши сектор на диск (File --> Save as), а затем, вернувшись к разрушенному boot-сектору (Sector --> Read --> Sector:0, View --> Partition Table, Relative Sector: GO), считай только что сохраненный сектор с диска (File --> Open File). Сохрани изменения на диск (Sector --> Write). Теперь осталось лишь войти в консоль восстановления и дать команду FIXBOOT для записи boot-загрузчика. Перезагрузка… Если все было сделало правильно, диск заработает как миленький. |