Программа восстановить загрузочный сектор жесткого диска. Восстановление загрузочного сектора - решение ваших проблем с компьютером

Если вам ни разу не доводилось сталкиваться с проблемой возникновения сбоев при загрузке операционной системы компьютера, возможно, данная статья не будет вам интересна. Она предназначена для тех, кто хочет научиться самостоятельно (без вызова специалистов) устранять время от времени возникающие сбои в работе операционной системы и производить восстановление загрузочного сектора своими руками.

Возможные причины сбоя

Как правило, сбой появляется неожиданно. Просто однажды вы не можете включить свой компьютер, потому что операционная система не загружается. Это происходит из-за того, что по различным неинтересным для абсолютного большинства пользователей причинам, повреждается главная загрузочная запись (MBR), или как ее еще называют - загрузочный сектор. Причинами сбоя могут быть программное повреждение MBR вследствие вирусной атаки либо нарушение физических секторов жесткого диска. Устранить проблему можно произведя восстановление загрузочного сектора. В результате программа переназначит области винчестера, и функции MBR будет выполнять другой сектор диска.

Решение проблемы

Восстановить загрузочный сектор достаточно просто. Чаще всего помогает проведение повторной загрузки системы. Вам может быть предложено несколько вариантов. Неискушенным пользователям советуем выбирать вариант загрузки системы с последними работоспособными параметрами. Если это не помогает, попробуйте загрузить ее в безопасном режиме. В этом случае вы не увидите фонового рисунка. Кроме того, основная масса программ не будет работать, но файлы, хранящиеся на рабочем столе, сможете скопировать на другой носитель или на локальный диск. Этот вариант нужно попробовать, т. к. единственным путем восстановления системы может быть только ее переустановка с форматированием системного диска. И если вы не хотите потерять какие-нибудь важные документы, не пренебрегайте этим действием.



Восстановление загрузочного сектора Windows 7

Необходимо найти диск установки Windows 7. Если же таковой отсутствует по определению или потерялся, то нужно искать загрузочный диск. Не забудьте перед восстановлением системы проверить свой винчестер на наличие вирусов, а точнее - убедиться в их отсутствии. Для этого установите его на другой компьютер или используйте CD-диск с антивирусом. В случае игнорирования проведения такой проверки существует риск повторного нарушения работы загрузчика из-за того, что притаившийся вирус снова активизируется.

Последовательность действий

Начинать восстановление загрузочного сектора Windows 7 следует с нажатия кнопки "Delete" при включении компьютера. В разделе "Advanced" (или "Boot") найдите порядок загрузки устройств. Установите в BIOS первым устройством CD/DVD, сохраните изменение и выйдите из него.


Следующим шагом выберите пункт «Восстановить Windows с помощью консоли восстановления». Затем из предложенного списка выберите систему для восстановления и введите ее номер. Нажмите "Enter". Затем введите команду "fixmbr", чтобы восстановить MBR, или команду "fixboot" с указанием буквы диска для восстановления, подтвердите ее выполнение (Y) и снова нажмите "Enter". Перезагрузите компьютер. Если восстановление загрузочного сектора таким образом осуществить не удалось, единственное, что остается - переустановить систему.

Навел красоту по этой статье :

Какой бы продвинутой ни была операционная система, ее загрузка невозможна без наличия двух секторов на жестком диске, которые содержат код, необходимый для запуска любой операционной системы. Первый сектор называется Master Boot Record (MBR); он всегда располагается по адресу: сектор 1/цилиндр 0/головка1 и является самым первым сектором жесткого диска. Вторым важнейшим сектором является Boot Sector (загрузочный сектор), расположенный в первом секторе каждого тома.

Master Boot Record

Master Boot Record является самой важной структурой диска; этот сектор создается при разбиении диска на разделы. В секторе MBR расположены небольшой код, называемый Master Boot Code, а также сигнатура диска и таблица разделов. В конце сектора MBR располагается двухбайтовая структура, указывающая на конец сектора. Она имеет значение 0x55AA. Сигнатура диска - это уникальное число, расположенное по смещению 0x01B8 и позволяющее операционной системе однозначно определить данный диск.

Код, находящийся в секторе MBR, выполняет следующие действия:

  • ищет активный раздел в таблице разделов;
  • ищет начальный сектор активного раздела;
  • загружает копию загрузочного сектора из активного раздела в память;
  • передает управление исполняемому коду из загрузочного сектора.
Если эти функции по какой-то причине не удается завершить, то выдается одно из следующих системных сообщений об ошибке:
  • Invalid partition table;
  • Missing operating system.
Отметим, что для гибких дисков не существует понятия MBR. Загрузочным сектором является первый сектор на диске. Также следует помнить, что каждый жесткий диск содержит сектор MBR, но загрузочный код используется только на дисках, имеющих активный первичный раздел.

Таблица разделов

Таблица разделов - это 64-байтовая структура, используемая для определения типа и местоположения разделов на жестком диске. Содержимое данной структуры унифицировано и не зависит от операционной системы. Информация о каждом разделе занимает 16 байт - таким образом, на диске может быть не более четырех разделов.

Информация о каждом разделе начинается с определенного смещения от начала сектора, как показано в табл. 1 .


На рис. 1 показано примерное содержимое таблицы разделов для диска с двумя разделами. Информация о несуществующих разделах представлена в виде нулей.

рис. 1


В табл. 2 показаны значения полей в записи о разделе. Приведенные примерные значения относятся к первому разделу (см. рис. 1 ) . Значения Byte Offset соответствуют первому разделу в таблице разделов.

Смещение​

Значение​

Описание​

1 0x01BE 1 байт 0x80 Индикатор загрузки (Boot Indicator) - указывает, является ли том активным разделом. Может иметь значения: 00 - не используется для загрузки; 80 - активный раздел
2 0x01BF 1 байт 0x01 Начальная головка (Starting Head)
3 0x01C0 6 бит 0x01 Начальный сектор (Starting Sector) - используются биты 0-5. Биты 6 и 7 используются следующим полем
4 0x01C1 10 бит 0x00 Начальный цилиндр (Starting Cylinder) - 10-битовое число с максимальным значением 1023
5 0x01C2 1 байт 0x07 Идентификатор системы (System ID) - определяет тип тома
6 0x01C3 1 байт 0xFE Конечная головка (Ending Head)
7 0x01C4 6 бит 0xBF Конечный сектор (Ending Sector) - используются биты 0-5. Биты 6 и 7 используются следующим полем
8 0x01C5 10 бит 0x09 Конечный цилиндр (Ending Cylinder) - 10-битовое число с максимальным значением 1023
9 0x01C6 Двойное слово 0x3F000000 Относительные сектора (Relative Sectors) - смещение от начала диска до начала тома, выраженное в числе секторов
10 0x01CA Двойное слово 0x4BF57F00 Общее число секторов (Total Sectors) - число секторов в данном томе


После того как мы ознакомились с устройством записи о разделе, более подробно рассмотрим некоторые из полей этой записи.

Поле Boot Indicator

Первый элемент таблицы разделов, поле Boot Indicator, указывает, является ли том активным разделом. Напоминаем, что только первичный раздел диска может быть активным. Имеется возможность установки различных операционных систем и различных файловых систем на различных томах. Используя утилиты типа FDISK (MS-DOS), Disk Management (Windows 2000) или утилиты сторонних производителей, можно активизировать первичный раздел и установить соответствующее значение данного поля.

Поле System ID

Это поле содержит идентификатор системы и указывает, какая файловая система - FAT16, FAT32 или NTFS - использовалась для форматирования тома, а также позволяет узнать некоторые характеристики файловой системы. Кроме того, данное поле показывает, существует ли на диске расширенный раздел (extended partition). Возможные значения поля System ID показаны в табл. 3 .

Тип раздела​

Пояснения​

1 0x01 Первичный раздел или логический диск FAT12. Том имеет менее 32 680 секторов
2 0x04 Раздел или логический диск FAT16. Том имеет от 32 680 до 65 535 секторов, или размер от 16 до 33 Мбайт
3 0x05 Расширенный раздел
4 0x06 Раздел или логический диск BIGDOS FAT16. Размер от 33 Мбайт до 4 Гбайт
5 0x07 Раздел или логический диск NTFS. Installable File System
6 0x0B Раздел FAT32 или логический диск
7 0x0C Раздел FAT32 или логический диск с использованием расширений BIOS INT 13h
8 0x0E Раздел BIGDOS FAT16 или логический диск с использованием расширений BIOS INT 13h
9 0x0F Расширенный раздел, использующий расширения BIOS INT 13h
10 0x12 EISA-раздел
11 0x42 Том динамического диска (Windows 2000)


Отметим, что под управлением MS-DOS доступны только тома с полем System ID, которое равно 0x01, 0x04, 0x05 или 0x06. Но тома с другим System ID этого поля могут быть удалены с помощью утилиты FDISK.

Поля Cylinder, Head и Sector

Поля Starting Cylinder, Ending Cylinder, Starting Head, Ending Head, Starting Sector и Ending Sector (общее название - CHS) являются дополнительными элементами таблицы разделов. Загрузочный код использует значения этих полей для нахождения загрузочного сектора и его активизации. Поля Starting CHS неактивных разделов указывают на загрузочные сектора первичных разделов и на расширенный загрузочный сектор первого логического диска в расширенном разделе.

На рис. 2 показаны Master Boot Record (содержащий код, таблицу разделов и сигнатуру) и загрузочные сектора для диска с четырьмя разделами.


рис. 2


Поле Ending Cylinder в таблице разделов имеет размер 10 бит и позволяет описывать цилиндры с номерами от 0 до 1023. Поля Starting Head и Ending Head имеют размер 1 бит и могут содержать номера головок от 0 до 255. Так как поля Starting Sector и Ending Sector занимают по 6 бит, они могут содержать значения от 0 до 63. Поскольку нумерация секторов начинается с 1 (а не с 0, как для других полей), то максимальное число секторов на дорожке равно 63.

При низкоуровневом форматировании для всех дисков задается стандартный размер сектора 512 байт, поэтому максимальный размер диска, описываемый в таблице разделов, может быть вычислен следующим образом:

Максимальный размер = Размер сектора x Число цилиндров x Число головок x x Число секторов на дорожке.

Используя максимально допустимые значения этих величин, мы получаем:

512 x 1024 x 256 x 63 (или 512 x 224) =

8 455 716 864 байт, или 7,8 Гбайт.

Таким образом, без использования расширений INT 13h, известных под названием Logical Block Addressing (LBA), размер активного первичного раздела не может превышать 7,8 Гбайт независимо от используемой файловой системы.

Максимальный размер тома под FAT16 зависит от геометрии диска и максимальных значений в таблице разделов. Возможные значения при использовании и отсутствии LBA показаны в табл. 4. Число цилиндров в обоих случаях равно 1024 (0-1023). В том случае, когда первичный раздел или логическое устройство занимает область далее 1023-го цилиндра, все поля таблицы разделов будут иметь максимально допустимые значения.


Чтобы обойти описанное выше ограничение в 7,8 Гбайт, в Windows 2000 игнорируются значения полей Starting Sector и Ending Sector - вместо этого используются значения полей Relative Sectors и Total Sectors.

Поля Relative Sectors и Total Sectors

Поле Relative Sectors содержит смещение от начала диска до начала тома, выраженное в числе секторов. Поле Total Sectors указывает общее число секторов в томе.

Используя значения двух этих полей (которые вместе являются 32-битовым числом), мы получаем дополнительные 8 бит для хранения общего числа секторов по сравнению с описанной выше схемой CHS. В этом случае число секторов может быть представлено как 232. При использовании стандартного размера сектора (512 байт) и 32-битового представления числа секторов максимальный объем раздела ограничивается числом 2 Тбайт (или 2 199 023 255 552 байт). Такая схема используется только в Windows 2000 с файловыми системами NTFS и FAT32.

Отметим, что при создании разделов под управлением Windows 2000 корректные данные заносятся и в поля Starting Cylinder, Ending Cylinder, Starting Head, Ending Head, Starting Sector и Ending Sector. Это позволяет обеспечить совместимость с MS-DOS, Windows 95 и Windows 98, а также с функциями INT 13h, используемыми BIOS при загрузке компьютера.

Расширенная загрузочная запись

Расширенная загрузочная запись (Extended Boot Record, EBR) состоит из расширенной таблицы разделов и сигнатуры - двухбайтовой структуры, имеющей значение 0x55AA. Расширенная загрузочная запись существует для каждого логического устройства в расширенном разделе. Она содержит информацию о первой стороне первого цилиндра для каждого логического устройства. Загрузочный сектор логического диска обычно располагается в относительных секторах с номером 32 либо 63. Если на диске нет расширенного раздела, то нет расширенной загрузочной записи и нет логических устройств.

Первый элемент расширенной таблицы разделов для первого логического устройства указывает на его загрузочный сектор, второй элемент - на EBR следующего логического устройства. Если следующего логического устройства не существует, то и второй элемент не используется - он содержит набор нулей. Третий и четвертый элементы расширенной таблицы разделов не используются.

На рис. 3 показано, как устроена расширенная загрузочная запись. Показаны три логических устройства в расширенном разделе.


рис. 3


За исключением последнего логического устройства в расширенном разделе (см. рис. 3 ), формат расширенной таблицы разделов, описанный в табл. 5 , повторяется для каждого логического устройства: первый элемент описывает загрузочный сектор логического устройства, второй элемент указывает на следующую расширенную загрузочную запись. Для последнего логического устройства элементы со второго по четвертый не используются.


Поля каждого элемента в расширенной таблице разделов аналогичны полям обычной таблицы разделов, описанной выше.

Поле Relative Sectors в расширенной таблице разделов указывает в байтах смещение от начала расширенного раздела до первого сектора логического устройства. Число в поле Total Sectors позволяет узнать число секторов, отведенных под логическое устройство. Значение поля Total Sectors равно числу секторов от начала загрузочного сектора до конца логического раздела.

Ввиду исключительной важности информации, хранимой в секторах MBR и EBR, рекомендуется периодически проверять диск с помощью соответствующих утилит и создавать резервные копии данных.

Boot Sector

Загрузочный сектор , расположенный в секторе 1 каждого тома, является структурой, обеспечивающей запуск компьютера. В этом секторе содержатся исполняемый код и данные, которые требует этот код, включая информацию о файловой системе, используемой на данном томе. Загрузочный сектор создается при форматировании тома. В конце загрузочного сектора размещается двухбайтовая структура, называемая маркером конца сектора. Эта структура всегда содержит значение 0x55AA.

На компьютерах, работающих под управлением Windows 2000, загрузочный сектор активного раздела загружается в память и вызывает загрузчик операционной системы - NTLDR , который выполняет все необходимые действия по загрузке Windows 2000.

В Windows 2000 загрузочный сектор содержит следующие элементы:

  • ассемблерную инструкцию JMP;
  • идентификатор производителя (OEM ID);
  • структуру данных, называемую BIOS Parameter Block (BPB);
  • расширенную структуру BPB;
  • исполняемый код, запускающий операционную систему.
Отметим, что загрузочные сектора для NTFS, FAT16 и FAT32 отформатированы иным образом.

Структура BPB содержит физические параметры тома, расширенная структура BPB начинается сразу же после стандартной BPB. Длина структуры BPB и содержащаяся в ней информация зависят от типа загрузочного сектора - NTFS, FAT16 или FAT32.

Информация, хранимая в BPB и расширенной структуре BPB, используется драйверами устройств для чтения и конфигурации томов.

Сразу же за расширенной структурой BPB следует загрузочный код.

Процесс загрузки

Процесс загрузки компьютера состоит из следующих основных шагов:

  1. При включении питания выполняется проверочный тест BIOS и процессора - POST .
  2. BIOS ищет загрузочное устройство (обычно это диск).
  3. BIOS загружает первый физический сектор с загрузочного диска в память и передает управление по тому адресу, куда загружен этот сектор.
Если загрузочным устройством является жесткий диск, то BIOS загружает MBR. Располагаемый в MBR код загружает загрузочный сектор активного раздела и передает управление по тому адресу, куда загружен этот сектор. На компьютерах с Windows 2000 исполняемый код в загрузочном секторе находит файл NTLDR, загружает его в память и передает ему управление.

Если в дисководе A находится диск, то BIOS загружает первый сектор (загрузочный сектор) этого диска в память. Если диск является загрузочным (содержит базовые файлы операционной системы), загрузочный сектор загружается в память и использует код для передачи управления файлу IO.SYS - базовому файлу операционной системы MS-DOS. Если диск не является загрузочным, исполняемый код в загрузочном секторе выдает следующее сообщение:

  • Non-System disk or disk error
  • Replace and press any key when ready
Начальный процесс загрузки не зависит от формата диска и от операционной системы. Уникальные характеристики операционной и файловой систем используются уже после того, как начинается выполнение кода из загрузочного сектора.

Виды загрузочных секторов

Как мы уже знаем, MBR передает управление загрузочному сектору. Поэтому первые три байта данного сектора должны содержать допустимую инструкцию для центрального процессора. Этой инструкцией является инструкция перехода, перенаправляющая выполнение кода. За инструкцией JMP следует 8-байтовый идентификатор производителя (OEM ID) - строка, описывающая название и номер версии операционной системы, использовавшейся для форматирования тома.

Для сохранения совместимости с MS-DOS Windows 2000 записывает идентификатор «MSDOS5.0» для файловых систем FAT16 и FAT32. Для файловой системы NTFS идентификатор содержит символы «NTFS».

Windows 95 использует идентификатор «MSWIN4.0», а Windows 95 OSR2 и Windows 98 - идентификатор «MSWIN4.1».

Сразу же за идентификатором производителя следует структура данных, называемая BIOS Parameter Block (BPB). В ней содержится информация, необходимая для обнаружения файла NTLDR. Поскольку BPB обычно располагается по одному и тому же смещению, то стандартные параметры легко обнаруживаются. Так как инструкция JMP обходит структуру BPB, ее размер может быть увеличен в будущем, если здесь потребуется хранить какую-либо дополнительную информацию.
Теперь давайте рассмотрим, как выглядят загрузочные сектора для трех основных файловых систем - FAT16, FAT32 и NTFS.

Загрузочный сектор FAT16

В табл. 6 приведено описание загрузочного сектора для файловой системы FAT16.

Смещение​

1 0x00 3 байт Инструкция JMP
2 0x03 2 x LONG OEM ID
3 0x0B 25 байт BPB
4 0x24 26 байт Расширенный BPB
5 0x3E 448 байт Загрузочный код
6 0x01FE 2 байт


На конкретном примере показано содержимое загрузочного сектора FAT16. Здесь можно выделить три секции:
  • байты 0x0B-0x3D содержат BPB и расширенный BPB;

В двух следующих таблицах показано содержимое BPB (табл. 7 ) и расширенного BPB (табл. 8 ) для FAT16. Приведенные значения соответствуют загрузочному сектору, показанному на рис. 4.

Смещение​

Значение​

Описание​

1 0x0B 2 байт 0x0002
2 0x0D 1 байт 0x40 Число секторов в кластере. Так как FAT16 поддерживает ограниченное число кластеров (до 65 536), тома большего объема требуют использования большего числа секторов в кластере. Значение этого поля по умолчанию зависит от размера тома. Допустимы следующие значения: 1, 2, 4, 8, 16, 32, 64 и 128. Значения, приводящие к увеличению размера кластера более 32 Кбайт (количество байт в секторе, умноженное на число секторов в кластере), могут служить источником ошибок
3 0x0E 2 байт 0x0100 Зарезервированные сектора - число секторов перед первой таблицей FAT, включая загрузочный сектор. Значение этого поля всегда равно 1
4 0x10 1 байт 0x02
5 0x11 2 байт 0x0002 Общее число 32-байтовых имен файлов и каталогов, которые могут храниться в корневом каталоге тома. Обычно значение этого поля равно 512. Один элемент всегда используется для хранения метки тома, поэтому максимальное число файлов и каталогов не превосходит 511
6 0x13 2 байт 0x0000 Число секторов в томе, выраженное 16-битовым значением. Для томов, имеющих более 65 536 секторов, это поле не используется и его значение равно 0
7 0x15 1 байт 0xF8
8 0x16 2 байт 0xFC00 Число секторов в каждой копии FAT. Значение этого поля, число копий FAT и число зарезервированных секторов используются для вычисления местонахождения корневого каталога. Зная максимальное число элементов корневого каталога, можно также узнать, где начинаются пользовательские данные
9 0x18 2 байт 0x3F00
10 0x1A 2 байт 0x4000
11 0x1C 4 байт 0x3F000000 Число “скрытых” секторов - число секторов перед загрузочным сектором. Используется во время загрузки для вычисления абсолютного смещения корневого каталога и данных
12 0x20 4 байт 0x01F03E00


Смещение​

Значение​

Описание​

1 0x24 1 байт 0x80 Физический номер устройства. Содержит 0x00 для флоппи-дисков и 0x80 для жестких дисков. Используется INT 13h для обращения к диску. Значение данного поля имеет смысл только для загрузочного устройства
2 0x25 1 байт 0x00 Зарезервировано. Для FAT16 значение этого поля всегда равно 0
3 0x26 1 байт 0x29 Сигнатура расширенного загрузочного сектора. Для Windows 2000 это поле должно иметь значения 0x28 или 0x29
4 0x27 4 байт 0xA88B3652 Серийный номер тома. Случайное число, генерируемое при форматировании диска
5 0x2B 11 байт NO NAME Метка тома. В Windows 2000 метка тома хранится в специальном файле
6 0x36 2 х LONG FAT16 Тип файловой системы. В зависимости от формата диска это поле может содержать символы FAT, FAT12 или FAT16



рис. 4


Загрузочный сектор FAT32

Загрузочный сектор FAT32 имеет много общего с загрузочным сектором FAT16, но BPB содержит дополнительные поля, а те поля, которые используются в FAT16, находятся по другим адресам. Таким образом, диски, отформатированные под FAT32, не могут быть прочитаны операционными системами, несовместимыми с FAT32.

В табл. 9 показано содержимое загрузочного сектора для файловой системы FAT32.

Смещение​

1 0x00 3 байт Инструкция JMP
2 0x03 2 x LONG OEM ID
3 0x0B 25 байт BPB
4 0x24 26 байт Расширенный BPB
5 0x3E 448 байт Загрузочный код
6 0x01FE 2 байта Маркер конца сектора (0x55AA)


  • байты 0x00-0x0A содержат инструкцию JMP и OEM ID (выделены шрифтом);
  • байты 0x0B-0x59 содержат BPB и расширенный BPB;
  • остальные байты содержат код загрузки и маркер конца сектора (выделены шрифтом).

Смещение​

Значение​

Описание​

1 0x0B 2 байт 0x0002 Число байт в секторе - размер сектора. Допустимы следующие значения: 512, 1024, 2048 и 4096. Для большинства дисков значение этого поля равно 512
2 0x0D 1 байт 0x40 Число секторов в кластере. Так как FAT32 поддерживает ограниченное число кластеров (до 4 294 967 296), тома очень большого объема требуют использования большего числа секторов в кластере. Значение этого поля по умолчанию зависит от размера тома. Допустимы следующие значения: 1, 2, 4, 8, 16, 32, 64 и 128. В Windows 2000 для FAT32 поддерживаются тома максимальным объемом до 32 Гбайт. Тома большего объема, созданные с помощью Windows 95 OSR2 и Windows 98, доступны из Windows 2000
3 0x0E 2 байта 0x0200 Зарезервированные сектора - число секторов перед первой таблицей FAT, включая загрузочный сектор. Значение этого поля для FAT32 обычно равно 32
4 0x10 1 байт 0x02 Число копий таблиц FAT для данного тома. Значение этого поля всегда равно 2
5 0x11 2 байт 0x0000 Общее число 32-байтовых имен файлов и каталогов, которые могут храниться в корневом каталоге тома (только для FAT12/FAT16). Для томов FAT32 значение этого поля должно быть равно 0
6 0x13 2 байт 0x0000 Число секторов в томе, выраженное 16-битовым значением (только для FAT12/FAT16). Для томов FAT32 значение этого поля должно быть равно 0
7 0x15 1 байт 0xF8 Тип носителя. Значение 0xF8 указывает на жесткий диск, 0xF0 - на флоппи-диск высокой плотности. Данное поле не используется в Windows 2000
8 0x16 2 байт 0x0000 Число секторов в каждой копии FAT (только для FAT12/FAT16). Для томов FAT32 значение этого поля должно быть равно 0
9 0x18 2 байт 0x3F00 Число секторов в дорожке. Используется для низкоуровневого форматирования дисков
10 0x1A 2 байт 0xFF00 Число головок. Используется для низкоуровневого форматирования дисков
11 0x1C 4 байт 0xEE39D700 Число «скрытых» секторов - число секторов перед загрузочным сектором. Используется во время загрузки для вычисления абсолютного смещения корневого каталога и данных
12 0x20 4 байт 0x7F324E00 Число секторов в томе, выраженное 32-битовым значением. Используется для томов, имеющих более 65 536 секторов
13 0x24 4 байт 0x83130000 Число секторов в FAT (только для FAT32)
14 0x28 2 байт 0x0000 Расширенные флаги (только для FAT32). Отдельные биты этого слова имеют следующее назначение: биты 0-3 - число активных FAT; биты 4-6 - зарезервированы; бит 7 - равен 0, если выполняется «зеркалирование» FAT; равен 1, если активна только одна FAT; биты 8-15 - зарезервированы
15 0x2A 2 байт 0x0000 Версия файловой системы (только для FAT32)
16 0x2C 4 байт 0x02000000 Номер кластера для первого кластера корневого каталога (только для FAT32). Обычно значение этого поля равно 2
17 0x34 2 байт 0x0600 Номер сектора с резервной копией загрузочного сектора (только для FAT32). Обычно значение этого поля равно 6
18 0x36 12 байт 0x000000000000000000000000 Зарезервировано (только для FAT32)

0x00 3 байт Инструкция JMP 2 0x03 2 x LONG OEM ID 3 0x0B 25 байт BPB 4 0x24 48 байт Расширенный BPB 5 0x54 426 байт Код загрузки 6 0x01FE 2 байт Маркер конца сектора (0x55AA)

табл. 12.​


Для томов NTFS поля, следующие за BPB, представляют собой расширенный блок BPB. Содержащиеся здесь данные помогают NTLDR найти во время загрузки таблицу MFT. В отличие от FAT16 и FAT32 MFT не располагается в каком-то фиксированном месте - ее местоположение может изменяться, например при обнаружении дефектных секторов. Если MFT не может быть найдена, Windows 2000 предполагает, что диск неотформатирован.

На рис. 6 показан загрузочный сектор тома NTFS, созданного средствами Windows 2000.


рис. 6


Здесь можно выделить три секции:
  • байты 0x00-0x0A содержат инструкцию JMP и OEM ID (выделены шрифтом);
  • байты 0x0B-0x53 содержат BPB и расширенный BPB;
  • остальные байты содержат код загрузки и маркер конца сектора (выделены шрифтом).
В табл. 13 представлены поля BPB и расширенного BPB для томов NTFS. Поля со смещениями 0x0B, 0x0D, 0x15, 0x18, 0x1A и 0x1C идентичны полям для томов FAT16 и FAT32. Приведенные значения соответствуют загрузочному сектору, показанному на рис. 6 .

Смещение​

Значение​

Описание​

1 0x0B 2 байт 0x0002 Число байтов в секторе
2 0x0D 1 байт 0x08 Число секторов в кластере
3 0x0E 2 байт 0x0000 Зарезервированные сектора
4 0x10 3 байт 0x000000 Всегда 0
5 0x13 2 байт 0x0000 Не используется в NTFS
6 0x15 1 байт 0xF8 Тип носителя
7 0x16 2 байт 0x0000 Всегда 0
8 0x18 2 байт 0x3F00 Число секторов на дорожке
9 0x1A 2 байт 0xFF00 Число головок
10 0x1C 3 байт 0x3F000000 Число “скрытых” секторов
11 0x20 4 байт 0x00000000 Не используется в NTFS
12 0x24 4 байт 0x80008000 Не используется в NTFS
13 0x28 2 x LONG 0x4AF57F0000000000 Общее число секторов
14 0x30 2 x LONG 0x0400000000000000 Номер логического кластера для файла $MFT
15 0x38 2 x LONG 0x54FF070000000000 Номер логического кластера для файла $MFTMirr
16 0x40 4 байт 0xF6000000 Число секторов в сегменте файловой записи
17 0x44 4 байт 0x01000000 Число кластеров в индексном блоке
18 0x48 2 x LONG 0x14A51B74C91B741C Серийный номер тома
19 0x50 4 байт 0x00000000 Контрольная сумма

Проблемы с загрузкой ОС – явление, широко распространенное среди пользователей Windows. Происходит это по причине повреждения средств, отвечающих за запуск системы – главной загрузочной записи MBR либо особого сектора, в котором содержатся файлы, необходимые для нормального старта.

Как уже было сказано выше, существует две причины неполадок при загрузке. Далее поговорим о них подробнее и постараемся решить данные неполадки. Делать это мы будем с помощью консоли восстановления, которая содержится на установочном диске Windows XP. Для дальнейшей работы нам необходимо загрузиться с этого носителя.

Если у Вас в наличии только образ дистрибутива, то сначала нужно будет записать его на флеш-накопитель.

Восстановление MBR

MBR обычно записана в самой первой ячейке (секторе) на жестком диске и содержит небольшой кусок программного кода, который при загрузке выполняется первым и определяет координаты загрузочного сектора. Если запись повреждена, то Windows не сможет стартовать.



Загрузочный сектор

Загрузочный сектор в Windows XP содержит загрузчик NTLDR , который «срабатывает» после MBR и передает управление уже непосредственно файлам операционной системы. Если данный сектор содержит ошибки, то дальнейший старт системы невозможен.



Восстановление файла boot.ini

В файле boot.ini прописан порядок загрузки операционной системы и адрес папки с ее документами. В том случае, если данный файл поврежден или нарушен синтаксис кода, то Windows не узнает, что ей нужно запуститься.



Перенос загрузочных файлов

Кроме boot.ini за загрузку операционной системы отвечают файлы NTLDR и NTDETECT.COM . Их отсутствие делает загрузку Windows невозможной. Правда, эти документы есть на установочном диске, откуда их можно просто скопировать в корень системного диска.



Все произведенные нами действия для восстановления загрузки должны привести к требуемому результату. Если все же не удалось запустить Windows XP, то, скорее всего, придется воспользоваться переустановкой. «Переставить» Виндовс можно с сохранением пользовательских файлов и параметров ОС.

Какой бы продвинутой ни была операционная система, ее загрузка невозможна без наличия двух секторов на жестком диске, которые содержат код, необходимый для запуска любой операционной системы. Первый сектор называется Master Boot Record (MBR); он всегда располагается по адресу: сектор 1/цилиндр 0/головка1 и является самым первым сектором жесткого диска. Вторым важнейшим сектором является Boot Sector (загрузочный сектор), расположенный в первом секторе каждого тома.

Master Boot Record

Master Boot Record является самой важной структурой диска; этот сектор создается при разбиении диска на разделы. В секторе MBR расположены небольшой код, называемый Master Boot Code, а также сигнатура диска и таблица разделов. В конце сектора MBR располагается двухбайтовая структура, указывающая на конец сектора. Она имеет значение 0x55AA. Сигнатура диска - это уникальное число, расположенное по смещению 0x01B8 и позволяющее операционной системе однозначно определить данный диск.

Код, находящийся в секторе MBR, выполняет следующие действия:

  • ищет активный раздел в таблице разделов;
  • ищет начальный сектор активного раздела;
  • загружает копию загрузочного сектора из активного раздела в память;
  • передает управление исполняемому коду из загрузочного сектора.

Если эти функции по какой-то причине не удается завершить, то выдается одно из следующих системных сообщений об ошибке:

  • Invalid partition table;
  • Missing operating system.

Отметим, что для гибких дисков не существует понятия MBR. Загрузочным сектором является первый сектор на диске. Также следует помнить, что каждый жесткий диск содержит сектор MBR, но загрузочный код используется только на дисках, имеющих активный первичный раздел.

Таблица разделов

Таблица разделов - это 64-байтовая структура, используемая для определения типа и местоположения разделов на жестком диске. Содержимое данной структуры унифицировано и не зависит от операционной системы. Информация о каждом разделе занимает 16 байт - таким образом, на диске может быть не более четырех разделов.

Информация о каждом разделе начинается с определенного смещения от начала сектора, как показано в табл. 1 .

Отметим, что под управлением MS-DOS доступны только тома с полем System ID, которое равно 0x01, 0x04, 0x05 или 0x06. Но тома с другим System ID этого поля могут быть удалены с помощью утилиты FDISK.

Поля Cylinder, Head и Sector

Поля Starting Cylinder, Ending Cylinder, Starting Head, Ending Head, Starting Sector и Ending Sector (общее название - CHS) являются дополнительными элементами таблицы разделов. Загрузочный код использует значения этих полей для нахождения загрузочного сектора и его активизации. Поля Starting CHS неактивных разделов указывают на загрузочные сектора первичных разделов и на расширенный загрузочный сектор первого логического диска в расширенном разделе.

Если у вас при включении компьютера не загружается Windows, процесс зависает на черном экране, то может быть повреждена загрузочная запись жесткого диска (MBR).

Внешние проявления

При появлении ошибки на экране сомнения пропадают.

Может выдаваться и иная информация о неисправности загрузчика HDD.

Текстовая информация может быть разная в зависимости от классификации ошибки. Но когда упоминается слово boot, то ясно, что с загрузкой непорядок.

Как восстановить MBR, доведаетесь на этой странице.

Причины

Обратите внимание на распространенные причины неисправностей загрузочного сектора HDD.

Два типа загрузчика

На старых системах до Windows XP использовался загрузчик NT Loader (NTLDR). В Windows 7, Vista и последующих версиях ОС стал применяться UEFI и EFI. Поэтому старые и новые системы на одном ПК, обычно, не ставят. В ином случае NTLDR затирает UEFI.

Сторонний софт

Ошибки в загрузочном секторе HDD могут происходить при использовании даже популярных программ для раздела винчестера. У меня такое случалось с Acronis. Такое бывает потому, что подобный софт заменяет драйвера загрузки дисков своими. Это способно испортить исходную запись MBR. Поэтому лучше пользуйтесь встроенными методами раздела жесткого диска от Windows.

Вирусы

Свои «порядки» в MBR иногда наводят вирусы. Следовательно, после восстановления загрузки HDD проверьте компьютер антивирусными программами.

Если вы уверены, что причина в вирусах, то очистите от них ПК еще до ремонта MBR. Для этого существуют утилиты известных антивирусных компаний, например — Kaspersky Rescue Disk. Их предоставляют бесплатно на официальных сайтах с инструкциями по применению.

Любая из таких программ входит в комплект софта для CD или DVD, который позволяет загружаться с компакт-диска, находить и удалять вирусы на HDD.

Восстановление загрузки Windows 7

Ремонт сектора выполняется с компакт-диска или с USB-флеш-накопителя с установочным пакетом операционной системы.

  1. Сначала вставляете DVD в дисковод или флеш-накопитель в USB-разъем с дистрибутивом Windows.
  2. Затем нужно разрешить запуск с данных устройств. Делается это в настройках BIOS.

Изменение источников загрузки

Технология следующего порядка:



Обязательно при выходе нажимаете F10, иначе изменения не сохранятся!

Работа с компакт-диска или флеш-устройства

Действуете в следующем порядке:



Если исправления не помогли

Имеется еще одна команда реанимации MBR — bootsect /NT60 SYS . После нее пробуйте снова загрузиться.

В случае неудачной попытки пишите в командной строке так: bootsect /rebuildbcd. Произойдет поиск операционных систем, установленных на ПК.

Теперь снова попытайтесь зайти в Windows. Обратите внимание, что в списке систем сейчас будет на одну больше. Пробуйте зайти в каждую из них. Должно получиться!

Нестандартный способ

Если не спасли все варианты восстановления сектора, то рекомендуется переустанавливать Windows. А как ни хочется иногда это делать! Ведь правда?

Я тоже так подумал и решил поставить рядом еще одну маленькую систему. Что означает «маленькую»? Это система-загрузчик. Она пустая: я не ставил на нее драйвера и свои программы, потому что в ней не работаю. Но зато она загружается!

То, что было нужно, я добился: на винчестере появился рабочая загрузочная область. Теперь в прежнюю систему я нормально захожу. Недостаток в том, что потерял около 14 Гб места на диске. Если вам это не страшно, можете взять такой способ на вооружение !

Как исправить сектор в Windows 8-10 и Vista?

Для Vista и более поздних версий Windows подходят те же методы, что и для «семерки», отличается лишь дизайн. Например, в «восьмерке» он такой.