Ayaklimat.ru

Климатическая техника
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Раздел 2 процесс загрузки операционной системы windows 2000

Раздел 2 процесс загрузки операционной системы windows 2000

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

В начале дадим несколько определений согласно терминологии Microsoft.

Загрузочные файлы – это набор файлов, которые обеспечивают процесс загрузки Windows 2000. Эти файлы находятся на активном первичном разделе жесткого диска, как правило, на разделе С:.

Системные файлы – файлы самой операционной системы Windows 2000, находящиеся в той папке, в которую была установлена операционная система (по умолчанию С:Winnt, или, если на этапе инсталляции этой папке было дано другое имя, – то в папке с этим именем).

Загрузочный раздел – раздел, на котором находятся СИСТЕМНЫЕ файлы, т.е. раздел, на котором расположена папка Winnt.

Системный раздел – раздел, на котором расположены ЗАГРУЗОЧНЫЕ файлы, т.е., обычно, раздел С:.

Как видно, в терминологии Microsoft названия файлов (загрузочные и системные) соответствуют их функциям, а названия разделов – переставлены местами по отношению к содержимому.

Рассмотрим теперь процесс загрузки Windows 2000 Professional.

Первое, что происходит при включении компьютера – это передача управления базовой системе ввода / вывода BIOS, которая производит процедуры тестирования (POST – Power On Self Test). На этом этапе проверяются аппаратные компоненты. При этом на экране отображаются сведения о том, какой на компьютере процессор, сколько в нем оперативной памяти, какие жесткие диски и дисководы подключены и т.д. Итак, первичный этап загрузки компьютера – самотестирование при включении.

После успешного завершения процедуры POST начинается второй этап – процесс инициализации ОС: BIOS ищет и загружает в память загрузочный сектор (boot sector). Порядок опроса устройств с целью поиска загрузочного сектора (флоппи–дисководы, жесткие диски, устройства CD–ROM) задается в настройках BIOS.

Современные BIOS позволяют пользователю переконфигурировать этот порядок, называемый последовательностью загрузки (boot sequence). Если, например, дисковод А: включен в последовательность загрузки первым, и в нем находится дискета, то BIOS попытается использовать эту дискету в качестве загрузочной. Если дискеты в дисководе нет или поиск окажется неудачным по другой причине, то BIOS проверяет следующее в списке устройство.

Для запуска ОС огромное значение имеет первый сектор жесткого диска, который содержит главную загрузочную запись (MBR) (MBR – Master Boot Record) и таблицу разделов (partition table). Базовая система ввода/вывода считывает главную загрузочную запись и загружает ее в память, а затем передает ей управление. Код, содержащийся в главной загрузочной записи, сканирует таблицу разделов в поисках системного раздела. Найдя системный раздел, MBR загружает в память его нулевой сектор и исполняет код, содержащийся в этом секторе. Нулевой сектор на системном разделе, так называемый загрузочный сектор раздела (partition boot sector), содержит загрузочный код операционной системы. Этот код и осуществляет запуск операционной системы по способу, определенному данной операционной системой.

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

«Invalid partition table» (Неверная таблица разделов);

«Error loading operating system» (Ошибка загрузки операционной системы);

«Missing operating system» (Отсутствует операционная система).

Перечисленные выше процедуры происходят при любом включении компьютера, не зависимо от того, какая операционная система установлена. Главная загрузочная запись не зависит от конкретной операционной системы. Одна и та же главная загрузочная запись служит для запуска Windows NT / 2000, Windows 9x, а также MS-DOS. Что касается загрузочного сектора раздела, то он зависит как от операционной системы, так и от используемой файловой системы.

Рассмотрим теперь, какие загрузочные файлы обеспечивают старт Windows 2000. Программа, которая выполняет процедуру загрузки Windows 2000, называется ntldr (сокращение от NT Loader) и находится на системном разделе жесткого диска. Эта программа обеспечивает старт операционной системы в несколько этапов и на первом этапе выводит пользователю на экран меню, в котором он может выбрать желаемую операционную систему из установленных на компьютере (рис. 2.1).

Рис. 2.1.Окно выбора загружаемой ОС

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

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

Рассмотрим, как можно управлять процессом загрузки Windows 2000 с помощью файла boot.ini.

Файл boot.ini – обычный текстовый файл, который можно редактировать в любом текстовом редакторе. Ниже приведено типичное содержимое файла boot.ini:

Видим, что файл boot.ini состоит из двух секций: [Boot Loader] и [Operating Systems]. Рассмотрим параметры, указаные в файле boot.ini.

В секции [Boot Loader] всего два параметра. Параметр Timeout=x указывает, через какое время будет запущена операционная система по умолчанию, если пользователь не сделает свой выбор самостоятельно. Величина х измеряется в секундах, т.е. в приведенном примере автоматический «старт операционной системы по умолчанию» произойдет через 30 секунд от момента появления меню на экране, если только пользователь не прервет обратный отсчет времени досрочно, выбрав какой-либо из вариантов нажав клавишу Enter.

Второй параметр в секции [Boot Loader] называется Default. Он задает, какая именно из имеющихся операционных систем, установленных на данном компьютере, будет запущена по умолчанию. Именно на строке с названием этой операционной системой стоит курсор, когда появляется загрузочное меню и именно эта система запустится по истечении времени Timeout.

В секции [Operating Systems] указываются те операционные системы, которые установлены на данном компьютере и которые можно загрузить. Каждая строка в этой секции начинается с так называемого ARC-имени (например, multi(0)disk(0)rdisk(0)partition(1)WINNT). Рассмотрим назначение и структуру ARC-имени.

ARC (Advanced RISС Computer) имена служат для именования разделов на жестких дисках. Имя ARC состоит из нескольких частей:

Читайте так же:
Преимущества установки системы с флешки

scsi(*) или multi(*) – имена ARC, как правило, начинаются с элемента multi(*), а scsi(*) используется только в том случае, если на компьютере установлен контроллер SCSI с отключенной BIOS. multi(*) применяется для указания на другие жесткие диски всех типов. Знак (*) указывает на адрес адаптера устройства, с которого производится загрузка, причем нумерация начинается с нуля.

disc(*) – эта часть имени задается только в том случае, если перед ней идет scsi(*). Тогда в скобках вместо «звездочки» указывается номер диска, на котором хранятся системные файлы. Нумерация начинается с нуля. Если имя ARC начинается с переменной multi(*), значение переменной disc всегда равно нулю: disk(0).

rdisc(*) – эта переменная имеет значение, если имя начинается с multi(*) и задает номер диска, подключенного к контроллеру. Нумерация также начинается с нуля. В случае, когда в первой части имени стояло значение scsi(*) параметр rdisk(*) должен иметь значение равное нулю и будет проигнорирован.

partition(*) – эта часть имени задает раздел диска, который содержит искомые файлы. В отличие от остальных систем нумерации в ARC, нумерация разделов начинается с единицы. Параметр partition(*) одинаково применяется как в случае, если ARC-имя начиналось с scsi(*), так и в случае, если ARC имя начиналось с multi(*).

path – задает каталог раздела, в котором хранятся системные файлы операционной системы. По умолчанию для Windows 2000 задается путь winnt.

Таким образом, с помощью первых четырех частей ARC имени возможно задать абсолютный номер раздела на любом жестком диске в терминах КОНТРОЛЛЕР, ДИСК, РАЗДЕЛ. Такое имя для существующего диска не изменится, при добавлении в компьютер нового жесткого диска, т.е. введенная система именования является абсолютной.

Рассмотрим пример. Пусть на компьютере имеется единственный контроллер IDE, на нем – два жестких диска по 20 Гбайт каждый. На каждом жестком диске – по единственному разделу. Каковы ARC имена каждого раздела?

Первый диск. Так как контроллер единственный, то его номер – (0). Так как используется IDE контроллер, то первый параметр – multi(). Если первый параметр multi(), то параметр disk() по определению равен нулю, а параметр rdisk() нумерует диски. Так как диск первый, то параметр rdisk() должен быть равен нулю. На диске единственный раздел, следовательно, параметр partition() равен единице. Тогда полное ARC имя раздела на первом диске: multi(0)disk(0)rdisk(0)partition(1).

Аналогично для единственного раздела второго жесткого диска полное ARC имя имеет вид: multi(0)disk(0)rdisk(1)partition(1).

К записям раздела [operating systems] файла boot.ini можно добавлять переключатели, задающие выполнение дополнительных функций. Опишем некоторые из них:

/ basevideo – задает загрузку компьютера с использованием стандартного драйвера VGA. Если новый видеоадаптер работает некорректно, то для запуска Windows 2000 следует использовать этот переключатель, а затем выбирать другой драйвер.

/ fastdetect=[comx, y, z] – отключает поиск мыши, подключенной к последовательному порту. Если порт не указан, переключатель задает отключение обнаружения всех периферийных устройств, подключенных к COM–портам. Включается по умолчанию в каждую запись файла boot.ini.

/ maxmem:n – задает объем оперативной памяти, используемой Windows 2000. Этот переключатель следует использовать в случае, если есть предположение, что часть оперативной памяти неисправна.

/ noguiboot – задает запуск компьютера без отображения графического окна состояния загрузки.

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

Если необходимо указать в файле boot.ini на операционную систему Windows 9x, то нужно внести в boot.ini следующую строку:

Следует отметить, что в случае загрузки системы Windows 9x не используются ARC-имена для указания разделов на жестком диске, более того, не нужно указывать раздел, на котором расположена папка Windows. Если Windows 9x установлена на диске D: в папке Windows, то строка в файле boot.ini

будет ошибочной. Для Windows 9x строка в boot.ini должна всегда иметь вид:

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

Связано это с тем, что после инсталляции Windows 2000 поверх Windows 9x в системном разделе (т.е., в корневом каталоге диска С:) появится еще один важнейший загрузочный файл: bootsect.dos. В этом файле хранится копия загрузочного сектора в том виде, в котором он существовал до установки Windows 2000, и, если пользователь в загрузочном меню выбирает запустить не Windows 2000, а Windows 9x, то управление передается этому загрузочному файлу и он выполняет дальнейший старт компьютера под управлением Windows 9x. Именно поэтому в файле boot.ini используется для загрузки Windows 9x систем синтаксис «С:», который в сущности равнозначен синтаксису «С:bootsect.dos».

Файл boot.ini расположен в корневом каталоге системного раздела. Этот файл имеет атрибуты «только чтение» (Read Only), «системный» (System) и «скрытый» (Hidden). Однако в Windows 2000 появилось новое понятие: защищаемые файлы операционной системы (protected operating system files), которые иногда называются «суперскрытыми» (super hidden) .

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

Чтобы отыскать «суперскрытый» файл, в частности файл boot.ini, требуется в настройках проводника – Сервис –> Свойства папки –> Вид – убрать галочку с параметра «скрывать защищенные системные файлы» и переместить переключатель на «показывать скрытые и системные файлы». После этой процедуры снимите с данного файла атрибут «Только чтение». На всякий случай сделайте резервную копию. И только после этого можно приступать к его редактированию.

Помимо текстового редактора, можно модифицировать boot.ini еще одним способом: открыть «Панель управления» (Control Panel), запустить приложение «Система» (System), перейти на закладку «Дополнительно» (Advanced) и нажать на кнопку «Загрузка» и «Восстановление» (StartUp / Shutdown) и в открывшемся окне можно настроить параметры «Timeout» и «Default» (рис. 2.2).

Читайте так же:
Установка системы на ноутбук fujitsu

Рис. 2.2.Окно задания параметров загрузки и восстановления системы

Процесс загрузки Linux

Задумывались ли вы о том, как происходит загрузка операционной системы? Как компьютер узнаёт о том, где находится операционная система? Давайте рассмотрим процесс запуска Linux от включения компьютера и до входа в систему.

Практически каждый этап загрузки может идти несколькими путями. Например, вы узнаете о том, чем отличается BIOS от UEFI, что делает GRUB и чем его можно заменить, почему одного лишь ядра Linux недостаточно для функционирования операционной системы.

Процесс загрузки Linux

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

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

Первый этап: включение компьютера

Запуск компьютера с BIOS и UEFI отличается. Первый BIOS появился в середине 70-х годов, а MBR стали использовать с 1983 года. Стоит ли говорить о том, что для современного компьютера предпочтительнее использовать UEFI и GPT. А теперь перейдём непосредственно к рассмотрению первого этапа загрузки.

BIOS + MBR

BIOS – это базовая система ввода-вывода. Она представляет из себя набор программ для взаимодействия с устройствами компьютера. BIOS хранится на микросхеме EEPROM материнской платы. При каждом запуске компьютера плата автоматически отправляет код процессору на исполнение. Далее BIOS проводит проверку оборудования (тест POST) и обращается к жёсткому диску или твердотельному накопителю. От него ему нужны первые 512 байт, именно там находится главная загрузочная запись (MBR). Ниже вы можете видеть структуру MBR.

Если подпись MBR равна 55AAh, то система начинает выполнять код первичного загрузчика. В случае с Linux, MBR передаёт управление основному загрузчику GRUB. Он располагается сразу после MBR. До начала первого раздела на накопителе есть не менее 32 килобайт свободного места (современные системы оставляют 1 Мбайт), этого достаточно для того, чтобы разместить GRUB.

Таблица разделов в MBR имеет крайне скромный размер, есть место всего на 4 позиции. В связи с этим нельзя разметить накопители объёмом более 2 терабайт. К тому же она использует устаревшую адресацию, с цилиндрами, головками и секторами жёсткого диска.

На компьютерах с UEFI поддержка MBR никуда не делась, но для этого вам придётся активировать BIOS или CSM mode, в зависимости от производителя материнской платы. Это нужно для совместимости со старыми операционными системами.

UEFI + GPT

Интерфейс расширяемой прошивки EFI (позднее унифицированный UEFI) – это разработка Intel. Он был создан потому, что BIOS имеет ряд недостатков. К ним можно причислить работу в 16-битном режиме, последовательную проверку устройств и загрузку только через MBR.

Физически поменялось не многое, разве что FLASH-накопитель для хранения прошивки стал больше. Зато программная часть претерпела значительные изменения. UEFI работает в 32- и 64-битном режиме, поддерживает таблицу разделов GPT, может иметь красивый графический интерфейс, оболочку EFI Shell и управление с помощью мыши. К тому же опрос оборудования происходит гораздо быстрее.

Оглавление таблицы GPT располагается в первом логическом блоке (LBA 1). В GPT перешли к использованию логических блоков, к тому же их понимают современные жёсткие диски и SSD. Нулевой блок по-прежнему отдаётся под MBR, но в этот раз он выполняет защитную функцию, чтобы старые операционные системы не переписали GPT.

Каждой записи таблицы даётся 128 байт, что позволяет разметить накопители практически неограниченного объёма. Да и самих записей может быть больше 100.

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

После проверки устройств, UEFI может самостоятельно обратиться к таблице разделов GPT. В ней её интересует EFI раздел. Обычно под него выделяется 520-540 Мбайт. Такой размер связан с тем, что ранние версии EFI могли выдавать ошибку при работе с меньшим объёмом. Но Windows уже отходит от этой традиции и ограничивается 100 Мбайтами.

7Fyv2Vw+WT8wexPQtpHJr0lYogOivI8w5HgnUMwVFMhmjA9T0W0YRwroGouQ+Jr40nkZaMX9vh7jG8+f8NKDHUhRFlCWYAAAAASUVORK5CYII=

В разделе EFI обязательно должна быть папка EFI/BOOT, в ней находится загрузчик по умолчанию. Но никто не мешает добавить свой загрузчик, например, для Ubuntu и Windows.

К минусам UEFI можно отнести Secure Boot. Загрузчик без подписи просто не сможет быть использован. Эти меры направлены в первую очередь на компьютеры с Windows, чтобы не допустить использование старых систем на новых омпьютерах. Для Linux в этом случае приходится искать подписанный загрузчик или отключать Secure Boot, если имеется такая возможность.

Ещё одним способом загрузки является PXE – загрузка через сетевой интерфейс. Первичный загрузчик находится в ПЗУ сетевой карты. С его помощью карта через протокол TFTP получает основной загрузчик.

Этот способ загрузки будет работать как с BIOS, так и с UEFI. Он полезен для работы с тонкими клиентами и для установки операционной системы по сети.

Второй этап: загрузчик

Загрузчик подготавливает систему к загрузке ядра операционной системы. Например, для Linux он может передавать параметры запуска ядра. В зависимости от того, что используется, BIOS или UEFI, выбор загрузчика отличается.

6AAAAABJRU5ErkJggg==

Как можете видеть, в Ubuntu есть как .efi загрузчик, так и GRUB.

Nirflz6FLJsAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAjwv8N+JwBK6drFIIAAAAAElFTkSuQmCC

GRUB – это основной загрузчик для большинства дистрибутивов Linux. Он примечателен тем, что позволяет не только запустить ядро Linux или другой операционной системы, но ещё и сам по себе способен выполнять некоторые операции. Он имеет собственную командную строку и в теории позволяет устранить собственные ошибки. GRUB существует в версиях как для BIOS, так и UEFI. Но последний не имеет цифровой подписи для Secure Boot.

Syslinux Project

Дальше выполняется загрузка ядра Linux. Ядро лежит в папке boot под названием vmlinuz. «vm» в начале говорит о том, что ядро будет размещено в виртуальной памяти. А «z» на конце означает то, что ядро запаковано в архив и требует распаковку. Это возможно благодаря тому, что в начале архива находится исполняемый код.

Читайте так же:
В настройках синхронизации нет календаря google

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

Ядро Linux монолитное, драйверы устройств хранятся прямо в нём. Однако, это утверждение верно лишь отчасти. Большая часть периферийных устройств не имеет драйверов в ядре Linux. Вместо этого в оперативной памяти распаковывается ещё один файл во временной файловой системе – initrd.img.

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

Четвертый этап: запуск пользовательских служб

Ядро загрузилось и работает. Но этого недостаточно для работы с операционной системой. Вы по-прежнему не можете взаимодействовать с ней на прикладном уровне. Для того, чтобы можно было что-то сделать в Linux, управление получает подсистема инициализации и управления службами. Обычно этот процесс имеет идентификационный номер PID-1.

Systemd

Bxq7B+6xtK8tAAAAAElFTkSuQmCC

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

Стоит пару слов уделить D-Bus. Эта служба позволяет процессам взаимодействовать друг с другом. Например, через неё служба управления звуковыми устройствами узнаёт о том, что была нажата клавиша увеличения громкости, распознанная другой службой. Такой подход позволяет создавать простые, но эффективные службы.

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

Sysvinit, OpenRC и другие

Sysvinit считается устаревшей системой. Она следует принципам, заложенным ещё в 80-х годах для операционной системы Unix System V. Запуск служб происходит последовательно, а настройка производится с помощью скриптов, что несколько проще, чем у systemd.

Для дистрибутива Gentoo разрабатывается система инициализации OpenRC. Её можно назвать осовремененной sysvinit. Но важно понимать, что рядовому пользователю система инициализации безразлична, она интересует лишь тех, кто добавляет свои службы и утилиты в дистрибутив Linux.

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

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

AixWqqneUYgAAAAASUVORK5CYII=

Нельзя списывать со счетов и дисплейный менеджер. Это по сути первая программа с графическим интерфейсом. Она отвечает за вход в систему. Хотя и до её запуска проводились некоторые работы, был запущен сервер X11 для обращения к видеокарте и обработки команд управления c мыши и клавиатуры.

После ввода пароля запускается оконный менеджер с библиотеками отображения (обычно GTK3 или Qt) и непосредственно само окружение рабочего стола. Эти службы отвечают за то, чтобы вы могли перемещать окна, перетаскивать файлы, иметь несколько рабочих столов и тому подобное. Всё, загрузка Linux выполнена и операционная система полностью готова к использованию!

Выводы

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

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

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

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

Диск (жесткий, гибкий или лазерный), на котором находятся файлы операционной системы и с которого производится ее загрузка, называется системным.

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

Самотестирование компьютера. В состав компьютера входит энергонезависимое постоянное запоминающее устройство (ПЗУ), содержащее программы тестирования компьютера и первого этапа загрузки операционной системы — это BIOS (Basic Input/Output System — базовая система ввода/вывода).

После включения питания компьютера или нажатия кнопки Reset на системном блоке компьютера или одновременного нажатия комбинации клавиш на клавиатуре процессор начинает выполнение программы самотестирования компьютера POST (Power-ON Self Test). Производится тестирование работоспособности процессора, памяти и других аппаратных средств компьютера.

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

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

Читайте так же:
Ошибка установки базовой системы

Загрузка операционной системы. После проведения самотестирования специальная программа, содержащаяся в BIOS, начинает поиск загрузчика операционной системы. Происходит поочередное обращение к имеющимся в компьютере дискам (гибким, жестким, CD-ROM) и поиск на определенном месте (в первом, так называемом загрузочном секторе диска) наличия специальной программы Master Boot (программы-загрузчика операционной системы).

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

Рис. 4.20. Процесс загрузки операционной системы

Если системные диски в компьютере отсутствуют, на экране монитора появляется сообщение «Non system disk», и компьютер «зависает», то есть загрузка операционной системы прекращается и компьютер остается неработоспособным.

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

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

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

Занятие 14. Управление процессом загрузки.

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

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

Изменение файла boot.ini.

Файл boot.ini находится в корневом каталоге системного раздела и служит для управления многовариантной загрузкой и параметрами загружаемых ОС. 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» /fastdetect
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS=»Windows Server 2003, Enterprise» /fastdetect

Файл boot.ini состоит из 2-х разделов: [boot loader] и [operating systems].

Раздел [boot loader] может содержать всего 2 параметра: timeout и default. Параметр timeout задает время в секундах, по истечении которого будет произведена загрузка ОС по умолчанию. Если в boot.ini задана только одна ОС, то значение данного параметра игнорируется. Параметр, установленный в 0, означает моментальную загрузку ОС по умолчанию; для выбора другой ОС в момент загрузки нужно нажать клавишу F8. Параметр, установленный в -1, означает «вечное» ожидание выбора ОС для загрузки; ОС по умолчанию будет загружена только после того, как пользователь нажмет клавишу Enter. Следует заметить, что счетчик останавливается, если пользователь начинает что-либо делать с меню выбора ОС (перемещаться по меню и т. п.).

Параметр default задает ARC-путь к системному каталогу ОС, загружаемой по умолчанию. Эта ОС должна быть перечислена в разделе [operating systems].

Раздел [operating systems] может содержать до 10 параметров, описывающих отдельные ОС и параметры их загрузки. Каждый параметр имеет такой синтаксис:

ARC_путь_к_системному_каталогу = “Название ОС” [параметры]

Правила задания ARC-путей к системным каталогам ОС рассматриваются ниже. В качестве названия ОС можно задать любой набор символов, который будет отображаться в меню выбора ОС при многовариантной загрузке. Несмотря на то, что загрузчик русской версии Windows XP Professional поддерживает символы кириллицы в загрузочном меню, рекомендуется называть загружаемые ОС, используя только латинские символы. В качестве параметров задается один или более параметров, определяющих процесс загрузки и работы ядра ОС. Набор параметров зависит от используемой ОС. Параметры для Windows NT и 2000 будут рассмотрены ниже.

В разделе [operating systems] может быть описано любое количество ОС, но в силу особенностей загрузчика Windows в загрузочное меню будут выведены только первые 10 ОС из списка.

Операционные системы MS-DOS, Windows 3.x и 9x загружаются с использованием той или иной версии DOS, загрузочный сектор которой хранится в файле bootsect.dos в корневом каталоге системного диска. Поэтому вы не можете осуществлять многовариантную загрузку нескольких версий указанных ОС. Т. к. загрузчик MS-DOS «не понимает» ARC-имен, для всех вышеперечисленных ОС вместо ARC-пути указывается традиционный путь к каталогу ОС (например, для Windows 9x указывается c:\Windows, для MS-DOS — просто c:\).

ARC-имена и разделы жестких дисков.

Чтобы полностью понять все тонкости работы файла boot.ini, который управляет процессом загрузки Windows, необходимо знать, что стоит за термином Microsoft Advanced RISC Computer (ARC) names (иногда встречается термин «ARC path name»). ARC — это соглашение об именах, используемое программным обеспечением контроллеров диска для задания уникального идентификатора, указывающего на системный и загрузочный разделы Windows, дисковое устройство и раздел диска. Эти имена записаны в файле boot.ini; иногда их приходится редактировать, в частности при переносе диска с одного контроллера на другой или при восстановлении зеркального набора дисков.

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

Подробнее рассмотрим отдельные компоненты ARC-имени подробнее.

Элемент ARC-имени

Описание

Как правило, имена ARC начинаются с элемента multi(*); идентификация scsi(*) используется только в том случае, если на компьютере установлен контроллер SCSI с отключенной BIOS. multi(*) применяется для указания на контроллеры жестких дисков всех типов (IDE, EIDE, ESDI, SCSI), поддерживаемые через собственную или системную BIOS (для большинства современных контроллеров это скорее правило, чем исключение). Вместо * указывается порядковый номер контроллера. Контроллеры нумеруются с нуля; первым (нулевым) является контроллер, который подключен к разъему материнской платы с меньшим номером. Если в системе установлены только IDE-диски, то элемент multi(*) будет всегда иметь значение 0. При использовании IDE и SCSI-контроллеров в одном компьютере, через элемент multi(*) могут быть адресованы только IDE-диски. Все остальные диски адресуются через элемент scsi(*) не зависимо от их поддержки в BIOS

Этот элемент ARC-имени используется только в случае адресации контроллера дисков через элемент scsi(*). Вместо * указывается SCSI Bus ID (от 0 до 6) для соответствующего диска. Если ARC-имя начинается с multi(*), то значение элемента disk всегда равно 0

Этот элемент ARC-имени используется только в случае адресации контроллера дисков через элемент multi(*). Вместо * задается либо логический номер дискового устройства (logical unit number, LUN), либо положение в цепочке жестких дисков, связанных с контроллером. Нумерация дисков начинается с 0

Этот элемент ARC-имени задает раздел диска. В отличие от остальных элементов ARC-имени, нумерация разделов начинается с 1

Путь к каталогу или файлу от корня раздела

При использовании элемента scsi(*) в корневом каталоге системного диска должен быть расположен файл ntbootdd.sys, который является копией драйвера используемого SCSI контроллера из каталога %systemroot%\system32\drivers. Т. к. scsi(*) используется при отключенной BIOS контроллера, загрузчику нужен дополнительный драйвер для доступа к дискам.

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

На компьютерах с архитектурой Intel допустимо разбиение каждого жесткого диска на 4 раздела. Один из этих разделов может быть дополнительным (extended), т. е. разделом, в котором могут быть созданы логические диски. Остальные три раздела (или четыре, если нет дополнительного) называются основными (primary) и содержат по одному логическому диску.

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

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

Расширения ARC-синтаксиса.

Начиная с Windows 2000 возможно использование еще одного корневого элемента ARC-имени — signature(*). О новой возможности можно подробно прочитать в статье Q227704 Microsoft Knowledge Base. Пример ARC-пути:

Новый элемент signature(*) является альтернативой элементу scsi(*) и используется в тех же случаях — отключенная BIOS SCSI-контроллера. Новый элемент был введен для поддержки технологии Plug and Play для жестких дисков при их перемещении с одного компьютера на другой или в пределах одного компьютера. Использование signature(*) позволяет перемещать загрузочный диск в пределах компьютера не модифицируя при этом файл boot.ini. При обнаружении ARC-пути, начинающегося с signature(*), загрузчик будет опрашивать все доступные диски и искать среди них диск с указанной сигнатурой. Это вызывает достаточно продолжительную паузу при загрузке компьютера.

Сигнатура представляет собой уникальное шестнадцатеричное значение, которое хранится в Master Boot Record (MBR) каждого жесткого диска, к которому когда-либо имела доступ ОС Windows NT, 2000, XP. Сигнатура диска может меняться с течением времени, например, если MBR была повреждена вирусом или было произведено низкоуровневое форматирование диска. Если сигнатура диска была изменена по каким-либо причинам, это приведет к невозможности загрузки ОС с указанного раздела; сообщение об этом будет выдано во время загрузки системы.

С осторожностью относитесь к использованию элемента signature(*) в файле boot.ini. Не пытайтесь изменять значения, записанные системой в ARC-пути, начинающиеся с signature(*).

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

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

Параметр

Поддерживается InsertFootnote(«§», «Используются следующие сокращения: NT — Windows NT, 2000 — Windows 2000.»);

Описание

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

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

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

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

Выводит на экран имена загружаемых драйверов и модулей.

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

Ограничивает объем памяти, используемой ядром Windows. Этот переключатель полезен при неисправности части ОЗУ

Указывает, какой SCSI-контроллер будет использован для загрузки ОС (при использовании 2-х идентичных контроллеров)

Задает скорость COM-порта, используемого для подключения отладчика ядра (Kernel Debugger)

Задает загрузку Windows без отображения графического окна состояния загрузки

Включает ведения файла журнала загрузки

Включает безопасный режим (safe mode)

Включает безопасный режим с поддержкой сети (safe mode with networking)

Включает безопасный режим с запуском эмулятора командной строки (safe mode with command prompt)

Включает режим восстановления Active Directory (directory services restore mode). Доступен только на контроллерах домена

Включает режим отладки

Включает распределение виртуального адресного пространства 3-1 (3 Гб для процессов режима пользователя, 1 Гб для ядра) вместо стандартного режима 2-2 (2 Гб для процессов режима пользователя, 2 Гб для ядра). Доступен только на Windows 2000 Advanced Server, Windows 2000 Datacenter Server, Windows XP и более поздних ОС.

Включает поддержку спецификации Intel Physical Addressing Extension (PAE), что позволяет системе адресовать более 4 Гб физической памяти. Доступен только на Windows 2000 Advanced Server, Windows 2000 Datacenter Server, Windows XP и более поздних ОС.

голоса
Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector