Как восстановить загрузочный сектор windows 7. Загрузочный сектор

Новая ОС Windows 10 от компании Microsoft уже завоевала популярность среди миллионов пользователей ПК во всем мире. Но, как и все новые продукты, Windows 10 не лишена изъянов. У многих пользователей этой ОС наблюдаются проблемы с загрузчиком . Наиболее часто такая проблема происходит из-за новой политики обновления операционной системы.

Сейчас в Windows 10 нельзя отключить обновления, как это было в Windows 7 и XP.

Сама же проблема с загрузчиком проявляется, когда пользователь не дожидается окончания обновления системы и выключает его кнопкой POWER.

После того, как пользователь снова включает компьютер, он встречает такое сообщение на экране своего монитора.

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

Самый простой способ восстановления

Увидев сообщение о неисправности загрузчика, первым делом у пользователя ПК возникает вопрос - как восстановить загрузчик Windows 10. В этом примере мы опишем самый простой способ его восстановления. Для этого примера нам понадобится .

Если у вас нет этого диска и доступа в Интернет, то можете сделать его на другом компьютере с этой же ОС.

Также для этой задачи можно использовать оригинальный установочный диск с Windows 10. Ну что ж, приступим. Вставим диск восстановления в привод и загрузимся с него при старте компьютера.

В первом окне мастера диска восстановления необходимо указать раскладку клавиатуры , после чего откроется меню мастера.

В этом окне мы выберем вторую вкладку «Поиск и устранение неисправностей » и сразу перейдем на следующую «».

В дополнительных параметрах нас интересует вкладка «». После перехода по этой ссылке мастер попросит выбрать ОС для восстановления ее запуска.

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

Если с помощью этого способа вам не удастся вернуть работоспособность Windows 10, то в следующих примерах мы опишем подробный процесс восстановления загрузочного сектора с помощью системных утилит DiskPart и BCDboot .

Восстановление загрузчика Windows 10 с помощью командной строки

Для этого способа нам также потребуется диск восстановления Windows 10 . Загрузимся с диска, как и в предыдущем примере до пункта «». В этом меню нас интересует вкладка «», по которой мы и перейдем.

Первым делом мы запустим в командной строке консольную утилиту DiskPart . Для этого в консоли введем команду diskpart

Эта утилита необходима нам для вывода информации обо всех локальных дисках в системе . Теперь нам нужно найти номер раздела загрузчика. Обычно это скрытый раздел, занимающий 500 МБ. Создается этот раздел автоматически инсталлятором Windows 10. Далее для его поиска в DiskPart мы введем команду list volume

Из изображения видно, что раздел с загрузочной записью находится в первом томе на диске C. Также на изображении видно, что сама Windows 10 установлена на диск D. Теперь мы должны выйти из дисковой программы. Сделать это можно командой exit

После выхода из DiskPart введем команду bcdboot.exe D:\Windows Также обратите внимание, что в команде используется диск D, так как именно на него установлена десятка.

Эта команда полностью восстановила загрузочные файлы десятки. Принцип работы этой команды заключается в использовании утилиты BCDboot . Разработчики специально создали эту утилиту для работы с загрузочными файлами Windows . Также стоит отметить, что благодаря этой же утилите инсталлятор Windows создает скрытый раздел и копирует на него загрузочные файлы .

Восстановление загрузчика Windows 10 с помощью командной строки (Способ второй)

Во втором способе мы также воспользуемся утилитами DiskPart и BCDboot и попробуем перезаписать загрузчик. Для этого запустим DiskPart и узнаем, на каком диске находится наш скрытый раздел и раздел, на котором установлена Windows 10. Запуск этой утилиты описан выше.

Теперь нам нужно отформатировать скрытый раздел, который находиться в первом томе. Для этого наберем команду select volume 1 которая выберет наш скрытый зашифрованный раздел размером в 500 МБ.

Дальнейшим действием будет форматирование выбранного раздела. Это делается для того, чтобы стереть все файлы с него. Для этой операции введем команду в консоли format fs=FAT32

После форматирования нашего раздела выйдем из дисковой утилиты и введем новую команду bcdboot.exe D:\Windows которую вводили в предыдущем примере.

Эта команда не исправит файлы загрузчика, как в предыдущем примере, а создаст новые . Как вы уже поняли, этот способ используется, если не сработал первый.

Еще один способ восстановления загрузки Windows 10 с помощью командной строки

Для этого способа нужна утилита Bootrec . В отличие от предыдущей утилиты эта утилита не восстанавливает файлы загрузчика, а восстанавливает загрузочную запись . То есть она восстанавливает MBR - первый сектор на HDD. Для операционной системы очень важно, чтобы MBR был в целости и сохранности. При старте компьютера его BIOS первым делом ищет MBR для осуществления с него запуска операционной системы. Для этого примера запустим, как и в предыдущих примерах, командную строку. В рассматриваемой утилите есть две основные команды /FixMbr и /FixBoot Первая команда необходима для исправления MBR , а вторая создает новый . Первым делом рассмотрим ситуацию, когда у нас поврежден MBR. Для этого в консоли введем первую команду.

На изображении выше видно, что операция прошла успешно, а это значит, что MBR восстановлен.

Теперь рассмотрим ситуацию, когда первый способ не срабатывает, то есть мы создадим новый сектор MBR. Для этого воспользуемся второй командой.

Из изображения выше видно, что новый сектор MBR создан успешно.

Из примеров видно, как легко восстановить сектор MBR с помощью консольной утилиты Bootrec. Если у вас проблема со старто м Windows 10, то советуем воспользоваться этим примером в первую очередь.

Чистим систему от вредоносного программного обеспечения до восстановления загрузчика

Если причиной поломки загрузчика является вредоносная программа, то этот вредоносный код необходимо удалить до восстановления . В этой ситуации вам поможет . Это аварийный диск, который обладает множеством средств для восстановления компьютера, а также лечения его от вирусов . Загрузить Dr.Web LiveDisk можно на его официальном сайте www.drweb.ru. Этот Live CD основан на linux и является бесплатным. Этот диск распространяется как образ ISO, который можно записать, как на оптический диск, так и на USB-флешку. После записи образа на диск запустим Dr.Web LiveDisk.

В стартовом меню выберем первый пункт и продолжим загрузку Dr.Web LiveDisk. После нескольких секунд должна запуститься ОС, основанная на Linux, которая собственно и представляет собой Dr.Web LiveDisk.

В этой операционной системе вы сможете полностью очистить компьютер от вирусов и даже сделать бекап всей информации.

Также полезным будет тот факт, что в этой ОС есть полная поддержка интернета и встроенный браузер Firefox .

Подводим итог

В заключение хочется сказать, если вы будете знать все тонкости восстановления загрузчика, то вы сможете быстро починить свой компьютер. Также стоит обратить внимание на ситуацию, когда восстановить загрузочный сектор и сам загрузчик невозможно. В этом случае надо перестраховаться и воспользоваться средствами полного восстановления системы. Такими средствами являются полной образ системы , создающийся средствами самой ОС Windows 10, а также такая программа, как Acronis True Image . Надеемся, что наш материал поможет вам восстановить загрузчик с MBR, и компьютер будет функционировать, как и прежде.

Видео по теме

Как восстановить загрузочный сектор hdd

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

Active File Recovery;

EASEUS Partition Master.

И это, безусловно, далеко не всё, но данные программы наиболее часто справляются с поставленной задачей, и пользуется хорошими отзывами среди пользователей. Увы и это не всегда способно, как можно скорее восстановить загрузочный сектор hdd, могут возникнуть проблемы с определением типа файловой системы либо не будет видно наличие данного сектора.

Данный способ подойдёт для тех, кому не важна информация на носителе и важно, как можно быстрее восстановить загрузочный сектор hdd. После этой процедуры, в 80% случаев работа полностью восстанавливается. Но к этому методу чаще прибегают уже в самом крайнем случаи, т.к. данные на диске всё же почти для всех играют важную роль, особенно если это рабочий компьютер.

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

Рассмотрим данный способ по пунктам:

1) Находим Create a new log file, если нужно вводим лог.

3) Следующее действие, выбор типа раздела среди Intel, Sun, Mac и т.д.

4) После этого открываются возможные операции, которые можно проделать с диском. ВыбираемAnalyse.

6) Выбор геометрии на диске

7) Финальные шаги в разделе «Master Boot Record», отвечает за перезагрузку сектора. Нужно выбрать повреждённый диск, после проверить секторы, провести перезапись MBD.

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

Второй способ применение на Windows

По разным причинам первый вариант может не сработать, и вопрос как восстановить свой загрузочный сектор hdd3 остаётся открытым. Чтобы понять сам процесс восстановления рассмотрим детальнее, что такое MBR.

MBR- это самый первый сектор, который встречается на диске, в нём имеется специальная таблица с разделами, и загрузочная программа, она считывает данные и их путь, начиная от жёсткого диска, и заканчивая разделом установленной операционной системы.

1) Для начала нужно включить компьютер и выбрать загрузку с установочного диска либо USB-накопителя, нажать любую клавишу и в окне установки Windows выбрать «Восстановление системы», в случае обнаружения проблемы нажимаем исправление и перезагрузка.

2) Если это не помогло загрузочному сектору, вновь открываем «восстановление системы» и выбираем пункт «далее», в командной строке пишем bootrec/fixmbr. Данная команда проведёт совместимость главной загрузочной записи и решит проблему её повреждения. Но в таблице разделов ничего не изменится.

3) Выбиваем следующую команду bootrec/fixboot, это действие производит запись нового загрузочного сектора, который будет совместим с Windows. Нажимаем «выход» и перезагружаем компьютер.

В целом, это должно сработать! Но как показывает практика, восстановить загрузочный сектор hdd бывает не так уж и просто, и на этот случай есть ещё способы и команды:

1) Команда bootrec/ScanOs, делает полное сканирование и поиск операционных систем, в случаи нахождения, на экране это будет видно.

2) bootrec/RebuildBcd служит для добавления в общее меню загрузок найденной Windows, комбинация Y и enter завершит процесс добавки.

Если и это не произвело нужного эффекта, команда, как bootsect/NT60 SYS в индивидуальном случае может восстановить загрузочный сектор hdd, при помощи обновления основного загрузочного кода. После чего нужно нажать «выйти» и перезагрузить компьютер.

Загрузчик Windows 7 перестает работать по многим причинам - при повреждении boot.ini или попытке установить XP вместе с «Семеркой», после чего последняя не хочет грузиться. Это происходит из-за того, что XP производит переписывание загрузочной записи MBR Windows 7. Обычно восстановление загрузчика Windows 7 осуществляется стандартными средствами системы. Можно использовать и другое средство, например, Bootice.

Самый простой способ восстановления загрузчика

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

  1. Компьютер автоматически попытается найти решение проблемы, о чем и уведомит вас в открывшемся окне.
  2. Если утилита восстановления справится с задачей, останется только перезагрузиться.

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

Редактируем boot.ini

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

Иногда boot.ini может быть испорчен вирусом или тому могла способствовать какая-нибудь программа, после чего ОС не запускается самостоятельно.

Исправить это просто - загрузитесь с LiveCD и отредактируйте boot.ini обычным блокнотом. Здесь всего два раздела - boot loader, управляющий загрузкой и operating systems. Следует запомнить значение нескольких параметров:

  • timeout=10 - время в секундах, в течение которого пользователь может выбрать ОС для запуска;
  • multi(0) и disk(0) - параметры, которые должны иметь нулевые значения;
  • rdisk(0) - номер диска с системным разделом (отсчет ведется с нуля).

В целом boot.ini с одной ОС должен выглядеть так, как на картинке.

Применяем возможности командной строки для восстановления сектора MBR

Попасть в режим командной строки можно с того же загрузочного диска или флешки, открыв средство восстановления системы и выбрав самый последний пункт «Командная строка».

  1. Введите команду Bootrec и нажмите после этого Enter, появится полный список возможностей
  2. Запишите сектор MBR, для чего есть команда Bootrec.exe /FixMbr;
  3. Об успешном завершении операции после нажатия Enter компьютер оповестит пользователя в следующей строчке;
  4. Далее проведите процедуру записи нового сектора загрузки, для чего введите Bootrec.exe /FixBoot;
  5. Останется только ввести Exit и попытаться перезагрузить компьютер.
  1. Войдите в командную строку с установочного диска или флешки;
  2. Введите Bootrec /ScanOs, после чего утилита просканирует компьютер на предмет наличия операционной системы;
  3. Напишите в следующей строке команду Bootrec.exe /RebuildBcd, программа вам предложит внести в меню запуска все найденные версии Windows, включая XP и др.;
  4. Останется с этим согласиться, нажав последовательно Y и Enter, после чего при загрузке системы вы будете иметь выбор, какую из ОС загрузить - XP или семерку.

Устранить проблему с MBR можно и еще одной командой. Для этого в командной строке нужно ввести bootsect /NT60 SYS, затем Enter. Введите для выхода Exit. В результате основной загрузочный код обновится, а ваши системы появятся в списке во время загрузки.

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

BOOTMGR is missing

Такое сообщение на черном экране компьютер обычно выдает при повреждении или удалении сектора MBR. Причина может быть и не связана с MBR, например, если BIOS слетели настройки вкладки Boot и система пытается загрузиться не с того диска. Но чаще бывает виноват именно загрузчик, поэтому опишем, как осуществить восстановление загрузки Windows 7.

На диске с Windows 7 всегда имеется небольшой 100-мегабайтовый зарезервированный скрытый раздел, для записи загрузочных файлов ОС, в том числе и поврежденный BOOTMGR. Можно просто скопировать BOOTMGR с установочного носителя и записать в этот раздел. Для этого:

  1. Зайдите в командную строку с диска восстановления.
  2. Введите последовательно команды diskpart и list volume, после чего на экране появится список ваших дисков и буквы, которые система присвоила каждому из них. Нас интересует зарезервированный раздел 100 Мб и оптический дисковод - диски C и F соответственно, как на картинке.
  3. Для выхода введите Exit и нажмите Enter.

Введите букву установочного диска с двоеточием и команду скопировать загрузчик bootmrg в зарезервированный раздел. Это будет выглядеть так:

  • F: и далее Enter;
  • copy bootmgr C:\ и нажмите Enter;
  • Exit, утилита завершит работу.

Если копирование в скрытый раздел не удастся, то хранилище загрузки можно полностью перезаписать. Восстановление загрузчика Windows 7 производится командой bcdboot.exe N:\Windows, где N - буква диска с ОС. После того, как будет сообщено, что файлы созданы успешно, можно покинуть средство командой Exit и перезагрузить компьютер.

  • запишите в командной строке строчку diskpart, которой вызывается утилита;
  • для отображения всех имеющихся физических дисков напишите list disk;
  • выбирается нужный диск командой sel disk 0, где 0 - номер единственного установленного HDD;
  • для отображения всех разделов винчестера введите list partition;
  • для выбора зарезервированного раздела запишите команду sel part 1, где 1 - номер раздела;
  • сделайте его активным, введя active;
  • выйдите из приложения, написав exit.

В крайнем случае можно полностью вручную удалить и отформатировать раздел системы, произведя запуск с какого-нибудь LiveCD, а затем командой bcdboot.exe создать сектор заново.

Используем Bootice

Если Windows XP была установлена после «Семерки», из-за перезаписанного сектора MBR запускается только XP и у вас нет возможности выбора системы после того, как вы включите компьютер. Вместе с тем, обе системы полностью исправны, а вернуть меню запуска можно очень легко, для чего используется утилита Bootice:


В новом окне Bootice слева вы увидите список загрузки ОС, в который и нужно будет добавить к Windows XP отсутствующую «Семерку»:

  • нажмите «Добавить»;
  • в открывшемся списке выберите строчку новой записи Windows 7;
  • в правой стороне в верхнем поле для ввода выберите жесткий диск;
  • в поле ниже укажите раздел с «Семеркой»;
  • нажмите на сохранение основных настроек.

Программа уведомит вас об успешном изменении данного элемента в Boot и из Bootice можно будет выйти. Когда вы в следующий раз включите компьютер, уже можно будет выбрать, какую ОС загружать с жесткого диска - Windows 7 или XP.

Пожаловаться на контент


  • Нарушение авторских прав Спам Некорректный контент Сломанные ссылки


  • Отправить

    Иногда бывает так что из-за криворукости, или вирусни на компьютере может слететь загрузочные сектора и, естественно, ОС WinXP не загружается, выдавая системное сообщение, что поврежден загрузчик Windows , или поврежден реестр Windows , или повреждены системные файлы, или и того хуже ничего не загружается кроме прописанной вирусом в ваш загрузочный сектор вирусной информации. При всем этом не получается выйти на точку восстановления, ни загрузить последний удачный конфиг, ни загрузиться в безопасном режиме. В большинстве случаев юзеры сразу пытаются переустанавливать винду, хотя, как правило, можно восстановить её работоспособность за 5-10 минут, воспользовавшись так называемой консолью восстановления.

    Для начала нужно иметь загрузочный диск/флешку с установочным пакетом Windows XP Pro.
    1. Затем зайти в биос (при включение компьютера нажимаете с периодичностью в полсекунды F2 или Del или F10 — в зависимости от производителя материнской платы)
    2. В BIOSе установить первичную загрузку с CD-ROM’а/Флешки , поставить диск в сдром или соответственно флешку в USB разъем. Перезагрузиться.
    3. Когда установщик Windows XP загрузит свои файлы в оперативную память ПК , появится диалоговое окно «Установка Windows XP Professional «, содержащее меню выбора, из которого нас интересует пункт

    Чтобы восстановить Windows XP с помощью консоли восстановления, нажмите R

    Нажмите R . Загрузится консоль восстановления. Если на компьютере установлена одна операционная система, и она (по умолчанию) установлена на диске C:, то появится следующее сообщение:

    1: C: \WINDOWS
    В какую копию Windows следует выполнить вход?

    Введите 1, нажмите Enter
    Появится сообщение:

    Введите пароль администратора:

    Введите пароль, нажмите Enter (если пароль пустой — просто нажмите Enter ).

    Появится приглашение системы:

    Введите fixboot

    Появится сообщение:

    Конечный раздел: C:.
    Хотите записать новый загрузочный сектор в раздел C:?

    Введите y (что означает ‘yes’).

    Появится сообщение:

    Файловая система в загрузочном разделе: NTFS (или FAT32 ).
    Команда FIXBOOT записывает новый загрузочный сектор.
    Новый загрузочный сектор успешно записан.

    На появившееся приглашение системы C:\WINDOWS>
    введите fixmbr

    Появится сообщение:

    **ПРЕДУПРЕЖДЕНИЕ**
    На этом компьютере присутствует нестандартная или недопустимая основная загрузочная запись. При использовании FIXMBR можно повредить имеющуюся таблицу разделов. Это приведет к утере доступа ко всем разделам текущего жесткого диска.
    Если отсутствуют проблемы доступа к диску, рекомендуется прервать работу команды FIXMBR .
    Подтверждаете запись новой MBR ?

    Введите y (что означает ‘yes’).

    Появится сообщение:

    Производится новая основная загрузочная запись на физический диск \Device\Harddisk0\Partition0.
    Новая основная загрузочная запись успешно сделана.

    На приглашение системы C: \WINDOWS>
    введите , войдите в BIOS Setup и поставьте первичную загрузку с жесткого диска или просто вытащите все загрузочные СД диски из компьютера.

    В 95% случаев таким образом удается восстановить работоспособность ОС Windows XP .

    ПРИМЕЧАНИЯ:
    1. Если Вы не знаете, что такое Реестр Windows и консоль восстановления, в подобных критических ситуациях — во избежание ухудшения ситуации! — не пытайтесь исправить все сами, — лучше обратиться за помощью к специалистам.

    2. Если на ПК установлено более одной ОС, не пользуйтесь рекомендациями этой статьи, — сразу обратитесь к специалистам!

    3. Рекомендации данной статьи — НЕ панацея! МОЖНО (но нужно ли, решайте сами!) воспользоваться ими, когда невозможно выйти на точку восстановления системы, ни загрузить последнюю удачную конфигурацию (ПК не грузится даже в безопасном режиме), и Вы уже собрались переустанавливать ОС.

    Какой бы продвинутой ни была операционная система, ее загрузка невозможна без наличия двух секторов на жестком диске, которые содержат код, необходимый для запуска любой операционной системы. Первый сектор называется 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 .

    Смещение​

    | |

    Значение​

    |

    Описание​

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

    Тип раздела​

    |

    Пояснения​

    0x01| Первичный раздел или логический диск FAT12. Том имеет менее 32 680 секторов
    0x04| Раздел или логический диск FAT16. Том имеет от 32 680 до 65 535 секторов, или размер от 16 до 33 Мбайт
    0x05| Расширенный раздел
    0x06| Раздел или логический диск BIGDOS FAT16. Размер от 33 Мбайт до 4 Гбайт
    0x07| Раздел или логический диск NTFS. Installable File System
    0x0B| Раздел FAT32 или логический диск
    0x0C| Раздел FAT32 или логический диск с использованием расширений BIOS INT 13h
    0x0E |Раздел BIGDOS FAT16 или логический диск с использованием расширений BIOS INT 13h
    0x0F| Расширенный раздел, использующий расширения BIOS INT 13h
    0x12| EISA-раздел
    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-го цилиндра, все поля таблицы разделов будут иметь максимально допустимые значения.

    Режим LBA​

    |

    Число головок​

    |

    Секторов/Дорожка​

    |

    Макс. размер раздела​

    Запрещен| 64| 32| 1 Гбайт
    Разрешен| 255| 63| 4 Гбайт


    Чтобы обойти описанное выше ограничение в 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 , повторяется для каждого логического устройства: первый элемент описывает загрузочный сектор логического устройства, второй элемент указывает на следующую расширенную загрузочную запись. Для последнего логического устройства элементы со второго по четвертый не используются.

    Элемент расширенной таблицы разделов​

    |

    Содержимое​

    Первый элемент| Информация о текущем логическом устройстве в расширенном разделе, включая начальный адрес для данных
    Второй элемент| Информация о следующем логическом устройстве в расширенном разделе, включая адрес сектора, содержащего EBR для следующего логического устройства. Это поле не используется, если нет следующих логических устройств
    Третий элемент| Не используется
    Четвертый элемент| Не используется


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

    Поле 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.

    Смещение​

    | |

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


    На конкретном примере показано содержимое загрузочного сектора FAT16. Здесь можно выделить три секции:
    • байты 0x00-0x0A содержат инструкцию JMP и OEM ID (выделены шрифтом);
    • байты 0x0B-0x3D содержат BPB и расширенный BPB;
    • остальные байты содержат код загрузки и маркер конца сектора (выделены шрифтом).
    В двух следующих таблицах показано содержимое BPB (табл. 7 ) и расширенного BPB (табл. 8 ) для FAT16. Приведенные значения соответствуют загрузочному сектору, показанному на рис. 4.

    Смещение​

    | |

    Значение​

    |

    Описание​


    0x0D| 1 байт| 0x40| Число секторов в кластере. Так как FAT16 поддерживает ограниченное число кластеров (до 65 536), тома большего объема требуют использования большего числа секторов в кластере. Значение этого поля по умолчанию зависит от размера тома. Допустимы следующие значения: 1, 2, 4, 8, 16, 32, 64 и 128. Значения, приводящие к увеличению размера кластера более 32 Кбайт (количество байт в секторе, умноженное на число секторов в кластере), могут служить источником ошибок
    0x0E| 2 байт| 0x0100| Зарезервированные сектора - число секторов перед первой таблицей FAT, включая загрузочный сектор. Значение этого поля всегда равно 1

    0x11| 2 байт| 0x0002| Общее число 32-байтовых имен файлов и каталогов, которые могут храниться в корневом каталоге тома. Обычно значение этого поля равно 512. Один элемент всегда используется для хранения метки тома, поэтому максимальное число файлов и каталогов не превосходит 511
    0x13| 2 байт| 0x0000| Число секторов в томе, выраженное 16-битовым значением. Для томов, имеющих более 65 536 секторов, это поле не используется и его значение равно 0

    0x16| 2 байт| 0xFC00| Число секторов в каждой копии FAT. Значение этого поля, число копий FAT и число зарезервированных секторов используются для вычисления местонахождения корневого каталога. Зная максимальное число элементов корневого каталога, можно также узнать, где начинаются пользовательские данные

    0x1A| 2 байт| 0x4000| Число головок. Используется для низкоуровневого форматирования дисков
    0x1C| 4 байт| 0x3F000000| Число “скрытых” секторов - число секторов перед загрузочным сектором. Используется во время загрузки для вычисления абсолютного смещения корневого каталога и данных
    0x20| 4 байт| 0x01F03E00| Число секторов в томе, выраженное 32-битовым значением. Используется для томов, имеющих более 65 536 секторов


    Смещение​

    | |

    Значение​

    |

    Описание​

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



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

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

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

    Смещение​

    | |

    Значение​

    |

    Описание​

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

    табл. 10.​


    Смещение​

    | |

    Значение​

    |

    Описание​

    0x40| 1 байт| 0x80| Физический номер устройства. Содержит значения 0x00 для флоппи-дисков и 0x80 для жестких дисков. Используется INT 13h для обращения к диску. Значение данного поля имеет смысл только для загрузочного устройстватабл. 12 0x0D| 1 байт| 0x08| Число секторов в кластере
    0x0E| 2 байт| 0x0000| Зарезервированные сектора
    0x10| 3 байт| 0x000000| Всегда 0
    0x13| 2 байт| 0x0000| Не используется в NTFS
    0x15| 1 байт| 0xF8| Тип носителя
    0x16| 2 байт| 0x0000| Всегда 0
    0x18| 2 байт| 0x3F00| Число секторов на дорожке
    0x1A| 2 байт| 0xFF00| Число головок
    0x1C| 3 байт| 0x3F000000| Число “скрытых” секторов
    0x20| 4 байт| 0x00000000| Не используется в NTFS
    0x24| 4 байт| 0x80008000| Не используется в NTFS
    0x28 |2 x LONG| 0x4AF57F0000000000| Общее число секторов
    0x30| 2 x LONG| 0x0400000000000000| Номер логического кластера для файла $MFT
    0x38| 2 x LONG| 0x54FF070000000000| Номер логического кластера для файла $MFTMirr
    0x40 |4 байт| 0xF6000000| Число секторов в сегменте файловой записи
    0x44| 4 байт | 0x01000000| Число кластеров в индексном блоке
    0x48| 2 x LONG| 0x14A51B74C91B741C| Серийный номер тома
    0x50| 4 байт| 0x00000000| Контрольная сумма