в процессе загрузки операционной системы происходит что

Процесс загрузки Windows или что спрятано под стартовым логотипом

в процессе загрузки операционной системы происходит что. Смотреть фото в процессе загрузки операционной системы происходит что. Смотреть картинку в процессе загрузки операционной системы происходит что. Картинка про в процессе загрузки операционной системы происходит что. Фото в процессе загрузки операционной системы происходит чтоА вы никогда не задумывались над тем, что же происходит с операционной системой в тот момент, когда она рисует свой логотип и говорит «Starting Windows»? И вообще, почему она долго загружается? Ведь при старте системы уж точно не решаются никакие задачи, сложные с вычислительной точки зрения!

Что тогда подразумевает под собой загрузка операционной системы? По большей части это проецирование в память исполняемых модулей и инициализация служебных структур данных. Структуры данных живут в памяти, поэтому операции с ними по идее должны быть быстрыми. Все наталкивает на мысль о том, что время съедается именно процессом загрузки исполняемых модулей в память.

Давайте интереса ради разберемся, какие модули, в каком количестве и в каком порядке загружаются при старте ОС. Чтобы выяснить это, можно, например, получить лог загрузки системы. Подопытная ОС в моем случае — Windows 7 Enterprise x64. Логировать процесс загрузки будем при помощи отладчика ядра. Существует несколько вариантов отладчиков ядра, лично я предпочитаю WinDbg. Также нам понадобятся некоторые вспомогательные средства для волшебного превращения лога в нечто более приятное глазу.

Mining and crafting

Настройка отладки хорошо гуглится, поэтому описывать подробно этот процесс я не буду. Поскольку нас интересует все происходящее с момента старта системы, нам нужно отметить пункт «Cycle Initial Break», с помощью чего отладчик остановится, как только в отлаживаемой системе будет загружена подсистема отладки ядра. Дублирование вывода в файл можно осуществить при помощи команд «.logopen» и «.logclose», это просто. Другая полезная команда — «.cls». Она очищает экран команд, и да, только экран команд.

Интересующая нас функция — «MiCreateImageFileMap». Это внутренняя функция менеджера памяти, проецирующая исполняемый файл в память. Проецирование в память происходит при создании секции, например, при запуске исполняемого файла. Однако учтите, что если исполняемый файл проецируется в память, это не гарантия того, что будет выполнен его код! Эта функция просто создает проекцию, чаще всего «про запас», чтобы, если кто-то надумает запустить модуль на исполнение, можно было сэкономить время его загрузки. На эту функцию поставим логирующую точку останова.

Если у вас достаточно маны, вводите следующую команду:

Небольшая рекомендация по использованию логирующих точек останова: старайтесь не использовать расширения отладчика (команды, начинающиеся с «!»), поскольку в таком случае логирование будет выполняться на порядок медленнее.

Поехали! Отжимаем тормоз точки останова и ждем. Я ждал, пока не прогрузится рабочий стол, т.е. я залогинился. Полученный «урожай» немного редактируется, обрезается все лишнее для удобства дальнейшей обработки и скармливается дружище питону. Не будем заострять внимание на парсинге лога. Отметим только, что граф укладывался в форму спирали Архимеда с дальнейшей коррекцией вручную, поскольку происходило наложение узлов друг на друга. В полученном графе учитывается порядок загрузки библиотек. К сожалению, пришлось пожертвовать учетом порядка загрузки исполняемых файлов относительно библиотек в угоду удобочитаемости графа.

Карта звездного неба

в процессе загрузки операционной системы происходит что. Смотреть фото в процессе загрузки операционной системы происходит что. Смотреть картинку в процессе загрузки операционной системы происходит что. Картинка про в процессе загрузки операционной системы происходит что. Фото в процессе загрузки операционной системы происходит что

Условно выделим несколько групп загрузки.

Начинается работа OC в модуле ntoskrnl.exe, являющимся ядром ОС. А если еще конкретнее — с функции KiSystemStartup(). Вместе с загружаемыми системными компонентами она формирует фундамент ОС: разделение режимов работы, базовые сервисы для пользовательских приложений и т.п. В эту же группу входят драйверы, отмеченные для загрузки во время старта системы. В двух словах, в этой ракушке зарождается ОС Windows.

в процессе загрузки операционной системы происходит что. Смотреть фото в процессе загрузки операционной системы происходит что. Смотреть картинку в процессе загрузки операционной системы происходит что. Картинка про в процессе загрузки операционной системы происходит что. Фото в процессе загрузки операционной системы происходит что

Следующий узел — менеджер сессий (session manager). Его представляет первый после системного процесс, стартующий в Windows — smss.exe. Процесс примечателен тем, что является родным (native) процессом Windows, то есть он не использует подсистему Win32, которая в общем-то еще не загружена. Этот процесс использует только нативные сервисы операционной системы посредством ntdll.dll, представляющей собой интерфейс режима пользователя для сервисов ОС. Также этот процесс является доверенным компонентом операционной системы и обладает исключительными правами, например, он может создавать маркеры безопасности (security tokens). Но главное его предназначение — создание сеансов и инициализация подсистем, как графической, так и различных исполняемых (Windows, POSIX). Эта ракушка воздает каждому по потребностям.

в процессе загрузки операционной системы происходит что. Смотреть фото в процессе загрузки операционной системы происходит что. Смотреть картинку в процессе загрузки операционной системы происходит что. Картинка про в процессе загрузки операционной системы происходит что. Фото в процессе загрузки операционной системы происходит что

Группа входа в систему (logon) состоит из нескольких процессов. В целом они отвечают за инициализацию сеансов. Это включает в себя отображение экрана приветствия, создание рабочих столов, запуск процессов автозагрузки и инициализацию подсистемы безопасности и т.п. Этот веник отметает всех посторонних.

в процессе загрузки операционной системы происходит что. Смотреть фото в процессе загрузки операционной системы происходит что. Смотреть картинку в процессе загрузки операционной системы происходит что. Картинка про в процессе загрузки операционной системы происходит что. Фото в процессе загрузки операционной системы происходит что

Самой массивной оказалась группа сервисов. Во многом она обязана своим объемом службе SuperFetch. Эта та самая, про которую говорят, что она по выходным заранее прогружает офисный пакет, а в начале рабочей недели — Steam с игрушками. Superfetch прогружает огромное количество модулей при старте системы, чтобы потом «все быстрее работало». Да и кроме него в системе хватает сервисных приложений и автозапускающихся драйверов. Думаю, все видели оснастку «Службы и приложения». Эта звезда жизни заводит в системе все, что нужно и не очень.

в процессе загрузки операционной системы происходит что. Смотреть фото в процессе загрузки операционной системы происходит что. Смотреть картинку в процессе загрузки операционной системы происходит что. Картинка про в процессе загрузки операционной системы происходит что. Фото в процессе загрузки операционной системы происходит что

Последним отмечу любимый всеми explorer.exe. Примечательно, что к моменту его запуска все используемые им модули уже загружены в память. В скриншот также попал некий vcredist_x64.exe — бедолага лежал на рабочем столе подопытной виртуальной машины и был прогружен в память проводником.

в процессе загрузки операционной системы происходит что. Смотреть фото в процессе загрузки операционной системы происходит что. Смотреть картинку в процессе загрузки операционной системы происходит что. Картинка про в процессе загрузки операционной системы происходит что. Фото в процессе загрузки операционной системы происходит что

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

Лично я держу получившуюся картинку под боком. По ней хорошо прослеживаются зависимости, например, драйверов. Также в паре с утилитой Sysinternals Autoruns можно увидеть, на каком этапе загрузки подтягиваются те или иные модули.

Граф загрузки был построен для ОС Windows 7 Enterprise x64, установленной на виртуальной машине VMware. Ниже приведены векторное изображение графа и непосредственно файл в формате gml, с которым можно поиграться в любом редакторе графов.
Граф в формате GML
Векторное изображение графа

Внимание! Бонус!
Граф загрузки для чистой ОС Windows 8 Enterprise x64 на живой машине 😉
Граф в формате GML
Векторное изображение графа

Источник

Как происходит загрузка операционной системы

Вкратце процесс загрузки компьютера описан в статье «Включение ПК» раздела BIOS. Рассмотрим этот процесс более подробно.

Инициализация системы средствами BIOS

Загрузка операционной системы

Ядро операционной системы (ОС) загружается в ОЗУ, после чего в памяти системы размещается основная часть ОС.

На заре развития персоналок конфигурирование системы требовало от пользователей соответствующей квалификации. Наверняка, пользователи со стажем еще помнят такие файлы, как config.exe и autoexec.bat, которые надо было правильно настроить, чтобы «телега» нормально поехала.

Задача, в общем-то, довольно сложная. Для облегчения ее выполнения производители чипсетов и разработчики ПО согласовали и установили определенные правила механизма начальной загрузки. Теперь компоненты компьютерной системы, требующие инициализации и настройки комплектовались соответствующим программным обеспечением (инициализирующими программами, драйверами, INF-файлами):

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

Windows имеет определенный набор универсальных драйверов (который постоянно пополняется с выходом новой версии ОС), позволяющих выполнить настройку всех компонентов системы. Справедливости ради следует сказать, что универсальные драйвера Windows далеко не всегда способны произвести оптимальную настройку того или иного устройства, что снижает производительность и стабильность работы всей компьютерной системы. Поэтому, все устройства поставляются со «своим» установочным ПО (как правило, на CD). При первоначальной установке нового устройства Windows может попросить вас установить в дисковод диск с соответствующими драйверами для правильной настройки нового устройства. Рекомендуется также следить за выходом новой версии драйверов (в которых исправлены ошибки, сделана оптимизация работы и проч.) для чипсета своей материнской платы и регулярно обновлять их.

Источник

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *