Программы для загрузки операционных систем. Загрузчик операционных систем GRUB. Начальный этап загрузки операционной системы. Менеджер загрузки ОС

Программы для загрузки операционных систем. Загрузчик операционных систем GRUB. Начальный этап загрузки операционной системы. Менеджер загрузки ОС

22.03.2019

Операционная система обычно хранится во внешней памяти компьютера – на диске. При включении компьютера она считывается с дисковой памяти и размещается в оперативной памяти. Этот процесс называется загрузкой операционной системы.

Диск, на котором находятся файлы ОС и с которого производится ее загрузка, называется системным .
Программы могут выполняться, только если они находятся в оперативной памяти, поэтому файлы ОС необходимо загрузить в оперативную память.
После включения компьютера производится загрузка ОС с системного диска в оперативную память. Загрузка должна выполняться в соответствии с программой загрузки – загрузчика ОС.
Поэтапно загрузку ОС можно представить следующим образом:
В компьютере находится ПЗУ, содержащее программы тестирования компьютера и первого этапа загрузки ОС, которые называются BIOS (Basic Input/Output System – базовая система ввода-вывода). После включения компьютера эти программы начинают выполняться. Причем информация о ходе этого процесса высвечивается на экране дисплея. Сначала производится тестирование и настройка аппаратных средств, затем начинается загрузка ОС. На этом этапе процессор обращается к диску и ищет в 1 секторе диска наличие небольшой программы-загрузчика Master Boot .

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

  1. Начальная фаза загрузки.
  2. Выбор системы.
  3. Определение «железа».
  4. Выбор конфигурации.

В начальной фазе NTLDR переключает процессор в защищенный режим. Затем загружает соответствующий драйвер файловой системы для работы с файлами любой файловой системы, поддерживаемой XP (FAT-16, FAT-32 и NTFS).

Если в корневой директории есть BOOT.INI, то его содержание загружается в память. Если в нем есть записи более чем об одной операционной системе, NTLDR останавливает работу — показывает меню с выбором и ожидает ввода от пользователя определенный период времени.

Если такого файла нет, то NTLDR продолжает загрузку с первого раздела, первого диска, обычно это C:\.
Если в процессе выбора пользователь выбрал Windows NT, 2000 или XP , то проверяется нажатие F8 и показ соответствующего меню с опциями загрузки.
После каждой удачной загрузки XP создает копию текущей комбинации драйверов и системных настроек известную как Last Known Good Configuration. Этот коллекцию можно использовать для загрузки в случае если некое новое устройство внесло разлад в работу операционной системы.

Если выбранная операционная система XP, то NTLDR находит и загружает DOS программу NTDETECT.COM для определения «железа», установленного в компьютере. NTDETECT.COM строит список компонентов, который потом используется в ключе HARDWARE ветки HKEY_LOCAL_MACHINE реестра.

Если компьютер имеет более одного профиля оборудования программа останавливается с меню выбора конфигурации. После выбора конфигурации NTLDR начинает загрузку ядра XP (NTOSKRNL.EXE). В процессе загрузки ядра (но перед инициализацией) NTLDR остается главным в управлении компьютером. Экран очищается и внизу показывается анимация из белых прямоугольников. Кроме ядра загружается и слой Hardware Abstraction Layer (HAL.DLL), для того чтобы ядро могло абстрагироваться от «железа». Оба файла находятся в директории System32.

NTLDR загружает драйвера устройств, помеченные как загрузочные. Загрузив их, NTLDR передает управление компьютером дальше. Каждый драйвер имеет ключ в HKEY_LOCAL_MACHINE\SYSTEM\Services. Если значение Start равно SERVICE_BOOT_START, то устройство считается загрузочным. Для каждого такого устройства на экране печатается точка.

NTOSKRNL в процессе загрузки проходит через две фазы — так называемую фазу 0 и фазу 1. Первая фаза инициализирует лишь ту часть микроядра и исполнительные подсистемы, которая требуется для работы основных служб и продолжения загрузки. Фаза 1 начинается когда HAL подготавливает систему для обработки прерываний устройств. Если на компьютере установлено более одного процессора, они инициализируются. Все исполнительные подсистемы реинициализируются в следующем порядке: Object Manager, Executive, Microkernel, Security Reference Monitor, Memory Manager, Cache Manager, LPCS, I/O Manager, Process Manager.

Инициализация Менеджера ввода/Вывода начинает процесс загрузки всех системных драйверов. С того момента где остановился NTLDR загружаются драйвера по приоритету. Сбой в загрузке драйвера может заставить XP перезагрузиться и попытаться восстановить Last Known Good Configuration. Последняя задача фазы 1 инициализации ядра — запуск Session Manager Subsystem (SMSS). Подсистема ответственна за создание пользовательского окружения, обеспечивающего интерфейс NT. SMSS работает в пользовательском режиме, но в отличии от других приложений SMSS считается доверенной частью операционной системы и «родным» приложением (использует только исполнительные функции), что позволяет ей запустить графическую подсистему и login. SMSS загружает win32k.sys — графическую подсистему. Драйвер переключает компьютер в графический режим, SMSS стартует все сервисы, которые должны автоматически запускаться при старте. Если все устройства и сервисы стартовали удачно, процесс загрузки считается удачным и создается Last Known Good Configuration.

Процесс загрузки не считается завершенным до тех пор, пока пользователь не залогинился в систему. Процесс инициализируется файлом WINLOGON.EXE, запускаемым как сервис и поддерживается Local Security Authority (LSASS.EXE), который и показывает диалог входа в систему. Это диалоговое окно показывается примерно тогда, когда Services Subsystem стартует сетевую службу.

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


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

Как отредактировать процесс загрузки нескольких операционных систем Windows, установленных на одном компьютере – об этом подробнее ниже.

Итак, имеем в нашем случае компьютер с установленными версиями Windows 7 и 8.1. При включении компьютера видим окно загрузчика с перечнем систем для выбора.

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

Что же, изменим это. Настроим автоматическую загрузку основной системы – Windows 8.1. Для этого, естественно, необходимо войти в неё.

Нам нужен раздел настроек , и в Windows 8.1 в него можно попасть с помощью контекстного меню на кнопке .

В окошке системы выбираем дополнительные параметры .

Попасть в раздел настроек в Windows 7 можно также с помощью контекстного меню, но вызванном на значке «Компьютер» в проводнике. В числе команд необходимо выбрать .

В Windows 7 также выбираем дополнительные параметры .

Дальнейшие шаги в обоих системах идентичны.

В появившемся окне свойств системы во вкладке «Дополнительно» жмём кнопку параметров в последнем разделе .

Теперь можно приступать к редактированию загрузки нескольких систем. Меняем загружаемую по умолчанию Windows из числа вариантов в выпадающем списке. В нашем случае предустановленную Windows 7 меняем на Windows 8.1.

Как упоминалось, по умолчанию загрузчик Windows ждёт полминуты , чтобы пользователь мог осуществить выбор операционной системы.

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

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

Если вторая операционная система когда-то понадобится, войти в неё можно будет, сделав эту опцию снова активной .

После внесения изменений жмём «Ок» внизу этого окна, а также внизу окна свойств системы.

Всё – список загрузки операционных систем отредактирован.

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

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

В основной системе вызываем команду . В Windows 8.1 быстрый доступ к ней реализован в контекстном меню на кнопке .

Нам нужен раздел конфигурации системы . Вводим в поле команды значение:

Жмём «Ок» .

В Windows 7 запустить окно конфигурации системы можно проще — прописав ключевой запрос в поисковом поле меню .

Появится окно конфигурации системы, переходим на вкладку . Выбираем запись о загрузке несуществующей системы и удаляем её .

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

Внесённые изменения сохраняем кнопкой . После нажатия «Ок» система предложит перезагрузиться .

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

Давным-давно, когда я был маленьким работал в институтской лаборатории на большом компьютере СМ-3 (что-то вроде знаменитой PDP-11), bootstrapping (загрузка) ЭВМ выглядела так. В фотосчитыватель заправлялась коротенькая бумажная перфолента с пробитой на ней программой начальной загрузки, запускался процесс считывания, а дальше … как повезет.

Дело в том, что бумажная ленточка постепенно изнашивалась, начинала плохо читаться, и ЭВМ могла с первого раза «не завестись». В этом случае процесс нужно было повторять, порой несколько раз, до победного конца. Когда ленточка окончательно выходила из строя и машина никак не хотела «оживать», приходилось временно вводить программу начальной загрузки вручную при помощи расположенных на передней панели переключателей. Тут, главное, было не торопиться и не делать ошибок.

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

Основные определения и этапы загрузки операционной системы

Включение компьютера, POST, BootMonitor

Начальный этап загрузки операционной системы после включения компьютера начинается в BIOS (Basic Input/Output System — базовая система ввода-вывода). В настройках BIOS мы указываем загрузочное устройство, или ряд загрузочных устройств в порядке их приоритета. Возможны различные варианты загрузки и их комбинации: с жесткого диска, CD/DVD – диска, USB-flash и другие.

Сразу после прохождения POST (Power-On Self-Test — самотестирование после включения) BIOS компьютера начнет поочередно перебирать указанные загрузочные устройства до тех пор, пока на одном из них не найдет подходящую специальную запись, в которой содержится информация о дальнейших действиях.

Загрузчик 1-го уровня. Master Boot Record

Master Boot Record — главная загрузочная запись, расположена в первых физических секторах загрузочных устройств хранения. Она содержит таблицу разделов (Partition Table) и исполняемый код.

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

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

Загрузчик 2-го уровня. Partition Boot Sector

Следующим этапом загрузки компьютера является передача управления исполняемому коду, записанному в PBS (Partition Boot Sector — загрузочный сектор активного раздела). PBS расположен в первом секторе (секторах) соответствующего раздела диска. В коде PBS прописано имя файла загрузчика операционной системы, которому и передается управление на этом этапе.

Начальный этап загрузки операционной системы. Менеджер загрузки ОС

Первоначально в Linux загрузчиком являлся LILO (Linux Loader). В силу имевшихся в нем недостатков, главным из которых была неспособность понимать используемые в Linux файловые системы, позднее начал использоваться загрузчик GRUB (GRand Unified Bootloader) в котором недостатки LILO были исправлены.

Если речь идет о версиях Windows до Vista, например, Windows XP, то будет загружен Ntldr. Он, в свою очередь, считывает информацию из текстового файла Boot.ini, в котором записана информация об установленных операционных системах.

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

Завершающим этапом загрузки операционной системы является загрузка ядра ОС и передача ему управления.

Несколько лет назад в моей практике был такой забавный случай.

Меня попросили помочь одному человеку купить и привести в порядок компьютер для дома. Товарищ этот на тот момент времени только-только вышел на пенсию, а до этого работал в должности начальника и компьютер видел, по большей части, издалека, на столе у своей секретарши. После выхода на пенсию у него появилось время и желание компьютер освоить. Ну что, по-моему, замечательно. Компьютер мы ему подобрали недорогой, но добротный и с хорошим, по тем временам, монитором. Я поставил и настроил кое-какие программы, показал как ими пользоваться. Господин обзавелся книжкой из серии «Что-то там для чайников » и мы расстались абсолютно довольные друг другом.

Примерно через неделю мой подопечный позвонил мне по телефону и чуть не плача сообщил, что все пропало и компьютер больше не работает. Благо, запираться он не стал и честно рассказал, как было дело. А дело было так. Товарищ полез исследовать содержимое своего компьютера и нашел в корне диска С:\ несколько подозрительных и «ненужных», на его взгляд, файлов. Он решил освободить место и файлики эти попросту удалил. Думаю, что все уже догадались, что это были boot.ini, ntldr, ntdetect и др. Поправить ситуацию сложности не представляло, разве что пришлось ехать к нему еще раз.

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

Видимо Microsoft как то узнала об этом случае и в следующей версии своей ОС решила припрятать файлы загрузчика получше.

Особенности загрузки операционных систем Windows Vista / 7 / 8

В Windows Vista или Windows 7 / 8 диспетчер загрузки называется Bootmgr. Он читает список установленных операционных систем не из простого текстового файла, коим является boot.ini, а из системного хранилища BCD (Boot Configuration Data), доступ к которому осуществляется посредством специальной утилиты bcdedit.exe .

Но это еще не все. Откроем “Управление компьютером” –> “Управление дисками” >

Процесс стандартной инсталляции операционной системы Windows Vista / 7 / 8 создает в начале диска дополнительный раздел «Зарезервировано системой». Ему не присваивается буква диска, благодаря чему, если не сделать дополнительных шагов, и сам раздел и его содержимое будут скрыты от пользователя. Этот основной раздел имеет статус «Системный» и «Активный» и, следовательно, удалить его тоже нельзя.

В Windows 7 размер такого раздела составляет 100 МБ, из которых занято около 30 МБ, в Windows 8 – уже 350 МБ, причем занято из них 105 МБ. Такая разница объясняется тем, что в Windows 8 на этот раздел перенесена папка “Recovery”.

Посмотрим содержимое раздела «Зарезервировано системой». Для этого назначим ему букву диска, например, «W» в “Управление дисками”. Дополнительно откроем «Панель управления» –> «Параметры папок» и на вкладке «Вид» снимем галку с «Скрывать защищенные системные файлы» и поставим отметку на «Показывать скрытые файлы, папки и диски».

Если в системе установлен файловый менеджер FAR Manager, то для просмотра можно воспользоваться им и не заниматься настройкой видимости скрытых файлов.

Так выглядит содержимое раздела «Зарезервировано системой» в Windows 8 >

Как и ожидалось, в корне раздела мы видим загрузчик Bootmgr.

А так выглядит часть содержимого папки «Boot» >

В папке мы находим базу хранилища данных конфигурации загрузки BCD и сопутствующие ей папки с языковыми файлами и файлами шрифтов.

Для полноты картины осталось сказать о том, какой раздел называется загрузочным. Ответ уже показан на картинке с томами Windows 7. Очевидно, что это раздел, на котором находятся все основные файлы операционной системы.

Ну что же, запомнить названия разделов диска очень легко по принципу «всё наоборот» — на системном нет системы (операционной), но расположен загрузчик третьего уровня, на загрузочном как раз отсутствует загрузчик, но находится сама система. Естественно, эта «запоминалка» работает только тогда, когда есть несколько разделов. Если раздел один, то он может быть сразу системным, активным и загрузочным.

Главной задачей загрузчика 3-го уровня, в роли которого выступает, в зависимости от типа ОС, Bootmgr, Ntldr или GRUB, является чтение с загрузочного диска и загрузка ядра операционной системы. Кроме того, в случае множественной загрузки, когда на компьютере установлено несколько операционных систем, загрузчик 3-го уровня позволяет выбирать нужную при каждом запуске компьютера.

Классической ошибкой, которой Microsoft посвятила , является установка Windows XP после Windows Vista / 7 /8. Установщик Windows XP помечает свой раздел как активный, после чего, во время загрузки, MBR передает управление PBS этого раздела а он, в свою очередь, — Ntldr. Загрузчик Windows XP ничего не знает о более поздних версиях операционных систем Windows и их загрузка становится невозможной. Лечится достаточно легко, но неискушенного пользователя такая ситуация может поставить в тупик.

Добавить к этому практически нечего и можно переходить непосредственно к редактированию загрузочного меню. Начнем с .

9 комментариев

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

  1. Подскажите пожалуйста как именно лечить?:
    «Загрузчик Windows XP ничего не знает о более поздних версиях операционных систем Windows и их загрузка становится невозможной. Лечится достаточно легко, но неискушенного пользователя такая ситуация может поставить в тупик.»

    Поставил ХР после Vista на ноутбук — в итоге запуск системи доходит до начала загрузки ХР и все по новой перезагружаєтса, а если отключить (на время загрузки ОС) адаптер питания то все загружается нормально. Если загружать в безопасном режиме, то адаптер отключать не надо. Что ето может бить и как с етим бороться?

    ПОЖАЛУЙСТА ОТПИШИТЕ. ЗАРАНИЕ СПАСИБО. ИЗВИНИТЕ ЗА «ЛОМАННИЙ» РУССКИЙ.

    • По поводу влияния адаптера питания на загрузку ХР ничего не скажу — конкретных идей нет. По поводу восстановления загрузки Vista, если это актуально, то в конце поста есть ссылка на статью суппорта Microsoft (919529), посвященную непосредственно этой теме. Для восстановления потребуется установочный диск Vista. В командной строке с правами администратора нужно выполнить:
      Х:\boot\bootsect.exe /nt60 all
      где X: — буква оптического привода.
      А вот загрузку XP нужно будет добавлять вручную с помощью редактора . Набор команд будет таким:
      Bcdedit /create {ntldr} /d "Microsoft Windows XP"
      если данная команда завершиться неудачей, то:
      Bcdedit /set {ntldr} description "Microsoft Windows XP"
      далее:
      bcdedit /set {ntldr} device partition=X:
      Х: - буква диска раздела, на котором находятся файлы загрузчика XP, и путь к нему:
      bcdedit /set {ntldr} path \ntldr
      bcdedit /displayorder {ntldr} /addlast

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

    • Юрий! Боюсь, что тех сведений, которые Вы сообщили, явно недостаточно для каких-либо рекомендация. Какая Windows и о каких этапах идет речь? Уточните.

    Доброго здоровья, Александр.
    Как понять, предотвратить, а если повторится — правильно выйти из вот такой ситуации.
    Ноутбук. Установлена Windows-7. После включения и ввода пароля выдал «missing operating system» — то бишь «отсутствует операционная система». Выключения с повторным включением дали тот же результат. Запуститься удалось только вынув и спустя некоторое время вставив аккумулятор.
    Накануне, правда, имело место быть некорректное выключение: предварительно не были отключены флешка и модем. Раньше такая забывчивость тоже случалась, но подобного эффекта не было.
    Буду признателен за доступный старому «чайнику» ответ (мне лет на десять больше, чем господину в забавном случае, но познакомился с КОМПом примерно в том же возрасте).

    • Владимир, здравствуйте. С наступающими праздниками и всех благ.
      В данной ситуации Вы сделали все правильно — сбросили «залипший» глюк.
      Как поется в песенке: «Одна дождинка — еще не дождь. Одна снежинка — еще не снег». Возможно, что ничего подобного больше и не произойдет. Вот если с запуском начнутся регулярные проблемы, тогда надо будет разбираться. А вообще, Windows 7 и выше достаточно устойчивы к нештатным выключениям.
      Что делать? Вы сами ответили на свой вопрос — стараться штатно отключать устройства. И если есть возможность подключить по USB внешний диск, то я обязательно сделал бы (на самом деле делаю достаточно регулярно) бекап системы, например с помощью .

MultiBoot – программа, восстанавливающая загрузчик операционной системы. По сути это графическая оболочка для системных утилит BcdBoot, BcdEdit и BootSect.

Достаточно скачать бесплатно MultiBoot, чтобы спасти систему, если она не загружается после установки более старой системы. Такое постоянно происходит, если пользоватеть устанавливает Windows XP параллельно Vista или Seven. Загрузчик более новой ОС просто стирается и кажется, будто вот он, конец. Но MultiBoot поможет избежать проблем. С его помощью можно организовать возможность загрузки одной из нескольких систем на выбор.

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

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

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

Ubuntu Linux поверх Windows XP или Vista, Windows XP вместе с Vista, FreeBSD и Windows - можно придумать и гораздо больше комбинаций. Ничто не мешает, не только придумывать, но и реализовывать самые замысловатые комбинации операционных систем. Причем это можно делать не только на одном компьютере, но и на одном диске - емкость современных жестких дисков (они же HDD, они же винты, они же винчестеры) позволяет "впихнуть" на один такой диск хоть 20 различных операционных систем.

Немного теории

Процесс загрузки компьютера, относящегося к семейству IBM PC выглядит следующим образом:

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

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

  1. Обнаружить на определенной файловой системе определенный программный файл (или файлы)
  2. Загрузить этот файл (или файлы) в оперативную память и передать им управление.

Такие программы-загрузчики бывают двух типов:

  • "Абстрактные" - созданные для загрузки различных операционных систем.
  • "Семейные" - программы, которые умеют загружать лишь одну операционную систему или несколько ОС одного семейства, но разных версий.

Из первых самый популярный загрузчик под названием GRUB. Он умеет загружать более десяти типов операционных систем. Самый распространенный среди "семейных" это ntldr - загрузчик ОС Windows 2k, XP, 2k3 и его новейшая версия bootmgr загружающий Windows Vista и Windows 7. Кроме этих двух существует еще десятка два различных загрузчиков.

Почему так много? Причина проста - пока еще не существует универсального загрузчика, пригодного на все случаи жизни.

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

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

Например, через один из "примитивных" загрузчиков ntldr можно при помощи простого трюка запустить любое количество других загрузчиков, а это дает возможность реализовать самые изощренные фантазии по мультизагрузке.

От старта одной лишь MS Windows, до запуска всех версий Windows, плюс десяток версий Linux, плюс BSD, плюс Apple, плюс десяток файлов-образов дисков и дискет, плюс …

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

Наличие большого количества загрузчиков и возможность их запуска друг из друга дают еще и вариативность при решении одной и той же задачи. Например, двойную загрузку Windows XP плюс Linux можно реализовать как минимум двумя путями - либо использованием одного загрузчика GRUB для обеих ОС, либо комбинацией загрузчиков ntldr + GRUB.

Еще немного теории

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

Та часть парадигмы компьютеров семейства IBM PC, которая относится к использованию дисков, определяет, что так называемое "сырое" дисковое пространство должно быть поделено на разделы, затем на этих разделах должны быть созданы файловые системы и только после этого, уже на эти файловые системы можно записывать программы и данные, в том числе операционные системы.

В рамках парадигмы IBM PC допускается деление "сырого" адресного пространства жесткого диска (HDD), на четыре первичных раздела. То есть, упрощенно говоря, применительно к нашей теме, на одном жестком диске можно разместить четыре операционные системы. Это очень мало. Однако не все так грустно. Уже давно эта проблема решена при помощи расширенных разделов. Расширенный раздел это первичный раздел диска, который можно поделить еще на 255 разделов.

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

От теории к практике

Итак, отталкиваясь от теории, построение мультизагрузочной системы выглядит следующим образом:

  1. Разделение диска на разделы
  2. Создание на разделах файловых систем
  3. Выбор основного загрузчика или комбинации загрузчиков
  4. Установка операционных систем

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

Мы пойдем другим путем.

Просто ответим на вопросы:

  1. Как наилучшим образом разделить диск на разделы?
  2. Какие файловые системы выбрать?
  3. Какой загрузчик выбрать?

После многих лет работы и экспериментов на первый вопрос у меня ответ такой:

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

Второй раздел расширенный. Он занимает основную часть диска и содержит столько логических разделов, сколько необходимо для установки всех операционных систем, которые хочется установить - 5, 10 или 20.

В чем преимущество такого подхода?

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

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

Вопрос второй - файловая система и размер первичного загрузочного раздела.

Если изначально планируется установка более чем двух или трех ОС, а также их регулярная переустановка, то лучше всего делать размер первичного раздела совсем небольшим 1-2 Гб, а файловую систему для этого раздела использовать FAT или FAT32. Никакую серьезную ОС на этот раздел не ставить, разве что-нибудь легкое типа MS DOS.

Какой-нибудь знаток тут может сказать, что FAT это каменный век, да и FAT32 тоже древность изрядная и что у них куча недостатков. Это так, но у этих файловых систем есть достоинство очень важное в контексте мультизагрузочной системы. Практически, пожалуй, нет ОС или прикладной программы, которая бы не умела работать с этими файловыми системами. И это очень большое преимущество - если в процессе установки какой-нибудь очередной ОС или очередного загрузчика, возникнет проблема, то можно будет легко получить доступ к разделу и к файлам загрузчиков при помощи даже самых примитивных средств. Кроме того, использование файловых систем FAT или FAT32 расширяет количество загрузчиков, которые можно будет установить на этот раздел. К примеру, загрузчик syslinux можно установить только на файловую систему FAT или FAT32.

В более распространенном случае - когда устанавливается только две-три ОС, размер первичного раздела лучше выбрать таким, чтобы на него можно было установить ОС Windows с базовым набором программ, то есть не менее 10 - 15 Гб. Соответственно файловую систему в этом случае выбирать NTFS.

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

И, наконец, какой загрузчик использовать в качестве первичного.

Я уже давно остановил свой выбор на ntldr. Хотя он вполне "тупой", кроме Windows ничего больше не умеет загружать, но есть в нем одна интересная особенность - он может загружать файловые образы дисковых секторов (физические сектора диска, записанные в файл). А это означает, что ему можно скормить файл с головой любого другого загрузчика. То есть из ntldr можно загрузить любое количество других загрузчиков, достаточно сделать файлы с их головами и по списку скармливать их ntldr.
Примечание. "Голова" загрузчика это сектор MBR или Boot. Это может быть и более одного сектора, например голова GRUBа - 16 секторов начиная с MBR.

Примечание. В том случае если голова загрузчика более одного сектора, копировать в файл для ntldr нужно только первый сектор (MBR сектор), поскольку ntldr может загружать только односекторные файлы. Это накладывает ограничение на количество одновременно установленных загрузчиков с "длинной", головой. То есть в схеме с ntldr нельзя использовать два GRUBа.

Схема мультизагрузочной системы выглядит следующим образом:

Для редких случаев - маленький первичный раздел с файловой системой FAT или FAT32 и без ОС, только загрузчик. При этом все ОС устанавливаются в логические разделы расширенного раздела.

Для более распространенных случаев - небольшой первичный раздел с файловой системой NTFS, куда устанавливается ОС Windows и загрузчик. Остальные пара-тройка ОС в логические разделы расширенного раздела.

Все очень просто.

Примечания

Если вариант мультизагрузки совсем уж простой, что-то типа Linux поверх Windows, когда Linux устанавливается на компьютер где уже есть Windows, то можно не заморачиваться с ntldr. При установке любого современного, популярного дистрибутива Linux есть возможность автоматически установить загрузчик GRUB, а он умеет загружать обе эти ОС.

Установить загрузчик ntldr можно вручную, отдельно от ОС Windows. Однако установить его можно только на раздел с файловыми системами FAT, FAT32 или NTFS. При установке ntldr нужно помнить, что его голова записывается в Boot сектор, а потому для его старта нужен еще и стандартный предзагрузчик типа MS DOS в MBR секторе (то есть выполняющий "прыжок" на Boot сектор). Если в MBR была записана голова другого загрузчика (например, GRUBа), то помимо установки ntldr нужно еще записать предзагрузчик Microsoft в MBR. Один из способов сделать это команда fdisk /mbr . Естественно, что fdisk в данном случае от компании Microsoft (из MS DOS).

Хотя при установке любой современной ОС, можно создавать разделы и файловые системы непосредственно в процессе установки, тем не менее, я советую делать это отдельно. Сначала при помощи программы типа fdisk или Partition Magic создаете нужные разделы, а уже затем запускаете установку ОС и в процессе указываете раздел, куда нужно ставить систему.

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

Прежде чем устанавливать новую ОС или новый загрузчик заранее приготовьте "ремкомплект" - набор данных и программ, который позволит вам восстановить загрузку системы в ее текущем состоянии. Может, получиться так, что после установки новой ОС или нового загрузчика, часть старых ОС не будет загружаться.

Мультизагрузка с флеш-диска, по своей организации, ничем не отличается от описанной здесь загрузки с HDD. С той лишь поправкой, что на флеш-диске нецелесообразно устанавливать файловые системы иные, чем FAT / FAT32. Если используется USB HDD, то с ним можно работать так же как с обычным HDD.

Однако загрузиться с флеш или USB диска можно не на каждом компьютере. Будьте готовы к тому, что на каком-либо компьютере вы не сможете это сделать. Чаще всего такие проблемы возникают с компьютерами, на которых используются BIOS Award или чипсеты nVidia, SiS, Amd. Реже всего проблема загрузки возникает, если на материнской плате BIOS AMI и чипсет Intel.

Яндекс Кошелек № 410011416229354 . Или на телефон +7 918-16-26-331 .

Даже небольшая сумма может помочь написанию новых статей:)



© 2024 beasthackerz.ru - Браузеры. Аудио. Жесткий диск. Программы. Локальная сеть. Windows