Какие бывают загрузки в компьютере

Обновлено: 02.07.2024

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

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

При включении компьютера управление процессором получает 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.

Общая структура MBR может быть представлена следующей таблицей:

Смещение Длина Описание

000h 446 Код загрузчика

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

1CEh 16 Раздел 2

1DEh 16 Раздел 3

1EEh 16 Раздел 4

1FEh 2 Сигнатура (55h AAh)

Длина указана в байтах.

Шестнадцатеричный однобайтовый код далее указывает на тип (ID) раздела. Например, 07h – раздел типа NTFS, 0Bh – FAT32, 17h – скрытый NTFS раздел, 27h – системный скрытый NTFS раздел для восстановления системы.

Типы MBR

Существуют следующие распространенные типы MBR:

  • Windows NT версий 5.х и 6.x, занимает 1 сектор. Может загружать ОС только с первичного активного раздела.
  • GRUB4DOS версий 5.х и 6.x – занимает 16 секторов. Представляет собой файл gbldr.mbr. также его можно установить в качестве PBR прямо в раздел.
  • GRUB 2.0 – универсальный загрузочный менеджер, занимает 63 сектора. Состоит из файлов boot.img и core.img. Может работать с любыми файловыми системами и загружать ОС как с первичных, так и логических разделов.
  • PLoP – занимает 62 сектора и имеет продвинутый интерфейс. Позволяет организовать загрузку с CD/Floppy/USB без поддержки и обращения к BIOS.
  • UltraISO USB-HDD – занимает 1 сектор и позволяет выполнять загрузку с внешних USB HDD дисков.

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

Существуют следующие загрузчики:

  • io.sys для MS-DOS, Windows 95/98/МЕ
  • ntldr для Windows 2000/XP/2003
  • bootmgr для Windows Vista/7/8/8.1/10

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

  • Файлы Windows NTLDR или BOOTMGR должны лежать в корне активного системного раздела и работают они по-разному. Об этом ниже.
  • Файл GRLDR используется Grub4DOS также должен лежать в корне партиции, с котрой выполняется загрузка
  • Syslinux – универсальный загрузчик, содержащий много модулей и поддерживающий загрузку с файловых систем ext2/3/4, FAT, NTFS, CD/DVD дисков, по сети через PXE. Позволяет организовать текстовое или графическое загрузочное меню.
    Чаще всего этот загрузчик используют для запуска Linux с файловых систем FAT/NTFS или же создания мультизагрузочных USB флэшек, позволяющих загружать как Linux-совместимые приложения под DOS, так и Windows PE.

Например, типичные пример создания мультизагрузочной флэшки – 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 и PBR, BootICE позволяет редактировать разделы диска, выполнять ручное разбиение и форматирование, модифицировать тип раздела, сохранять и восстанавливать из бэкапа таблицу разделов.

Работа с таблицей разделов в BootICE

Кратко о загрузчике Syslinux

Обратите внимание, что загрузчик Syslinux сам по себе не может быть установлен в MBR, однако в пакете syslinux имеются два файла, из которых можно установить загрузочный код Syslinux в 440-байтную область загрузочного кода MBR: mbr . bin или gptmbr . bin . Конечно, это имеет смысл только для Linux.

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

Итак, Syslinux состоит из файла загрузчика и файла конфигурации меню syslinux.cfg. Файл меню может вызывать графическое меню через подгрузку файла vesamenu.c32.

Через BootICE вы также можете установить загрузчик Syslinux, указав в опциях альернативное местоположение файлов ldlinux.sys и и файла меню syslinux.cfg.

Загрузчики Windows

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

Для Windows 7 он запускает файл \WINDOWS\system32\winload.exe

Загрузка WINDOWS\system32\winload.exe

Диспетчер загрузки bootmgr позволяет выполнить загрузку как с обычного системного диска, так и из загрузочных образов, виртуальных дисков, загрузку с использованием загрузчиков других операционных систем. Это позволяет использовать bootmgr для загрузки Windows PE. В соответствии с конфигурацией загрузки, диспетчер BOOTMGR может выполнить загрузку ядра Windows или, например, Linux, обеспечить выход из режима гибернации, загрузить диагностические программы, выполнить загрузку ядра с измененными параметрами и т.п.

Обычно именно конфигурация BCD становится наибольшим камнем преткновения.

Конфигурирование BOOTMGR и BCD

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

Команда BCDEDIT применяется в операционных системах Windows Vista и старше для редактирования BCD. Подробную инструкцию по использованию этой утилиты можно найти здесь.

Однако, я вам крайне рекомендую использовать очень удобную программу EasyBCD для редактирования BCD. Например, с помощью нее вы легко можете добавить Linux раздел в меню загрузки. Вот статья о том, как добавить в BCD конфигурацию Windows 7 пункт загрузки Linux Ubuntu.

При запуске EasyBCD в окне View Settings можно посмотреть текущую конфигурацию BCD. На скриншоте видно, что в текущий момент на диске установлена одна Windows 7, GUID которой и вручную добавленный пункт меню для запуска установки Windows из WIM файла:

А вот BCD меню загрузочной флэшки, на которой присутствуют инсталляторы Windows 7 x86 и x64, а также две среды MSDaRT x86 + x64:

Запуск среды восстановления Windows RE с загрузочной флэшки

Команда bootsect /nt60 E: /mbr /force – создает на диске E: (например, флэшке) записи MBR и PBR и устанавливает загрузчик bootmgr.

Команда Bootrec /FixMbr – записывает основную загрузочную запись (MBR) системного раздела, совместимую с Windows. При этом существующая таблица разделов не перезаписывается.

Bootrec /FixBoot – записывает в системный раздел новый загрузочный сектор, совместимый с Windows.

bootrec /RebuildBCD – перестроить хранилище конфигурации загрузки на данном компьютере. Удобно использовать для изменения конфигурации BCD при добавлении нового диска с установленной Windows, или для внесения изменений в существующую конфигурацию загрузки новых или ранее не использовавшихся ОС.

Загрузчик GRUB4DOS

Загрузчик состоит из следующих файлов:

Файл grldr.mbr нужен для установки GRUB в качестве MBR. Итак, GRUB можно установить руками под Windows или же воспользоваться различными утилитами.

Установка GRUB загрузчика под Windows

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

Вот и все, не так и сложно.

Сложнее отредактировать меню menu.lst. Вот список основных команд консоли GRUB (их можно исполнять как вручную из командной строки, так и из файла меню):

Приведу примеру рабочих кусков кода из файла меню:

title Установка Windows XP with SP3 x86 RUS. root (hd0,0) map --mem /WINSETUP/XPpSP3.ISO (0xff) map (hd0) (hd1) map (hd1) (hd0) map --hook root (0xff) chainloader /I386/SETUPLDR.BIN

title Установка Windows 7 with SP1 x86-x64 + MSDaRT 7.0 RUS. find --set-root /bootmgr chainloader /bootmgr boot

title Загрузка WinPe RusLive Special Edition 2k10 RUS. find --set-root --ignore-floppies /2K10/WINPE/RLPE.BIN chainloader /2K10/WINPE/RLPE.BIN title Acronis DD 11 and True Image Home 2012 RUS. map /PROG/ATIH2012PP_6151_ADDH11_2343_ru-RU.iso (0xFF) || map --mem /PROG/ATIH2012PP_6151_ADDH11_2343_ru-RU.iso (0xFF) map --hook chainloader (0xFF)

title Hiren's BootCD v.15.1 RUS. find --set-root /PROG/hiren.ima map /PROG/hiren.ima (fd0) map --hook chainloader (fd0)+1 rootnoverify (fd0) map --floppies=1 boot

title Victoria v.3.52 RUS. find --set-root /PROG/vcr352r.iso map --mem /PROG/vcr352r.iso (0xff) map --hook root (0xff) chainloader (0xff) boot

title Alkid Live CD root (hd0,0) chainloader (hd0,0)/minint/setuplns.bin

Также, для любителей конфигурировать загрузчик из-под Windows, существует утилитка WinGRUB, которая устанавливает GRUB без форматирования флэшки.

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

Выводы

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


[Посещений: 14 375, из них сегодня: 11]

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

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

system

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

Немного подробнее о том, что можно, ну а потом уже как это сделать.
Поехали.

Редактирование списка загрузки Windows

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

  • Во-первых , как по мне, 30 секунд - для кого-то много, для кого-то мало. Как может быть много? Ну, например, Вы включаете компьютер и идете ставить чайник, а по возвращению видите, что система, если и выбралась, то всё еще грузится. Так вот можно поменять это самое время на, в общем-то, любое значение от 1 до n . Возможно есть предел сего значения, но я не проверял, да и сильно сомневаюсь, что кому-то надо, чтобы система грузилась через 30 минут :)
  • Во-вторых , как я уже говорил выше, возможно, Вы (или Ваши знакомые) ставили второй\третий\пятый Windows (или другую операционную систему), но прервали установку или что-то не получилось в ходе неё, или Вы вовсе удалили одну из систем с жесткого диска. Только вот запись то об этой самой недопоставленной\удаленной Windows осталась и всячески надоедает, т.к. приходится всё время выбирать рабочую систему из списка. Так вот можно избавиться от лишних строк.
  • В-третьих . Многие любят всякие забавные примочки. В данном случае, можно, например, переименовать системы в списке как угодно, например, вместо Microsoft Windows XP поставить Mega Winda Vasi .
  • В-четвертых , допустим, Вам друг принес жесткий диск со своим Windows , но Вы не знаете как добавить операционную систему в список доступных, чтобы её можно было выбрать. Опять же это можно сделать там, где я сейчас расскажу.
  • В-пятых , есть несколько бредовая идея по использованию нижеописанного способа редактирования списка доступных для загрузок систем. Можно создать список из скажем 25 систем, но грузится из них будет одна, остальные в силу своего несуществования будут выдавать ошибку. Какая по счету работает будете знать только Вы, т.к Вы этот список и создадите, а злоумышленнику, включившему Ваш компьютер, придется раз 20 перезагружать компьютер в поисках рабочей системы. Кстати использовать это можно не только в целях безопасности, но и просто как розыгрыш друга, или подруги ;)

..и прочее прочее прочее.

Редактирование и настройка списка загрузки ОС. Что к чему, как и зачем.

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

Для Windows XP картина выглядит следующим образом.
Открываем " Пуск -> Настройка -> Панель управления -> Система -> Дополнительно -> Загрузка и восстановление - Параметры ":

список загрузки операционных систем windows xp

Здесь мы можем настроить время отображения списка операционных систем, систему загружаемую по умолчанию, а так же настроить некоторые параметры отказа ОС. Если надо, то настраиваем здесь всё как нам удобно, после чего жмём в кнопочку " Правка ".

boot.ini файл windows xp редактирование загрузки

Перед нами открывается файл boot.ini (по умолчанию скрытый), хранящийся на загрузочном жестком диске. Рекомендую перед его исправлением сделать его резервную копию, т.е нажать " Файл -> Сохранить как " и сохранить где-нибудь в новосозданной папочке. После чего можно смело приступать к редактированию текущего файла.

Если у нас одна система, установленная на диске С:\ , то вот что мы, скорее всего, увидим в boot.ini нечто подобное:

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional RU" /noexecute=optin /fastdetect

Где:
timeout - время отображения списка операционных систем
default - операционная система загружаемая по умолчанию
partition(1) - номер раздела физического (именно физического, а не логического, т.е одно устройство разделено на 2 , 3 и более частей) диска, где расположена система. Т.е например (1) - это диск C, (2) - это диск D:\ и тд.
rdisk(1) - номер не раздела, а самого физического диска. Т.е. (1) - это первый жесткий диск, (2) - это второй. Не буква диска, а именно жесткий диск.
Microsoft Windows XP Professional RU - название операционной системы. Изменяйте как хотите, хоть на Super Linux-Mac Pupkin . Система останется прежней.

Приведу пример:
Windows XP Eng расположен на диске C:\ , а Windows XP Rus на втором жестком диске ( slave , а не master ) на первом разделе. По умолчанию грузится Windows XP Eng . Время выбора 15 сек .

[boot loader]
timeout=15
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS txb">Windows XP Eng " /fastdetect
multi(0)disk(0)rdisk(1)partition(1)\WINDOWS txb">Windows XP Rus " /fastdetect

Вы можете создавать\удалять записи о системах в файле, всячески редактировать список и тд и тп, как угодно по своему усмотрению. В случае ошибки система может не загрузится, но в этом случае файл нужно будет просто заменить на сохраненный ранее (сделать это можно, например, с помощью WindowsPE , который грузится напрямую с CD/DVD -диска или используя консоль восстановления).

Вообще я рекомендую продублировать все записи после [operating systems] и работать с ними, а не с первоначальными. А уж когда добьетесь результата - первоначальные можно удалить, а отредактированные оставить.

Отредактировав список его надо сохранить там, где он и был, а именно " Файл -> Сохранить как - > boot.ini" - > диск C:\ и нажать на кнопку " Сохранить ". На предложение заменить - соглашаемся.

Для "Windows Vista/7/8" картина правки загрузочного списка выглядит примерно следующим образом.
В общем и целом, для базовой правки можно воспользоваться программой MultiBoot , но она скорее предназначена для восстановление загрузчиков, нежели для полноценного редактирования (хотя её можно использовать и так при некоторой сноровке).

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

Подробней о MultiBoot можно почитать в моей статье "Как вернуть загрузку Windows 7/Vista после установки XP [восстановление загрузчика, MultiBoot]", а мы прибегнем пока к работе со списком загрузки при помощи средств системы:

  • Для начала создайте в корне любого диска папку с именем BCDREZ .
  • Затем нажмите " Win+R " на клавиатуре, либо пройдите по пути " Пуск-Выполнить ".
  • В появившемся окне введите cmd и нажмите " ОК ".
  • Откроется консоль. В ней вводим команду " dcedit C:\BCDREZ\bcd ", где С:\ - диск, где Вы создали папку BCDREZ
  • Далее вводим команду " bcdedit " на что нам должно выдать большой такой список:
  • С которым мы и будем работать. Тут есть две колонки Здесь нас интересует следующее:
    • идентификатор – ну собственно, идентификатор, той или иной, записи и есть;
    • device – раздел диска, где лежат файлы загрузки;
    • osdevice – раздел, где лежат файлы операционной системы, указанный в виде буквы;
    • path – определяет путь к загрузчику операционной системы, т.е остаток пути после device ;
    • default – показывает идентификатор операционной системы, что загружается по умолчанию;
    • displayorder – показывает порядок, в котором расположены записи о загружаемых системах;
    • timeout – время в секундах до выбора загружаемой по умолчанию ОС;
    • locale – язык;
    • description – название системы в загрузочном меню.

    bcdedit

    • bcdedit /default
      Задает систему, загружаемую по умолчанию, где < current >- это идентификатор в списке, что вы получили выше. Например это может быть или еще какое-либо значение (здесь и далее по тексту предполагает, что Вы можете увидеть в полученном у Вас списке выше различные значения идентификатора для различных систем, если у Вас их несколько).
    • bcdedit /timeout 99
      Задает значение таймаута, где 99 - время в секундах. Что есть таймаут смотрите выше по тексту.
    • bcdedit /displayorder /remove
      Убирает загрузку определенной системы из меню, т.е удаляет строку с ней. Тут может быть , или что еще угодно
    • bcdedit /set locale ln-Ln
      Задает язык. В данном примере английский.
    • bcdedit /set description "Windows Vasya Pupkin"
      Изменяет название строки в меню загрузки операционной системы, где указанное в кавычках и есть новое название.
    • bcdedit /set osdevice partition=D:
      Меняет букву раздела, где лежат файлы операционной системы, где D: - буква диска. Обычно почти всегда требуется так же указать команду bcdedit /set device partition=D: , дабы поменять еще и раздел, где лежат файлы загрузки.
    • bcdedit /delete
      Удаление записи.

    Ну что ж, давайте к послесловию.

    Послесловие.

    Вот такие дела. Колдуйте, но колдуйте осторожно.

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

    Белов Андрей (Sonikelf) Заметки Сис.Админа [Sonikelf's Project's] Космодамианская наб., 32-34 Россия, Москва (916) 174-8226

    Как работать с BIOS и UEFI компьютера или ноутбука

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

    Как зайти в BIOS компьютера или ноутбука?

    Для простоты чтения в блоге под BIOS иногда будет подразумеваться и UEFI.

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

    А вот с ноутбуками ситуация уже сложнее. По нажатию на кнопку Delete не всякий ноутбук войдет в BIOS, обычно надо нажимать F2.


    Некоторые модели могут потребовать нажатия F1, F3 или F10. А старые или редкие модели ноутбуков Dell или Lenovo иногда требуют совсем редкие клавиатурные сочетания — Ctrl+Alt+Enter, Ctrl+Alt+F3 или Ctrl+Alt+Ins.

    Многие клавиатуры ноутбуков не имеют отдельных F-кнопок, поэтому нужно будет нажимать дополнительную кнопку Fn. Например, Fn+F2.

    Модели SONY VAIO имеют специальную кнопку ASSIST, с помощью которой можно войти в BIOS.


    Иногда подобная кнопка имеется и на ноутбуках Lenovo.


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

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

    Поэтому проще поступать так: нажимаете Fn+F2 и, если вход в BIOS не произошел, быстро нажимаете сочетания кнопок Ctrl+Alt+Del и пробуете еще раз или другое сочетание кнопок. Лучше заранее почитать руководство по эксплуатации ноутбука, если оно имеется, или скачать его из интернета.

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

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


    Виды интерфейса BIOS и UEFI, поддержка мыши в современных системах

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

    Один из самых старых видов BIOS — это AMI BIOS от разработчика American Megatrends inc. Он начал массово распространяться еще в 90-х, но встретить его можно и сейчас на технике конца нулевых годов.


    Более массовый и знакомый многим BIOS от Award имеет привычный синий экран с желтыми символами.


    Phoenix-Award BIOS более похож по цветам на AMI BIOS и часто используется в ноутбуках.


    Обычные виды BIOS уже давно не отвечали новым требованиям рынка ПК, имели мало возможностей и постепенно их заменяет интерфейс UEFI (Unified Extensible Firmware Interface).

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


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

    Выбор устройства загрузки в BIOS

    Первое и самое частое, что приходится делать пользователям — это менять устройство, с которого будет загружаться компьютер. Например, нужно выбрать флешку с которой будет устанавливаться Windows. Или при покупке нового SSD нужно установить загрузку с него, а не со старого HDD.

    Однократно выбрать устройство загрузки при установке Windows будет удобнее горячей клавишей. В таблице в начале блога есть списки кнопок, которыми можно зайти в «Меню загрузки» (Boot menu) при старте компьютера. Обычно это F8, F11 или F12.


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

    В таком случае на помощь придет загрузочная флешка с антивирусом. Создать такую флешку предлагают все ведущие разработчики антивирусных программ, например, Kaspersky или Dr.Web.


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

    Покажем это на примере компьютера с материнской платой MSI B450-A PRO MAX с графическим интерфейсом. На других моделях плат настройки будут похожими.

    При входе в UEFI MSI B450-A PRO MAX мы попадаем в так называемое EZ Mode меню, где настройки рассчитаны на начинающего пользователя.

    Вкладка Storage покажет, какие диски и к каким SATA-портам материнской платы подключены.


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

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

    Advanced Mode предлагает уже заметно больше настроек. И что особенно удобно, они логически выстроены. Я перехожу в раздел Settings и в подраздел Boot.


    Далее в Hard Disk Drive BBS Priorities.



    Отключаем встроенную аудиокарту в BIOS

    Все чаще в компьютеры ставят качественную дискретную звуковую карту, при этом встроенную надо отключить. Делается это просто, заходим в меню Settings и подраздел Advanced\Integrated Peripherals.


    HD Audio Controller переводим в режим Disabled.


    Автоматическое включение компьютера при подаче электричества

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


    Для этого идем в раздел Settings и подраздел Advanced. Далее — в подраздел Power Management Setup.


    И параметр Restore after AC Power Loss переводим в значение Power On.


    Устанавливаем пароль на BIOS

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

    Его можно установить в разделе Settings и подразделе Security.


    Пароль нужно ввести в поле Administrator Password. Постарайтесь не забыть пароль, иначе придется делать сброс настроек BIOS.


    Настраиваем обороты вентиляторов ПК


    В моем случае в эти настройки удобно попасть из EZ Mode.


    MSI B450-A PRO MAX позволяет задать кривую оборотов вентилятора с PWM в зависимости от температуры выбранных компонентов: процессора, чипсета или системы питания.

    А обычные вентиляторы можно настроить, отрегулировав подаваемое напряжение. Не стоит сразу сильно снижать обороты вентиляторов. Снизьте их на 20 % и проверьте в работе компьютера под нагрузкой температуры и уровень шума. Если температуры в порядке, а шум еще присутствует, снизьте еще. Однако при снижении питания или оборотов вентилятора на 50 % и ниже, он может просто не запуститься.

    Итоги

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

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

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

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

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

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

    boot-os

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    w7-partition

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

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

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

    w7-hf

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

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

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

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

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

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

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

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


    Каждый сетевой администратор постоянно сталкивается с ситуацией, когда пользователи, жалующиеся на неполадки, произносят туманную фразу, которая может слегка испортить настроение: «Компьютер не запускается!» Обычно при этом пользователи сообщают, что нечто непредвиденное произошло в процессе загрузки — либо во время самотестирования компьютера (Power On Self Test, POST), либо во время процедур начальной загрузки Windows. Для диагностики и устранения подобных проблем администратор должен понимать, что происходит в процессе загрузки.


    Включение питания


    Не жалуется ли пользователь, что ничего не происходит, когда он нажимает кнопку питания? Если да, то сначала проверьте кабель.

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

    Если дело не в вилке, то, возможно, в источнике бесперебойного питания — тоже уязвимом аппаратном компоненте системе. Источники бесперебойного питания стоят недорого, но замена аккумуляторов в них — утомительная и трудоемкая задача.

    Проверка оборудования и BIOS

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

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

    Управление передается записи Master Boot Record

    Далее компьютер начинает загрузку операционной системы. Во время установки программа загрузки Windows помещает данные на первый сектор главного раздела компьютера (загрузочный сектор). Эти данные — не что иное, как Master Boot Record, MBR (главная загрузочная запись), которая содержит исполняемые команды. Программа установки также копирует два файла, инициирующие начальный этап загрузки Windows, — Ntldr и Ntdetect — в корневой каталог загрузочного диска. Кроме того, Windows Setup копирует boot.ini, файл, содержащий параметры загрузки, в корневой каталог загрузочного диска.

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

    Системный раздел содержит файлы привязки к аппаратным компонентам, которые необходимы для загрузки Windows, включая MBR. Этот раздел должен быть главным разделом и отмечается как активный. Это всегда диск 0, поскольку именно к этому диску обращается BIOS, чтобы передать процесс загрузки файлу MBR. Загрузочный раздел содержит файлы операционной системы (папка \%systemroot%) и файлы поддержки операционной системы (\%systemroot%System).

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

    Запуск Ntldr

    Код загрузочного сектора считывает Ntldr в память, чтобы запустить процесс начальной загрузки операционной системы. В Ntldr хранится доступный только для чтения код NTFS и FAT. Он начинает работать в реальном режиме, и первая выполняемая им задача заключается в переключении системы в некоторую форму защищенного режима. Более подробно об этих режимах рассказано во врезке «Реальный режим против защищенного». Этот первоначальный вариант защищенного режима не может в полной мере выполнять аппаратно-зависимых преобразований, которые обеспечивают защиту оборудования, — данная функция становится доступной, когда операционная система загрузится полностью.

    Запуск Ntdetect

    Ntldr запускает Ntdetect, который запрашивает BIOS системы о данных конфигурации устройств. Система отправляет информацию, которую Ntdetect собирает в реестр и помещает в подразделы HKEY_LOCAL_MACHINEHARDWARE DESCRIPTION.

    Запуск Ntoskrnl и загрузка HAL

    После того как Ntdetect закончит выполнение подпрограмм проверки оборудования, он передает процесс загрузки обратно файлу Ntldr, который запускает ntoskrnl.exe и загружает .dll-файл Hardware Abstraction Layer (HAL). (Оба файла расположены в папке \%systemroot%system32.) Ntoskrnl — это главный файл ядра Windows и исполнительных подсистем. Он содержит Executive, Kernel, Cache Manager, Memory Manager, Scheduler, Security Reference Monitor и другие. Именно Ntoskrnl приводит в действие Windows. Для работы Ntoskrnl необходим файл hal.dll, который содержит код, позволяющий оборудованию взаимодействовать с операционной системой.

    Загрузка драйверов и служб

    Теперь Ntldr загружает низкоуровневые системные службы и драйверы устройств, но службы не инициализируются — это происходит позже. На этом фаза начальной загрузки завершается и начинается процесс основной загрузки (load sequence или kernel phase).

    При загрузке системных служб и драйверов устройств Ntldr следует определенному порядку. В процессе установки Windows драйверы и системные службы копируются на компьютер, а информация о них записывается в реестр. Данные в реестре представляют собой шестнадцатеричную запись, оканчивающуюся числом в круглых скобках. Это число и определяет порядок, в котором Ntldr загружает драйверы и системные службы. Для примера следует открыть реестр и перейти в раздел HKEY_LOCAL_MACHINESYSTEM CurrentControlSetServices. На экране появится длинный список служб и драйверов устройств. Выберите любой подраздел и взгляните на данные типа REG_DWORD под именем Start.

    • (0) означает, что служба загружается во время фазы основной загрузки.
    • (1) означает, что служба загружается во время фазы инициализации (следующая фаза).
    • (2) означает, что служба загружается во время фазы загрузки, предназначенной для служб.
    • (3) означает, что служба включена, но не инициализируется (запуск службы осуществляется вручную через оснастку Services консоли Microsoft Management Console (MMC)).
    • (4) означает, что служба отключена.

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

    Ntoskrnl начинает загрузку операционной системы. Инициализируется ядро Windows и загружаются и инициализируются подсистемы. Эти действия формируют базовые элементы, необходимые для завершения загрузки операционной системы. Загрузочные драйверы, которые модуль Ntldr загрузил ранее, теперь инициализируются, вслед за чем инициализируются оставшиеся драйверы и службы. Когда инициализируются драйверы первого уровня, может возникнуть проблема в виде ошибки STOP или Blue Screen of Death. Это почти всегда бывает в процессе первой загрузки после обновления какого-либо драйвера. Во время инициализации драйвера файлом Ntoskrnl операционная система отторгает его.

    Для решения проблемы необходимо перезагрузить компьютер, нажать F8 для отображения меню дополнительных возможностей (Advanced Options) и выбрать вариант загрузки последней успешной конфигурации (Last Known Good Configuration), соответствующей предыдущей версии драйвера.

    Теперь ядро Windows и исполняющие модули работоспособны. Программа Session Manager Subsystem (smss.exe) настраивает пользовательскую среду. Система выполняет сверку с реестром, для того чтобы иметь возможность начать загрузку оставшихся драйверов и программного обеспечения, которые необходимо добавить. Ядро операционной системы также загружает файлы kernel32.dll, gdi32.dll и user32.dll, которые обеспечивают программное обеспечение пользователя доступом к Win32 API.

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

    В качестве дополнительной меры безопасности компьютеры (как и пользователи в сети с усиленной настройкой системы безопасности) должны периодически менять пароли. По умолчанию интервал смены пароля составляет 30 дней. Когда настает время менять пароль, компьютер генерирует новый пароль и отправляет его по защищенному каналу (доступ к которому он получил, используя предыдущий пароль) на ближайший DC. В дальнейшем для доступа к защищенному каналу компьютер должен использовать новый пароль.

    DC немедленно обновляет свою базу данных и реплицирует изменение пароля компьютера на другие DC домена. Пароли учетных записей компьютера содержат отметку о событии первостепенной важности (Announce Immediately), поэтому они не дожидаются следующей репликации DC по расписанию. Иногда эти события могут вызывать заметное снижение производительности. Если у многих или у всех компьютеров домена срок действия паролей заканчивается в один и тот же день, работа, которую должны будут выполнить контроллеры домена, сразу же затормозит другие важные задачи DC, такие как аутентификация пользователей или выполнение запланированных репликаций. Ситуация может осложниться еще и в том случае, если DC предоставляет другие услуги, такие как, например, услуги сервера DNS. Можно изменить способ обслуживания паролей компьютера для домена, для организационной единицы (OU) и для индивидуального компьютера, хотя стремление повысить производительность путем настройки компьютеров по одному неэффективно. В следующей статье я планирую рассказать о методах изменения процедуры регистрации компьютера в домене.

    Загрузка служб регистрации пользователя

    Подсистема Win32 запускает winlogon.exe, которая выводит на экран диалоговое окно регистрации пользователя и загружает процесс Local Security Authority (lsass.exe). Начинается процесс регистрации, и пользователь должен ввести имя и пароль в диалоговом окне Windows Log On To. Если пользователь указывает правильные имя и пароль, система завершает процесс регистрации, и пользователь может начинать работать. В этот момент загрузка Windows окончена, а текущие параметры загрузки сохраняются в так называемой последней успешной конфигурации (Last Known Good Configuration). Нужно иметь в виду, что успешная регистрация пользователя необходима для сохранения Last Known Good Configuration.

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

    Реальный режим против защищенного

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

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

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

    Читайте также: