что включает в себя mbr
Все, что вы хотели знать про загрузку Windows, загрузчики и восстановление загрузки ОС
В этой статье я не планирую подробно рассказывать обо всех типах загрузчиков, но хочу свести воедино всю необходимую информацию, которую нужно знать для создания загрузочных дисков, флэшек, а также для восстановления загрузчиков.
Принципы загрузки операционных систем
При включении компьютера управление процессором получает BIOS, и если он настроен на загрузку (boot) с винчестера, то он подгружает в оперативную память компьютера первый сектор диска (MBR) и передает управление ему. Если у вас несколько жестких дисков, то каждый из них содержит свою MBR. В этом случае можно или менять порядок загрузки дисков в BIOS, или же прописать все операционные системы с разных дисков в один PBR загрузчик, об этом ниже.
Сразу оговоримся, что если у BIOS у вас включен режим загрузки UEFI, то структура разделов диска у вас должна быть не MBR, а GPT. GPT имеет не только другую структуру разделов, но и другую структуру загрузочной области. Там в первый сектор записывается «заглушка» для BIOS (Protective MBR), которая служит для того, чтобы старый Legacy BIOS мог загрузиться с GPT диска в режиме совместимости, если ОС была установлена на GPT (часто в BIOS его называют CSM – Compatibility Support Module). Однако, вы никогда не сможете загрузить ОС с MBR диска, если в BIOS выставлена загрузка в режиме UEFI.
При загрузке операционной системы, сначала считывается первый сектор с устройства загрузки, представляющий собой главную загрузочную запись (Master Boot Record — MBR). Стандартно, в качестве MBR выступает первый сектор загрузочного диска. MBR содержит список разделов, признак активного раздела (раздела, с которого будет выполняться загрузка ОС), некоторые служебные данные, а также программный код для считывания в память загрузочного сектора активного раздела (Partition Boot Record — PBR) и передачи ему управления.
Размер сектора на жестком диске — 512 байт. В секторе MBR хранятся данные, которые должны заканчиваться специальной сигнатурой. Этим словом называется специальная, строго установленная, последовательность из 2 байт с шестнадцатеричными значениями 55h AAh, которая записывается в последние 2 байта сектора и соответственно имеет смещение от начала сектора 1FEh. Если хотя бы один из двух последних байтов отличается по значению, считается, что первый сектор не является MBR и не содержит осмысленной информации. Если компьютер при старте, прочитав первый сектор, не обнаружит правильной сигнатуры, он не будет передавать управление располагающемуся там коду, даже если он правильный, а выдаст сообщение о том, что главная загрузочная запись не найдена.
Общая структура MBR может быть представлена следующей таблицей:
Смещение Длина Описание
000h 446 Код загрузчика
1BEh 64 Таблица разделов
1FEh 2 Сигнатура (55h AAh)
Длина указана в байтах.
Как видно, MBR может содержать информацию максимум о 4 разделах. Каждый 16-байтовый блок, содержащий информацию о разделах, в своем начале содержит признак активности раздела — т.е. признак того, что операционную систему следует загружать именно из этого раздела — может иметь значения 80h (раздел активен) и 00h (раздел не активен). Количество активных разделов должно быть не более одного.
Шестнадцатеричный однобайтовый код далее указывает на тип (ID) раздела. Например, 07h – раздел типа NTFS, 0Bh – FAT32, 17h – скрытый NTFS раздел, 27h – системный скрытый NTFS раздел для восстановления системы.
Типы MBR
Выше мы увидели, что в сектор MBR записывается код загрузчика. Что же это? Дело в том, что в MBR может быть записан как «стандартный» загрузчик, так и альтернативные загрузчики.
Существуют следующие распространенные типы MBR:
Конечно, с учетом многообразия ОС, существует масса других MBR, но они не так популярны.
Операционные системы дружат только с определёнными типа загрузчиков, однако это не значит, что их нельзя модифицировать для поддержки других ОС. Так, в Windows MBR можно добавить информацию о Linux разделе, но этого недостаточно, чтобы Linux стал грузиться. Для этого также потребуется редактировать и PBR. Однако линуксовый LDLINUX.SYS требует наличия своего микрокода в MBR, чтобы обращаться к нему в процессе загрузки, то есть если у вас загрузочная запись Windows NT MBR, а загрузчик GRUB, то такая схема работать не будет. Виндовсовые загрузчики могут обойтись без наличия соответствующего микрокода в MBR, поэтому они могут грузиться и через GRUB MBR.
Главное, что вам нужно понять, что MBR содержит микрокод, инструкции для процессора, а не файлы. PBR же указывает на загрузчик, который является файлом.
Разнообразие PBR
Мы с вами выяснили, что MBR передает управление на активный раздел с PBR. PBR (Partition Boot Record), так же называют volume boot record (VBR) – это микрокод в начальном секторе раздела диска (часто это сектор 63), который содержит информацию, какой же загрузчик искать.
Существуют следующие загрузчики:
Тип MBR — NT 5.x/6.x, 1 сектор
Тип MBR — Grub4DOS, 18 секторов
Тип MBR — LILO/GRUB и др. линуксовые (к-во секторов зависит от версии и количества файлов)
Как я сказал выше, загрузчик является не загрузочной областью, а бинарным файлом.
Например, типичные пример создания мультизагрузочной флэшки – Multiboot USB 2k10, создаваемые уважаемыми conty9 & korsak7. Мультизагрузочный диск системного администратора с возможностью загрузки c CD/DVD, флешки, USB-HDD и обычного HDD и состоящий из нескольких Windows PE-сборок, а также DOS версий продуктов компании Acronis – например Acronis True Image (выполнены на Linux-ядре). Именно из-за этого смешанного зоопарка систем и приходится использовать загрузчик Syslinux (хотя можно и Grub4DOS).
В своем арсенале вам необходимо обязательно иметь утилиту BootICE. Уникальная в своём роде утилита для изменения или бэкапа/восстановления MBR (Master Boot Record) или PBR (Partition Boot Record). С BOOTICE, вы можете легко изменять тип MBR/PBR. Поддерживается загрузочные записи: Grub4DOS, SysLinux, PLoP, MS NT52/60… Например, с помощью этой утилиты, вы можете установить Grub4DOS вашим MBR или PBR, установить NTLDR или BOOTMGR к вашему PBR, установить SYSLINUX на PBR, и так далее.
Редактирование и установка MBR
Редактирование и установка загрузчика
Установка MBR GRUB4DOS
Помимо работы с MBR и PBR, BootICE позволяет редактировать разделы диска, выполнять ручное разбиение и форматирование, модифицировать тип раздела, сохранять и восстанавливать из бэкапа таблицу разделов.
Работа с таблицей разделов в BootICE
Кратко о загрузчике Syslinux
Итак, Syslinux состоит из файла загрузчика и файла конфигурации меню syslinux.cfg. Файл меню может вызывать графическое меню через подгрузку файла vesamenu.c32.
Установка Syslinux под Windows на другой диск выполняется достаточно просто: используется файл «[bios/]win32/syslinux.exe» для 32-х битных систем и «[bios/]win64/syslinux64.exe» для 64-х битных систем.
syslinux.exe —install a: — установка на флоппи-диск
syslinux.exe —mbr —active —directory /boot/syslinux/ —install z: — установка на диск z:, например флешку, где
— в качестве разделителей должны быть использованы именно /, а не \
— в каталоге z:\boot\syslinux\ будет размещён файл-загрузчик «ldlinux.sys»
— и раздел z: помечен как активный
— для организации меню должен быть создан файл z:\boot\syslinux\syslinux.cfg
Установка загрузчика Syslinux
Через BootICE вы также можете установить загрузчик Syslinux, указав в опциях альернативное местоположение файлов ldlinux.sys и и файла меню syslinux.cfg.
Загрузчики Windows
Конечно, основное внимание мы уделим загрузчикам для Windows.
Загрузчик NTLDR использовался до появления операционной системы Windows Vista. В процессе начальной загрузки, программный код загрузочного сектора раздела (PBR — Partition Boot Sector) обеспечивал поиск, считывание в память и передачу управления файлу ntldr, который размещался в корневом разделе загрузочного диска. Конфигурирование загрузчика ntldr выполнялось с помощью простого текстового файла boot.ini, содержимое которого задавало список загружаемых операционных систем, их параметры загрузки, размещение системных файлов и т.п. В операционных системах Windows Vista /Server 2008 и более поздних, загрузчик ntldr не используется, и заменен диспетчером загрузки BOOTMGR. Соответственно, изменился и программный код загрузочного сектора раздела, обеспечивающий передачу управления файлу bootmgr. Новый диспетчер загрузки использует собственные данные конфигурации загрузки (Boot Configuration Data — BCD) и может выполнять, при определенных настройках, загрузку любых операционных систем семейства Windows. Загрузчик ntldr не поддерживает возможность загрузки Windows Vista и старше.
Также, хочу отметить, что все современные Windows PE любых версий также используют загрузчик bootmgr. Цепочка стадий загрузки MBR — PBR — BOOTMGR — это минимально необходимое условие для того, чтобы загрузка операционной системы могла начаться. Дальнейший же ее ход, определяется диспетчером загрузки BOOTMGR, который считывает данные конфигурации загрузки из файла \BOOT\BCD активного раздела и выполняет загрузку в соответствии с их содержимым.
Для Windows 7 он запускает файл \WINDOWS\system32\winload.exe
Загрузка WINDOWS\system32\winload.exe
Диспетчер загрузки bootmgr позволяет выполнить загрузку как с обычного системного диска, так и из загрузочных образов, виртуальных дисков, загрузку с использованием загрузчиков других операционных систем. Это позволяет использовать bootmgr для загрузки Windows PE. В соответствии с конфигурацией загрузки, диспетчер BOOTMGR может выполнить загрузку ядра Windows или, например, Linux, обеспечить выход из режима гибернации, загрузить диагностические программы, выполнить загрузку ядра с измененными параметрами и т.п.
Обычно файл bootmgr имеет атрибуты «скрытый» и «системный». По типу структуры, файл \Boot\BCD является кустом реестра и отображается в редакторе реестра Windows как раздел
Обычно именно конфигурация BCD становится наибольшим камнем преткновения.
Конфигурирование BOOTMGR и BCD
Для работы с загрузчиком Windows вам понадобятся системные утилиты:
Команда BCDEDIT применяется в операционных системах Windows Vista и старше для редактирования BCD. Подробную инструкцию по использованию этой утилиты можно найти здесь.
Однако, я вам крайне рекомендую использовать очень удобную программу EasyBCD для редактирования BCD. Например, с помощью нее вы легко можете добавить Linux раздел в меню загрузки. Вот статья о том, как добавить в BCD конфигурацию Windows 7 пункт загрузки Linux Ubuntu.
При запуске EasyBCD в окне View Settings можно посмотреть текущую конфигурацию BCD. На скриншоте видно, что в текущий момент на диске установлена одна Windows 7, GUID которой <9079c27c-fa49-11e5-8c8e-3417ebc2574d>и вручную добавленный пункт меню для запуска установки Windows из WIM файла:
BCD menu для загрузки Windows и установки из WIM файла
А вот BCD меню загрузочной флэшки, на которой присутствуют инсталляторы Windows 7 x86 и x64, а также две среды MSDaRT x86 + x64:
BCD меню загрузочной флэшки, overview
BCD menu — установка Windows из WIM файла x86 и x64
Запуск среды восстановления Windows RE с загрузочной флэшки
Утилита BOOTSECT.EXE позволяет изменить программный код загрузчика Windows для переключения между двумя вариантами диспетчера загрузки — BOOTMGR или NTLDR – или восстановить поврежденный загрузчик!
Команда bootsect /nt60 E: /mbr /force – создает на диске E: (например, флэшке) записи MBR и PBR и устанавливает загрузчик bootmgr.
Ну и третья, крайне важная утилита — BootRec входит в состав средств среды восстановления Windows (Windows Recovery Environment) и применяется для восстановления загрузки операционной системы. Найди ее вы можете, загрузившись с установочного диска Windows и выбрав вместо установки опцию «Восстановление системы». Появится окно MSDaRT, откуда можно запустить командную строку и набрать там BootRec.exe. MSDaRT также можно скачать отдельно (это бесплатный продукт Microsoft) и сделать загрузочную флэшку/диск с ним.
Команда Bootrec /FixMbr – записывает основную загрузочную запись (MBR) системного раздела, совместимую с Windows. При этом существующая таблица разделов не перезаписывается.
Bootrec /FixBoot – записывает в системный раздел новый загрузочный сектор, совместимый с Windows.
bootrec /RebuildBCD – перестроить хранилище конфигурации загрузки на данном компьютере. Удобно использовать для изменения конфигурации BCD при добавлении нового диска с установленной Windows, или для внесения изменений в существующую конфигурацию загрузки новых или ранее не использовавшихся ОС.
Загрузчик GRUB4DOS
Это один из наиболее универсальных загрузчиков, способных загружать почти любую операционную систему с любого носителя. Пользователям Linux установка GRUB очевидна, для Windows все не так просто. GRUB имеет смысл использовать, например, одним из загрузчиков мультизагрузочной флэшки, ведь он поддерживает chainloader — передачу управления на другой загрузчик по цепочке. Таким образом, на флэшке можно установить GRUB MBR, который будет обращаться к загрузчику grldr, который в свою очередь через меню позволяет перенаправить запросы на bootmgr, например, для установки Windows.
Загрузчик состоит из следующих файлов:
Файл grldr.mbr нужен для установки GRUB в качестве MBR. Итак, GRUB можно установить руками под Windows или же воспользоваться различными утилитами.
Установка GRUB загрузчика под Windows
Представим, что у вас уже есть Windows с загрузчиком bootmgr. Вам необходимо будет добавить в BCD записи о новом загрузчике, чтобы не лишаться существующего. Порядок действий:
Вот и все, не так и сложно.
Сложнее отредактировать меню menu.lst. Вот список основных команд консоли GRUB (их можно исполнять как вручную из командной строки, так и из файла меню):
Приведу примеру рабочих кусков кода из файла меню:
title Alkid Live CD root (hd0,0) chainloader (hd0,0)/minint/setuplns.bin
Если вам совсем не хочется, существует программа GRUB4DOS Installer, и даже удобный русский инсталятор для нее, но этот вариант вам не позволит сделать комбинированный загрузчик. Он задаст вопрос, куда распаковать файлы и куда установить загрузчик, после чего сделает все сам: отформатирует, установить MBR, скопирует файлы. Но я лично против такой «автоматизации».
Также, для любителей конфигурировать загрузчик из-под Windows, существует утилитка WinGRUB, которая устанавливает GRUB без форматирования флэшки.
Если все-таки вам не хватило нервов и сил разобраться в написании меню, то есть программки, которые сделают меню загрузки и установят загрузчик за вас, вам нужно только выбрать ISO файлы дистрибутивов, которые надо добавить:
Для желающих создать подобные флэшки рекомендую также почитать профильные сайты: greenflash.su, flashboot.ru и usbtor.ru.
Выводы
Итак, чтобы была возможность загрузить ОС, необходимо, чтобы был установлен корректный загрузчик MBR, который заканчивается валидной сигнатурой, должна быть таблица разделов, и хотя бы один раздел должен быть помечен как активный. А в самом разделе, куда MBR передаст управление, должна быть валидная загрузочная запись, которая укажет, какой системный файл необходимо загрузить в память для начала загрузки самой ОС. Кроме того, должно быть загрузочное меню, которое укажет на местоположение загрузочных файлов ОС.
GPT и MBR: Что это такое, как определить и конвертировать разметку диска
Простыми словами о сложном — что такое MBR и GPT, как работают разметки и как преобразовать одну в другую? Обо всем этом подробно вы можете узнать в нашей статье.
Содержание статьи:
Назначение MBR и GPT разметки носителя данных
MBR (Master Boot Record) и GPT (GUID Partition Table) представляют собой два разных способа хранения информации о разделах на жестком диске. Данная информация включает в себя как сведения о принципе работы накопителей, так и определяет какой раздел станет загрузочным для системы.
Перед тем как приступать к работе с Windows и выбирать предложенный раздел по умолчанию, стоит взвесить все за и против. Стандартный вариант не всегда может стать оптимальным.
В этой статье мы разберем что из себя представляют разметки GPT и MBR, какая из них лучше, приведем способ определения уже существующих разметок и как их изменить на более подходящие.
Что такое MBR на жестком диске
Главная загрузочная запись (Master Boot Record, MBR) — представляет собой код и набор данных, необходимый для последующей загрузки операционной системы. Применялась с 1983 года вплоть до введения в эксплуатацию UEFI схемы GPT в 2010-м году.
Как вы помните, ранее в ходу были компьютеры с операционной системой, которая поддерживала только 32-битный формат. При запуске этих машин, первым в работу вступает BIOS (MBR использует версию Legacy) и далее происходит выбор устройства, с которого будет произведен последующий запуск. Это может быть дискета, жесткий диск или любой указанный в настройках сетевой ресурс. В случае же, если в компьютере установлен только один раздел, выбор будет однозначен и загрузка произойдет только с единственного уникального устройства.
Master Boot Record работает с дисками размером до 2 Тб и не поддерживает носители, превышающие этот порог. Кроме того, MBR поддерживает только до 4 основных разделов. Если вам нужно больше, придется один из основных блоков сделать расширенным. Это приведет к потере одного из разделов, который сольется с основным, выбранным вами.
Legacy BIOS, с которым работает MBR, характеризуется следующими особенностями:
В 2020 году Master Boot Record морально устарел и не подходит для использования на современных компьютерах. Почти все они используют GPT.
Что такое GPT на HDD и SSD дисках
Понятие GPT состоит из трех сокращенных слов — GUID Partition Table. Согласно Википедии, GPT — это стандарт формата размещения таблиц разделов на физическом жестком диске. Он является частью расширяемого микропрограммного интерфейса (Unified Extensible Firmware Interface, UEFI) — стандарта, предложенного Intel на замену BIOS. Таким образом, GUID Partition Table — это новое поколение разметок дисков, пришедшее на смену устаревшей MBR.
Диск GPT состоит из трех частей:
В GPT больше не используется привычный нам BIOS. Данное “предзагрузочное” состояние по прежнему продолжают так именовать, по памяти, но официально оно имеет совершенно другое название — UEFI. И оно имеет существенные отличия, в сравнении с предшественником:
На сегодняшний день, GUID Partition Table является единственной подходящей разметкой для полноценной работы компьютера. Работает разметка только в сочетании с UEFI, в то время как MBR кооперирует только с Legacy BIOS.
Как определить разметку диска
Определить разметку жесткого диска или твердотельного накопителя довольно просто. Для этого нужно воспользоваться утилитой “Управление дисками” или же командной строкой. Начнем мы с самого простого.
Определение разметки с помощью утилиты “Управление дисками”
1. Щелкните правой кнопкой мыши по меню пуск или используйте комбинацию клавиш Windows + X.
2. Откройте утилиту Управление дисками.
3. В новом окне вы увидите полный список подключенных устройств, который включает в себя как физические диски, так и их логические разделы.
4. Далее нужно открыть свойства диска. Но не торопитесь кликать по физическим и логическим разделам (в верхней части окна). Через них нельзя получить доступ к нужной информации. Вместо этого обратите внимание на нижнюю часть и выберите нужный физический диск.
5. Щелкните по диску правой кнопкой мыши и откройте Свойства.
6. В новом окне найдите вкладку Тома и кликните по ней.
7. Обратите внимание на блок Стиль раздела. Он содержит информацию о разметке вашего диска. В нашем случае это Таблица GUID.
Определение разметки с помощью командной строки
Второй способ определить разметку жесткого диска — использование командной строки. Он менее удобен и требует знания вводимых команд. Тем не менее, результативность способа от этого не страдает.
1. Откройте командную строку от имени администратора.
2. Введите команду diskpart и нажмите Enter.
3. Далее введите команду list disk.
4. Обратите внимание на представленный список дисков. Если ваше устройство работает с разметкой GPT, оно будет отмечено символом “*” (звездочкой). Иногда индикатор может смещаться в сторону.
Конвертация MBR в GPT и обратно
Чтобы преобразовать MBR диск в GPT или GPT в MBR, вам понадобится вайпнуть его содержимое. То есть удалить. Поэтому рекомендую сначала сделать бэкап важных файлов и трижды все перепроверить, прежде чем приступать к конвертации. В процессе преобразования, описанном ниже, диск сотрет всю информацию на диске, включая файлы и таблицы раздела, а затем восстановится с обновленной разметкой.
Для того чтобы преобразовать один тип разметки в другой, рекомендуем скачать и установить приложение Acronis Disk Director.
1. Запустите приложение.
2. Выберите диск, который нужно преобразовать.
3. Щелкните по номеру диска и выберите действие Преобразовать в MBR/GPT. Обратите внимание! Кликать нужно именно по нумерации диска, а не по его названию или букве.
4. Подтвердите действие. Не переживайте, данный процесс работы проходит в режиме “подготовки”. Если вы передумаете, предварительные настройки перед запуском конвертации можно отменить и диск не перенесет какие-либо изменения.
5. Щелкните по клавише Применить ожидающие операции и дождитесь завершения процесса преобразования. Это отнимет не больше пары минут.
Одна технология смещает другую. Так было и всегда будет. Раньше и MBR казалось чем-то невероятным, но не так давно GPT практически вытеснил своего предшественника из конкурентов и занял лидирующую позицию в списке доступных пользователю разметок. Может быть в ближайшие годы мы увидим что-то новое.
Похожие статьи про восстановление данных:
Как создать, использовать и восстановить данные с виртуального жесткого диска VHD в Windows 10
Узнайте что такое виртуальный жесткий диск (VHD), как его создать, применить на практике и, при необ.
Как определить состояние жесткого диска — атрибуты S.M.A.R.T
В этой статье мы рассмотрим S.M.A.R.T.-атрибуты жесткого диска, по которым вы легко сможете определи.
Как восстановить удаленный раздел диска компьютера или ноутбука
К сожалению, возникновение не каждой неполадки можно предотвратить. Даже если вы со всем вниманием и.