6. Если считать сектор, с которого начинается BOOT, за точку отсчёта, т. е. имеющим номер 0, то: для FAT16 первая и единственная копия BOOT имеет длину 1 сектор, FAT начинается с сектора 1; для FAT32 обе копии BOOT имеют длину 3 сектора каждая. Первая копия BOOT (рабочая) занимает сектора 0,1,2, вторая копия BOOT (резервная) — сектора 6,7,8. FAT начинается с сектора 32.
На первом разделе из лежащих на диске в физических секторах имеем следующие значения: FAT16, BOOT — Cyl 0, Side 1, Sector 1; FAT16, начало FAT — Cyl 0, Side 1, Sector 2; FAT32, BOOT — Cyl 0, Side 1, Sectors 1–3; FAT32, резервная копия BOOT — Cyl 0, Side 1, Sectors 7–9; FAT32, начало FAT — Cyl 0, Side 1, Sector 33.
7. По моим наблюдениям, единственно существенными данными являются: для MBR (или Partition Table):
— тип раздела (BIGDOS, FAT32, FAT32x, EXTEND, EXTNDx);
— активность (Yes, No); — адрес начала (Relative Sectors), который считается от того Partition Table, в котором написан!!! Прочие параметры используются только служебными программами (такими, как fdisk и diskedit).
— для BOOT: — размер кластера в секторах; — размер раздела в секторах.
Прочие параметры вычисляются при загрузке и хранятся в BOOT больше для информации.
В старых версиях diskedit размер раздела в секторах, указанный в BOOT, для просмотра и редактирования впрямую недоступен. Приходится находить и править его прямо на диске, где он лежит в шестнадцатеричном виде, что не очень удобно.
Для FAT32 действительно надо указать положение ROOT, но не в секторах, а в КЛАСТЕРАХ. Это значение ПОЧТИ всегда равно 2, в противном случае вычислить его очень непросто.
BOOT в двух копиях есть только у FAT32, у FAT16 копия BOOT одна. Никогда не видел второй копии MBR или Partition Table.
8. Если на НЖМД было несколько логических дисков, то придётся восстановить структуру из нескольких Partition Table.
Комментарии к комментариям: 5. Утверждение о возможной несовместимости MBR на разных НЖМД — неверно.
Ограничение в 2 Гб — от другого типа раздела в таблице разделов. A BIOS так и просто упомянут по ошибке — ни причём он.
6. Для файловой системы FAT32 количество зарезервированных секторов записано в бут-секторе. Начало FAT с сектора 32 — это лишь значение по умолчанию.
7. В Partition Table размер раздела в секторах — это суперкритичная информация. Особенно для разделов за пределами первых 8 Гб диска — она и только она позволяет ОС рассчитать, где кончается раздел и начинается следующий, поскольку номер цилиндра более 1023 указать нельзя.
Уничтожение информации на жёстком диске
Надёжно уничтожить данные на жёстком диске можно лишь повторной записью на то же самое место поверхности диска, поскольку при обычном удалении файлов средствами ОС (удерживая клавишу <Shift> или очистив Корзину) они помечаются как удалённые, но продолжают существовать на том же месте, и их можно восстановить специальными программами. Самый простой и доступный каждому способ удаления данных, которые никто не должен суметь восстановить, — это удаление файлов штатными средствами ОС, а затем заполнение всего свободного места на этом логическом диске любой другой ненужной информацией. Можно копировать файлы с CD или других логических дисков винчестера, пока всё пространство на нашем диске не будет занято. Потом вся эта ненужная масса удаляется.
Однако однократная перезапись не гарантирует полного успеха, если, не дай бог, этим винчестером займутся спецслужбы, которые располагают специальными программно-аппаратными средствами. Дело в том, что всегда остаётся слабая остаточная намагниченность слоя, особенно при последовательном обнулении, поэтому, например, низкоуровневое форматирование для этих целей вообще неэффективно.
Чтобы уничтожить полностью остаточное намагничивание, необходимо выполнить многократную перезапись на поверхность диска разнородного кода, в определённом алгоритме содержащего логические нули и единицы. Такой способ реализуется с помощью специально разработанных для уничтожения данных утилит. Например, бесплатная программа Eraser 35 раз подряд записывает на место удалённых данных сгенерированный специальный код, что не даёт возможности восстановить удалённую информацию не только программным путём, но и с помощью спецсредств, которые способны снимать остаточную намагниченность с поверхности диска. У Eraser есть несколько режимов работы. В режиме очистки неиспользуемого пространства диска программа будет затирать всё пустующее пространство заданного логического диска, чтобы уничтожить все следы существовавших ранее данных, удалённых обычным способом. В режиме удаления файлов и каталогов будет затираться только пространство, занимаемое указанными файлами и каталогами.
Восстановление дохлой нулевой дорожки у HDD
Один из вариантов оживления винтов с подобным повреждением.
Если убита (например, низкоуровневым форматированием) сервоинформация на нулевой дорожке, то однозначно в морг — винт не сможет выполнить рекалибровку.
В остальных случаях может помочь следующее:
1. Подключить винт как Primary/Master. Если не проходит автодетект, выставить в BIOS/Setup'е 1-й тип или паспортные параметры винта. Остальные винты (если есть) следует во избежание порчи временно отключить.
2. Загрузить DOS с дискеты, запустить стандартный досовский отладчик: Debug — F 200 L200 0 — а 100 mov ах,301 mov bx,200 mov сх,1 mov dx,0080 int 13 int 3 нажать <Enter> — G=100 — q. Этот 2-й пункт является дословным цитированием рекомендации от Award'а.
3. Если для винта стоял тип 1, повторить автодетектирование. Если автодетектирование не проходит, выставить паспортные параметры винта.
4. При необходимости перезагрузить DOS. Запустить FDISK, коим разметить Partition Table винта, не забыв указать при необходимости партицию, которая на данном винте будет активной (загрузочной). Запустить "FORMAT С: /S /U" или "FORMAT С: /U" для форматирования диска соответственно с переписью и без переписи загрузчика.
5. Восстановить ранее стоявшую конфигурацию (если на время форматирования отключались другие винты).
На самом деле вышеприведённый совет относится только к случаю, когда:
1. В таблице разделов диска имеется неверная информация о разделах, которая не может быть соотнесена с геометрией диска.
2. BIOS компьютера (обычно AWARD) не только считывает и интерпретирует информацию из таблицы разделов (чего он, кстати, делать не должен), но и полагается на неё при определении геометрии диска больше, чем на результаты АТА-вызовов. Вероятно, фирма AWARD хотела построить на этом какую-то фичу, обернувшуюся реальным бедствием для многих пользователей.
Выполнение этого совета убивает информацию о разделах и, соответственно, "прощай данные". Однако если подключить винчестер к компьютеру с BIOS от AMI, MSI и других, то с ним можно вполне работать над восстановлением данных. Даже на той же материнской плате, отключив опознание HDD в BIOS, можно загрузиться в Windows 9х и в DOS-окне старым (6-7-8 версии NU) DiskEdit'OM поправить таблицу разделов. Старая версия DiskEdit предпочтительней, потому что, во-первых, спокойно относится к запуску в DOS-окне, а новые версии иной раз не запускаются и требуют "чистый" DOS, а во-вторых, старые версии не знают о су ществовании FAT32-структур и не интерпретируют их, а такая помощь при восстановлении чаще мешает, чем помогает. Перед стартом DiskEdit не забудьте дать команду LOCK. Кроме того, можно вытащить данные эвристическими программами, например, Easy Recovery, GetDataBack, R-Studio.
Кстати, имеющаяся в некоторых BIOS встроенная утилита разрушающей проверки поверхности диска так же эффективна, как и ковыряние в дебаггере. Но проще.
Как найти причину, если что-то не работает
Прежде всего, необходимо локализовать источник проблем. Поиски следует начать с ответа на вопрос: с чего всё началось? Было ли время, когда подобной проблемы не было? Что изменилось с тех пор? — Попробуйте поставить последние драйвера на все установленные в системе устройства, особо обратив внимание на материнскую плату и видеокарту. Если и так стоят самые последние, можно попробовать сделать наоборот и поставить те, что находятся на дисках, которые давались вместе с оборудованием при покупке.