Процесс загрузки операционной системы начинается с: Этапы загрузки операционной системы

Содержание

Загрузка операционной системы — урок. Информатика, 7 класс.

Самотестирование компьютера

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

Включение компьютера осуществляется включением питания.

 

Обрати внимание!

Перезагрузка операционной системы производится нажатием кнопки Reset на системном блоке компьютера или одновременном нажатием комбинации клавиш Ctrl + Alt + Del на клавиатуре.

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

 

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

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

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

Для этого в процессе выполнения самотестирования обычно необходимо нажать клавишу Del.

Загрузится системная утилита BIOS Setup, имеющая итерфейс в виде системы иерархического меню.

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

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

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

Диск, с которого производится загрузка операционной системы, называется системным.

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

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

 

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

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

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

Задумывались ли вы о том, как происходит загрузка операционной системы? Как компьютер узнаёт о том, где находится операционная система? Давайте рассмотрим процесс запуска 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 Мбайтами.

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

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

PXE

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

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

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

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

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

GRUB

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

Syslinux Project

Syslinux – это целое семейство, состоящее из трёх загрузчиков: syslinux, isolinux, pxelinux. Первый выполняет аналогичную GRUB функцию, isolinux подходит для работы с файловой системой компакт-дисков (используется для загрузочных Flash-нкопителей), pxelinux загружается по сети. Версия UEFI, как и в случае с GRUB, не имеет подписи.

rEFInd

Если же вы хотите иметь возможность выбора операционной системы при запуске компьютера с UEFI, то вам стоит установить rEFInd. Этот загрузчик имеет цифровую подпись и может передать управление другим загрузчикам формата .efi.

Ещё одним загрузчиком такого плана будет Clover. Его выбирают зачастую для работы на компьютерах Apple.

EFI BOOT STUB

Начиная с версии 3.3 ядра Linux можно упаковать ядро в .efi файл. Иными словами, загрузчиком будет выступать само ядро Linux.

Несмотря на такое разнообразие загрузчиков, некоторые пользователи до сих пор продолжают использовать LILO – один из первых мультизагрузчиков Linux. Несколько лет назад имел место быть даже EFI-загрузчик ELILO.

Третий этап: ядро

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

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

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

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

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

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

Systemd

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

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

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

Sysvinit, OpenRC и другие

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

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

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

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

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

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

Выводы

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

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

Начальная загрузка операционной системы

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

 

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

Начальная загрузка ОС выполняется автоматически при включении электропитания компьютера или при нажатии на клавишу “Reset” на корпусе компьютера.

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

 

Этот процесс называется начальной загрузкой. Она выполняется автоматически при включении электропитания компьютера.

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

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

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

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

В случае если в дисковод вставлен несистемный диск или диск вообще отсутствует, то на экране монитора появляется сообщение: Not sуstem disk, и компьютер «зависает».

 

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

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

 

Вопросы для самоконтроля 1. Для чего необходима операционная система? 2. Какие компоненты входят в состав операционной системы? 3. Что называется файлом, как задается его имя? 4. Какие могут быть расширения текстовых файлов? 5. Чем отличается быстрое и полное форматирование диска? 6. Чем различаются одноуровневая и иерархическая файловые структуры? 7. Какие операции с файлами возможно? 8. Каковы основные этапы загрузки операционной системы?
Настройка интерфейса Windows Вопросы для изучения:   1. Рабочий стол Windows. 1.1. Значки и ярлыки объектов. 1.2. Окна. 1.3. Панель задач. 1.4. Панель индикации. 2. Структура окна папки. 2.1. Строка заголовка. 2.2. Кнопки управления размерами окна. 2.3. Системный значок. 2.4. Строка меню. 2.5. Панель инструментов. 2.6. Адресная строка. 2.7. Рабочее поле. 2.8. Строка состояния.  
    

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

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

Компьютер включается, но не запускается операционная система: причины

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

Тут есть три варианта:

  • появляется черный экран;
  • возникает синий экран BSoD;
  • операционная система стартует, но не может полностью загрузиться.

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

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

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

Компьютер включается, но не загружается: что делать в первую очередь?

Итак, начнем с самого простого. Предположим, что в системе произошел кратковременный технический сбой, например при некорректном завершении работы или перепадах напряжения.

Как правило, практически все сегодня используемые модификации Windows обычно при рестарте автоматически активируют запуск Если этого не произошло, перед стартом системы придется использовать клавишу F8 для вызова дополнительного загрузочного меню (в Windows 10 используется другой метод).

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

Возможное вирусное заражение

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

Среди всего многообразия антивирусного ПО отдельно стоит отметить дисковые утилиты, которые стартуют непосредственно с оптического носителя или USB-устройства, имеют собственные загрузочные записи и даже графический интерфейс наподобие Windows. Одним из самых мощных средств можно назвать Kaspersky Rescue Disk. Его использование может гарантировать почти стопроцентное обнаружение вирусов, даже скрывающихся в оперативной памяти.

Конфликты оперативной памяти

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

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

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

Система не видит жесткий диск

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

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

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

Иногда помогает и изменение настроек первичной системы ввода/вывода BIOS. Здесь нужно найти раздел, связанный с настройкой винчестера, и в параметрах конфигурации SATA деактивировать использование режима AHCI.

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

Использование установочного диска

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

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

Проблемы с загрузчиком BOOTMGR

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

Исправить эту проблему можно при условии старта с загрузочного диска и перехода к командной строке в консоли восстановления, для вызова которой следует нажать клавишу «R». Далее нужно сначала использовать команду проверки диска, а затем исправить (восстановить) загрузочные записи.

Вся последовательность выглядит следующим образом:

  • chkdsk c: /f /r;
  • Bootrec.exe /FixMbr;
  • Bootrec.exe /FixBoot.

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

Можно применять и некоторые сторонние утилиты. Наиболее подходящей программой выглядит средство под названием MbrFix, которое входит в состав загрузочного комплекта Hiren’s Boot CD. После ее вызова, например, для Windows 7 при условии того, что именно эта система установлена, причем только на одном диске (разбиение на разделы отсутствует), следует прописать следующее:

  • MbrFix.exe /drive 0 fixmbr /win7.

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

Проблемы с доступом к файлу NTLDR

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

Однако если результат достигнут не будет, нужно будет скопировать оригинальный файл в корень системного раздела. Например, если это диск «C», а дисковод — «E», команда будет иметь следующий вид:

  • E:\i386> copy ntldr C:\ (после копирования система загрузится без проблем).

Поврежденный или отсутствующий файл HAL.dll

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

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

  • C:\windows\system32\restore\rstrui.exe (далее нажимается клавиша Enter и производится рестарт).

Вместо итога

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

На самом деле, «чисто» описать, как компьютер инициализируется, не получится — во многих системах это происходит с небольшими отличиями, да и надо учитывать набор оборудования, предустановки и пр. Но в основном — это выглядит следующим образом:
Включаем питание — происходит общий сброс логики и процессора, процессор начинает выполнять набор инструкций, которые изначально хранятся в ПЗУ на материнской плате. Набор можно логически разбить на три части:

  1. Power On Self Test (POST) — запускается только один раз и сразу после включения питания. В этом тесте проверяется аппаратура на наличие грубых ошибок (функционирование аппаратуры вообще). Одним из видимых шагов на экране — тестирование памяти.
  2. Инициализация — запускается каждый раз, когда машина перегружается (например, когда пользователь нажимает Ctrl-Alt-Del) — инициализирует все доступные устройства на плате и в слотах расширения (ISA, PCI, AGP).
  3. Третья часть — это собственно BIOS (BASIC INPUT/OUTPUT SYSTEM) — базовая система ввода/вывода на низком уровне. Этими функциями пользуются некоторые операционные системы (DOS, Windows и др.) Обычно, весь BIOS располагается на отдельном чипе, который программируется на заводе, хотя в современных компьютерах может быть перепрограммирован прямо из системы. Т.е. сейчас используется Flash Memory.

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

Тест памяти — это наиболее видимая часть теста аппаратуры на этапе POST. Кстати, о видимости — видеоадаптер — тоже аппаратура, и его как раз необходимо инициализировать в первую очередь — чтобы пользователь мог видеть процесс тестирования и инициализации устройств. Так же, необходимо установить еще и режим (частоту обновления, разрешение) экрана. Ведь видеокарты могут быть сделаны разными фирмами, да еще и разные модели — кому как не БИОСу самой карточки знать досконально, как ее нужно инициализировать?
На каждой видеокарте есть свой BIOS, который опрашивается на его наличие при тестировании аппаратуры. Сначала системный БИОС ищет видео по стандартным адресам ISA VGA, — если там нет адаптера, то он ищется на PCI , потом на AGP (или сначала AGP, а потом PCI — это прописывается в установках BIOS SETUP). И если, видеобиос найден в одном из слотов, то управление передается на него.

И вообще, присутствие БИОСа на различных адаптерах заставляет системный БИОС отдавать им управление — в случае с видеоадаптером — это включение режима и т.д., в случае с сетевой картой — загрузка с сети (в случае с без дисковыми машинами — удаленная загрузка с сети) — при наличие BIOS на сетевой карте и наличие жесткого диска БИОС, например, может спросить — как будем грузиться — с сети или с имеющегося HDD? При наличии SCSI адаптера — он должен проинициализировать свои устройства (диски, CD-приводы, ленточные накопители и т.п.) и если таковые найдутся из числа дисков SCSI — необходимо будет поддержать int13 для того, чтобы система могла обращаться к ним, как к обычным жестким дискам. Хотя, инициализация SCSI устройств необязательна — например, при старте, ее можно отключать — если SCSI устройство не является загрузочным, это разумно.

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

Итак, коротко можно описать следующим образом: все, кроме SCSI, IDE, USB «оживает» сразу — из адаптеров исключение составляет видеоадаптер, который инициализируется даже до проверки памяти.

Далее — если в слотах ISA находятся другие устройства, имеющие свои ПЗУ (с BIOS) — они инициализируются на этапе проверки внешних устройств, потом проходит проверка и назначение PCI (проверка устройств Plug and Play). Кстати, PnP есть и на ISA адаптерах.
Только после этого начинается проверка наличия устройств на IDE шине.

Тут может возникнуть вопрос — а как быть, если на ISA нет видеоадаптера, а есть на PCI — но ведь он «оживает» сразу — не дожидаясь даже проверки всего PCI? Просто на PCI есть BIOS, отображаемый в обычное пространство памяти, и все VGA PCI имеют еще и стандартную VGA программную часть, находящуюся в тех же регистрах, как и в случае, если бы это был ISA адаптер. Системный BIOS проверяет, есть ли VGA на ISA шине — если да, то на PCI шину и «не лезет», если нет — то сканирует PCI.

Ну, и в конце концов, после инициализации — считывается первый сектор первой дорожки первой головки жесткого диска и управление передается загрузочному сектору, который уже управляет дальнейшими действиями (либо выдается сообщение типа «NO SYSTEM TO BOOT»). Или подобным же образом система грузится с дискеты.

3.3. Процесс загрузки компьютера

Многие, прочитав заглавие, улыбнутся: ну что же здесь сложного? Однако вдумайтесь: что же происходит с ПК после нажатия кнопки Power (включение питания) ? Этот вопрос редко задают себе как начинающие, так и опытные пользователи. Автору приходилось задавать его и специалистам в области компьютерной техники, но исчерпывающих ответов было мало. Тем не менее, при сбоях или отказе компьютера знание основ процесса начальной загрузки во многих случаях помогает обнаружить или быстро локализовать неисправность.

Для конкретизации изложения рассмотрим процесс загрузки компьютера, оснащённого материнской платой, на которой установлен BIOS AWARD и Intel-совместимый микропроцессор, а в качестве ОС – Windows 98.

После нажатия кнопки Power источник питания выполняет самотестирование. Если все напряжения соответствуют номинальным, источник питания спустя 0,1…0,5 с выдаёт на материнскую плату сигнал PowerGood, а специальный триггер, вырабатывающий сигнал RESET, получив его, снимает сигнал сброса с соответствующего входа микропроцессора. Следует помнить, что сигнал RESET устанавливает сегментные регистры и указатель команд в следующие состояния (не используемые в реальном режиме биты не указываются) : CS = FFFFh; IP = 0; DS = SS = ES = 0 и сбрасывает все биты управляющих регистров, а также обнуляет регистры арифметическо-логического устройства. Во время действия сигнала RESET все три стабильные буферные схемы переходят в высоко импендансное состояние. С момента снятия этого сигнала микропроцессор начинает работу в реальном режиме и в течение примерно 7 циклов синхронизации приступает к выполнению инструкции, считываемой из ROM BIOS по адресу FFFF:0000. Размер области ROM BIOS от этого адреса до конца равен 16 байт, и в ней по указанному адресу записана команда перехода на реально исполняемый код BIOS. В этот момент процессор не может выполнять никакую другую последовательность команд, поскольку нигде в любой из областей памяти, кроме BIOS, её просто не существует. Последовательно выполняя команды этого кода, процессор реализует функцию начального самотестирования POST (Power-On Self Test) . На данном этапе тестируются процессор, память и системные средства ввода/вывода, а также производится конфигурирование программно-управляемых аппаратных средств материнской платы. Часть конфигурирования выполняется однозначно, другая часть может определяться положением джамперов (перемычек или переключателей) системной платы, но ряд параметров возможно (а иногда и необходимо) устанавливать пользователю. Для этих целей служит утилита Setup, встроенная в код BIOS. Параметры конфигурирования, установленные с помощью этой утилиты, запоминаются в энергонезависимой памяти, питаемой от миниатюрной батарейки, размещённой на материнской плате. Часть из них всегда хранится в традиционной CMOS Memory, объединённой с часами и календарём RTC (Real Time Clock) . Другая часть (в зависимости от фирмы-производителя) может помещаться и в энергонезависимую (например, флэш) память (NVRAM) . Кроме этой части статически определяемых параметров, имеется область энергонезависимой памяти ESCD для поддержки динамического конфигурирования системы Plug and Play, которая может автоматически обновляться при каждой перезагрузке компьютера.

Утилита BIOS Setup имеет интерфейс в виде меню или отдельных окон, иногда даже с поддержкой мыши. Для входа в Setup во время выполнения POST появляется предложение нажать клавишу DEL. В других типах BIOS (в отличие от указанного выше) для этого может использоваться сочетание клавиш Ctrl+Alt+Esc, Ctrl+Esc, клавиша Esc, бывают и другие варианты (например, нажать клавишу F12 в те секунды, когда в правом верхнем углу экрана виден прямоугольник) . В последнее время появились версии BIOS, в которых вход в Setup осуществляется нажатием клавиши F2, однако чаще клавиши F1 или F2 используются для вызова меню Setup, если POST обнаружит ошибку оборудования, которая может быть устранена сменой начальных установок. Для некоторых BIOS удержание клавиши INS во время POST позволяет установить настройки по умолчанию, отменяя все ускорители . Это бывает удобно для восстановления работоспособности компьютера после попыток его неудачного «разгона». Выбранные установки сохраняются при выходе из Setup (по желанию пользователя) и начинают действовать с момента следующего выполнения POST.

При выполнении каждой подпрограммы POST записывает её сигнатуру (код) в диагностический регистр. Этот регистр физически должен располагаться на специальной плате диагностики (сигнатурном анализаторе, или так называемой POST-карте) , устанавливаемой в слот системной шины при анализе неисправности. Такие POST-карты бывают в двух исполнениях: для шин ISA и PCI. На данной плате обязательно устанавливается двухразрядный семисегментный индикатор, высвечивающий содержимое регистра диагностики. Возможно также наличие двоичного индикатора адреса. В пространстве ввода/вывода регистр занимает один адрес, зависящий от архитектуры РС (версии BIOS) . Например, для ISA, EISA – 80h; ISA Compaq – 84h; ISA-PS/2 – 90h; для некоторых моделей EISA – 300h; MCA-PS/2 – 680h. Имея в наличии подобный сигнатурный анализатор по индицируемым кодам, можно определить, на каком этапе остановился POST. Зная специфическую таблицу сигнатур для каждой версии BIOS, легко определить неисправность системной платы.

Перечислим в порядке выполнения основные тесты POST для BIOS AWARD V4.51 и их сигнатуры, высвечиваемые POST-картой на индикаторе регистра диагностики. Следует отметить, что далеко не все перечисленные ниже коды видны на индикаторе в процессе нормальной загрузки компьютера: некоторые высвечиваются лишь в том случае, если POST останавливается. Происходит это потому, что многие подпрограммы POST исполняются настолько быстро, что человеческий глаз не в состоянии уследить за индицируемым состоянием регистра диагностики, а некоторые коды появляются только при обнаружении неисправности. Для указанной версии BIOS первой исполняемой сигнатурой в последовательности POST является C0:

  1. C0 – осуществляется программирование регистров микросхемы Host Bridge для установки следующих режимов:
  • запрещается Internal и External Cache, а также операции с кэш-памятью;
  • перед запретом Internal Cache очищается;
  • Shadow RAM запрещается, вследствие чего происходит направление непосредственно к ROM циклов обращения к адресам расположения System BIOS. Эта процедура должна соответствовать конкретному чипсету;
  • далее программируются РIIХ ресурсы: контроллер DMA, контроллер прерываний, таймер, блок RTC. При этом контроллер DMA переводится в пассивный режим.
  • C1 – с помощью последовательных циклов запись/чтение определяется тип памяти, суммарный объём и размещение по строкам. И в соответствии с полученной информацией настраивается DRAM-контроллер. На этом же этапе процессор должен быть переключён в Protected Mode (защищённый режим) .
  • C3 – проверяются первые 256 кб памяти, которые в дальнейшем будут использованы как транзитный буфер, а также осуществляется распаковка и копирование System BIOS в DRAM.
  • C6 – по специальному алгоритму определяется наличие, тип и параметры External Cache.
  • CF – определяется тип процессора, а результат помещается в CMOS. Если по каким-либо причинам определение типа процессора закончилось неудачно, такая ошибка становится фатальной и система, а соответственно и выполнение POST, останавливается.
  • 05 – осуществляется проверка и инициализация контроллера клавиатуры, однако на данный момент приём кодов нажатых клавиш ещё не возможен.
  • 07 – проверяется функционирование CMOS и напряжение питания её батареи. Если фиксируется ошибка питания, выполнение POST не останавливается, однако BIOS запоминает этот факт. Ошибка при контрольной записи/чтении CMOS считается фатальной и POST останавливается на коде О7.
  • BE – программируются конфигурационные регистры Host Bridge и PIIX значениями, взятыми из BIOS.
  • 0A – генерируется таблица векторов прерываний, а также производится первичная настройка подсистемы управления питанием.
  • 0B – проверяется контрольная сумма блока ячеек CMOS, а также, если BIOS поддерживает PnP, выполняется сканирование устройств ISA PnP и инициализация их параметров. Для PCI-устройств устанавливаются основные (стандартные) поля в блоке конфигурационных регистров.
  • 0C – инициализируется блок переменных BIOS.
  • 0D/0E – определяется наличие видеоадаптера путём проверки наличия сигнатуры 55АА по адресу начала Video BIOS (C0000:0000h) . Если Video BIOS обнаружен и его контрольная сумма правильная, включается процедура инициализации видеоадаптера. С этого момента появляется изображение на экране монитора, высвечивается заставка видеоадаптера, инициализируется клавиатура. Далее по ходу POST тестируется контроллер DMA и контроллер прерываний.
  • 30/31 – определяется объём Base Memory и External Memory, и с этого момента начинается отображаемый на экране тест оперативной памяти.
  • 3D – инициализируется PS/2 mouse.
  • 41 – производится инициализация подсистемы гибких дисков.
  • 42 – выполняется программный сброс контроллера жёстких дисков. Если в Setup указан режим AUTO, производится детектирование устройств IDE, в противном случае параметры устройств берутся из CMOS. В соответствии с конфигурацией системы размаскируются прерывания IRQ14 и IRQ15.
  • 45 – инициализируется сопроцессор FPU.
  • 4E – настраивается клавиатура USB. На данном этапе становится возможен вход в CMOS Setup по нажатию клавиши DEL.
  • 4F – осуществляется запрос на ввод пароля, если это предусмотрено установками CMOS Setup.
  • 52 – производится поиск и инициализация ПЗУ дополнительных BIOS, а также картируется каждая из линий запросов прерывания PCI.
  • 60 – если в Setup включён данный режим, устанавливается антивирусная защита BOOT Sector.
  • 62 – осуществляется автоматический переход на зимнее или летнее время, для клавиатуры настраиваются состояние NumLock и режим автоповтора.
  • 63 – корректируются блоки ESCD (только для PNP BIOS) и производится очистка ОЗУ.
  • B0 – это состояние записывается в регистр сигнатурного анализатора только в случае наличия ошибок, например, при тесте Extended Memory. Если при работе в Protected Mode сбои отсутствуют, то POST не включает эту ветвь. При наличии страничных нарушений и других исключительных ситуаций управление будет передано на эту процедуру, она выведет код B0 в порт 80(84)h и остановится.
  • FF – последний этап, на котором подводится итог тестирования – успешная инициализация аппаратных средств компьютера сопровождается одиночным звуковым сигналом, после чего осуществляется передача управления загрузчику BOOT-сектора.
  • Порядок поиска загрузочного диска на компьютерах x86 (FDD, жёсткие диски IDE и SCSI, устройства CD-ROM) задаёт BIOS. Современные BIOS позволяют переконфигурировать этот порядок, называемый последовательностью загрузки (boot sequence) . Если при этом дисковод A: включён в последовательность загрузки первым и в нём находится дискета, BIOS попытается использовать эту дискету в качестве загрузочной. Если дискеты в дисководе нет, BIOS проверяет первый жёсткий диск, который к этому времени уже инициализировался, и выполняет команду INT19h. Процедура обработки прерывания INT19h для загрузки BOOT-сектора должна прочитать сектор с координатами Cylinder:0 Head:0 Sector:1 и поместить его по адресу 0000:7С00h, после чего осуществляется проверка, является ли диск загрузочным. Сектор MBR (Master Boot Record – главная загрузочная запись) на жёстком диске находится по тому же физическому адресу, что и BOOT-сектор на дискете (цилиндр 0, сторона 0, сектор 1) .

    Если при проверке загрузочный сектор не обнаружен, т.е. два последних байта этого сектора (его сигнатура) не равны 55ААh, вызывается прерывание INT18h. При этом на экране появляется предупреждающее сообщение, зависящее от производителя BIOS компьютера.

    Сектор MBR записывается на жёсткий диск программой FDISK, поэтому если HDD был отформатирован на низком уровне, во всех его секторах находятся нули и, естественно, первый сектор не может содержать необходимой сигнатуры. Отсюда следует, что сообщения об ошибке будут выдаваться, если диск не разбивался на разделы (логические диски) . Главная загрузочная запись обычно не зависит от операционной системы (на платформах Intel она используется для запуска любой из операционных систем) . Код, содержащийся в главной загрузочной записи, сканирует таблицу разделов (partition table) в поисках активного системного раздела. Если в таблице разделов активный раздел не обнаружен или хотя бы один раздел содержит неправильную метку, а также, если несколько разделов помечены как активные, выдаётся соответствующее сообщение об ошибке.

    Код главной загрузочной записи определяет расположение загрузочного (активного) раздела, считывая таблицу разделов, расположенную в конце MBR. Если активный раздел найден, производится чтение его загрузочного сектора и определяется, является ли он действительно загрузочным. Попытка чтения может осуществляться до пяти раз, в противном случае выдаётся сообщение об ошибке, и система останавливается. Если загрузочный сектор найден, Master Boot Record передаёт управление коду загрузочного сектора в активном (загрузочном) разделе, который содержит загрузочную программу и таблицу параметров диска. Загрузочный сектор раздела просматривает блок параметров BIOS в поисках расположения корневого каталога, а затем копирует из него в память системный файл IO.SYS (который, по сути, является частью DOS и включает в себя функции файла MSDOS.SYS из предыдущей версии DOS) и передаёт ему управление. IO.SYS загружает драйверы некоторых устройств и выполняет ряд операций, связанных с загрузкой. Сначала IO.SYS считывает файл MSDOS.SYS. Нужно помнить, что этот файл не похож на одноимённые файлы из предыдущих версий DOS. В Windows 98 MSDOS.SYS является текстовым файлом, содержащим опции процедуры запуска. Затем загружается и отображается файл LOGO.SYS (стартовая заставка) .

    На следующем этапе IO.SYS считывает информацию из системного реестра, а также исполняет файлы CONFIG.SYS и AUTOEXEC.BAT (при их наличии в корневом каталоге) . При этом загружаются драйверы устройств, работающих в реальном режиме работы процессора, выполняются некоторые системные установки. Ниже приводится неполный список возможных драйверов и программ, загружаемых на данном этапе.

    DBLSPACE.BIN или DRVSPACE.BIN. Драйвер сжатия дисков.

    HIMEM.SYS. Администратор верхней памяти в реальном режиме работы процессора.

    IFSHLP.SYS. Оказывает содействие при загрузке VFAT и прочих файловых систем, поддерживающих Windows 98.

    SETVER.EXE. Утилита, подменяющая номер версии операционной системы. Существуют программы, ориентированные на более ранние версии операционных систем и отказывающиеся функционировать под Windows 98. Благодаря SETVER.EXE подобной программе возвращается именно тот номер версии DOS, который её устраивает.

    DOS=HIGH. Загружает DOS в область памяти HMA. Если в файле конфигурации CONFIG.SYS содержится инструкция для загрузки администратора отображаемой памяти EMM386.EXE, в эту строку добавляется параметр UMB, позволяющий EMM386.EXE использовать верхнюю память. Нужно помнить, что IO.SYS не загружает администратор EMM386.EXE автоматически. Поэтому, если планируется его использование, в файл CONFIG.SYS необходимо вставлять строку DEVICE=EMM386.EXE.

    FILES=30. В этой строке определяется число создаваемых дескрипторов файла. Windows 98 не использует это параметр; он включён для совместимости с предыдущими версиями программ.

    LASTDRIVE=Z. Здесь определяется последняя буква для логических дисков. Эта опция также введена для обратной совместимости и не используется Windows 98.

    BUFFER=30. Определяет число создаваемых файловых буферов. Буферы файлов используются приложениями при вызовах подпрограмм ввода/вывода из файла IO.SYS.

    STACKS=9,256. Этой записью определяется число кадров стека и размер каждого кадра.

    FCBS=4. Данная команда задает число блоков управления файлом. Оба последних параметра применяются только для обратной совместимости.

    На последнем этапе загружается и запускается файл WIN.COM. Он обращается к файлу VMM32.VXD. Если в компьютере установлен достаточный объём ОЗУ, то этот файл загружается в память, в противном случае организуется доступ к этому файлу на жёстком диске, что, естественно, увеличивает время загрузки. Загрузчик драйверов реального режима сравнивает копии виртуальных драйверов устройств (VxD) в папке Windows/System/VMM32 и файле VMM32.VXD. Если виртуальный драйвер устройства существует и в папке и в файле, копия виртуального драйвера ”помечается” в файле VMM32.VXD как незагружаемая. Виртуальные драйверы устройств, не загруженные с помощью файла VMM32.VXD, загружаются из раздела файла SYSTEM.INI папки Windows. Во время описанного процесса загрузчик драйверов виртуальных устройств реального режима постоянно проверяет правильность загрузки всех необходимых виртуальных драйверов устройств, а при появлении ошибки при загрузке нужного драйвера он пытается выполнить эту операцию ещё раз. После загрузки виртуальные драйверы устройств реального режима инициализируются, затем файл VMM32.VXD переключает процессор в защищённый режим, и начинается процесс инициализации виртуальных драйверов устройств согласно их параметру Init Device. Процедура загрузки ОС заканчивается загрузкой файлов KRNL32.DLL, GDI.EXE, USER.EXE и EXPLORER.EXE. Если компьютер подключён к сети, то загружается сетевое окружение. Пользователю предлагается ввести имя и пароль для входа в сеть. Затем из системного реестра загружается конфигурация с параметрами, установленными по умолчанию. На последней фазе загрузке операционной системы производится обработка содержимого папки Startup и запускаются указанные в ней программы. После этого ОС готова к работе.

    Существует несколько стандартных способов, позволяющих видоизменить описанную выше процедуру запуска:

    • при исполнении POST на этапе проверки памяти и инициализации загрузочных устройств нажать кнопку клавиатуры DEL для входа в программу Setup;
    • вставить перед окончанием теста оборудования загрузочный диск (например, аварийный диск Windows 98) ;
    • внести исправления в файл CONFIG.SYS;
    • отредактировать файл AUTOEXEC.BAT.

    Помимо них, Windows 98 предоставляет ряд менее очевидных методов для выполнения этой же задачи:

    • после завершения теста оборудования клавишей F8 вызвать меню Startup;
    • отредактировать инструкции запуска системы в файле MSDOS.SYS;
    • использовать один из перечисленных методов для ”остановки” в режиме DOS, после чего запустить Windows из командной строки с набором необходимых ключей;
    • изменить содержимое папки Startup.
    — сложный и многошаговый процесс запуска компьютера. Загрузочная последовательность — это последовательность действий, которые должен выполнить компьютер для запуска операционной системы (точнее загрузчика), независимо от типа установленной OS.

    Энциклопедичный YouTube

    • 1 / 5

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

      Решением данного парадокса является использование специальной компьютерной программы , называемой начальным загрузчиком , или BIOS (Basic Input/Output System). Эта программа не обладает всей функциональностью операционной системы, но её достаточно для того, чтобы загрузить другую программу, которая будет загружать операционную систему. Часто используется многоуровневая загрузка, в которой несколько небольших программ вызывают друг друга до тех пор, пока одна из них не загрузит операционную систему.

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

      Начальные загрузчики должны соответствовать специфическим ограничениям, особенно это касается объёма. Например, на IBM PC загрузчик первого уровня должен помещаться в первых 446 байтах главной загрузочной записи , оставив место для 64 байт таблицы разделов и 2 байта для сигнатуры 55AAh, необходимой для того, чтобы BIOS выявил сам начальный загрузчик.

      История

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

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

      0: записать в регистр P число 8 1: проверить что устройство считывания с перфолент может начинать считывание 2: если не может, перейти к п. 1 3: прочитать байт с устройства считывания с перфолент и записать его в аккумулятор 4: если перфолента закончилась, перейти к п. 8 5: записать значение, хранимое в аккумуляторе, в оперативную память по адресу, хранящемуся в регистре P 6: увеличить значение регистра P на единицу 7: перейти к п. 1

      Данный пример основан на начальном загрузчике одного из мини-компьютеров , выпущенного в 1970-х годах фирмой Nicolet Instrument Corporation.

      0: записать в регистр P число 106 1: проверить что устройство считывания с перфолент может начинать считывание 2: если не может, перейти к п. 1 3: прочитать байт с устройства считывания с перфолент и записать его в аккумулятор 4: если перфолента закончилась, перейти к п. 8 5: записать значение, хранимое в аккумуляторе, в оперативную память по адресу, хранящемуся в регистре P 6: уменьшить значение регистра P на единицу 7: перейти к п. 1

      Длина загрузчика второго уровня была такой, что последний байт загрузчика изменял команду, расположенную по адресу 6. Таким образом, после выполнения пункта 5 стартовал загрузчик второго уровня. Загрузчик второго уровня ожидал заправки в устройство считывания перфолент длинной перфоленты, содержащей операционную систему. Различием между загрузчиком первого уровня и загрузчиком второго уровня были проверки на ошибки считывания с перфоленты, которые часто встречались в то время, и, в частности, на используемых в данном случае телетайпах ASR-33.

      Некоторые операционные системы, наиболее характерными из которых являются старые (до 1995 года) операционные системы компьютеров Macintosh производимых Apple Computer , настолько тесно связаны с аппаратным обеспечением компьютеров, что на данных компьютерах невозможно загрузить какую-либо другую операционную систему. В данных случаях обычно разрабатывается начальный загрузчик, который работает как загрузчик стандартной ОС , а затем передает управление альтернативной операционной системе. Apple использовала данный способ для запуска A/UX версию Unix , а затем он использовался различными бесплатными операционными системами.

      Устройства, инициализируемые BIOS

      Загрузочное устройство — устройство, которое должно быть проинициализировано до загрузки операционной системы. К ним относятся устройства ввода (клавиатура , мышь), базовое устройство вывода (видеокарта и дисплей), и устройство, с которого будет произведена загрузка ОС — дисковод , жесткий диск , CD-ROM , флэш-диск , SCSI -устройство, сетевая карта (при загрузке по сети; например, при помощи PXE).

      Последовательность загрузки IBM PC-совместимого компьютера

      После включения персонального компьютера (ПК) на базе процессора семейства Intel 80×86 , его процессор начинает работу в реальном режиме адресации с сегментной организацией и выполнение инструкций процессора с адреса FFFF:0, инициализированного в паре регистров CS:IP (Code Segment: Instruction Pointer) после снятия сигнала RESET. В конце доступного процессору адресного пространства оперативной памяти из ПЗУ материнской платы загружается загрузчик базовой системы ввода-вывода (BIOS), на который передается выполнение по инструкции безусловного перехода, отображенной по адресу FFFF:0.

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

      Затем BIOS опрашивает по порядку устройства из заранее сформированного (в консольной утилите CMOS SETUP) списка загрузочных устройств, пока не найдет загрузочное устройство. Если такое устройство не будет найдено, BIOS выведет на консоль ПК сообщение об ошибке и процесс загрузки будет остановлен. При обнаружении BIOS’ом загрузочного устройства, с последнего будет произведена попытка чтения данных его нулевого сектора (512 байт, в которых должна находиться загрузочная запись). После успешного завершения чтения данных нулевого сектора загрузочного устройства в оперативную память по начальному адресу 0000:7С00, BIOS передает на этот адрес дальнейшее исполнение инструкций процессора.

      Нулевой сектор загрузочного жесткого диска содержит так называемую «Главную загрузочную запись» (MBR - Master Boot Record) , содержащую как данные первых четырёх записей

      Facebook

      Twitter

      Вконтакте

      Одноклассники

      Google+

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

    При запуске Linux мы начнем видеть много информации.

    Процесс загрузки операционной системы Linux не так сложно, как мы думали, этот процесс можно разделить на пять этапов:

    • Ядро загрузки.
    • Запуск инициализации.
    • Инициализация системы.
    • Создание терминала.
    • Пользователь системы Войти.

    Ядро загрузки

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

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


    Запуск инициализации

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

    Программа инициализации первых, необходимо прочитать файл конфигурации / и т.д. / inittab.

    Run Level

    Многие программы требуют запуска. Их называют «сервис» (сервис) в Windows, в Linux называется «демон» (демон).

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

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

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

    Система Linux имеет семь уровней запуска (уровень запуска):

    • Run Level 0: завершение работы системы, уровень запуска системы по умолчанию не может быть установлен в 0, или не может должным образом начать
    • Run Level 1: однопользовательский рабочее состояние, корневые привилегии для обслуживания системы, удаленный доступ запрещен
    • Запуск 2-го уровня: многопользовательский режим (не NFS)
    • Run Level 3: Full многопользовательский режим (с NFS), после посадки в режиме командной строки консоли
    • Уровень Run 4: Система не использует, удержание
    • Выполнить уровень 5: X11 консоль, войдите в режим графического GUI
    • Run Уровень 6: нормальное завершение работы системы и перезагрузка, уровень выполнения по умолчанию 6 не установлен, или не может должным образом начать

    инициализация системы

    Такая строка в конфигурационном файле инициализации: SI :: sysinit: /etc/rc.d/rc.sysinit он называет выполненный /etc/rc.d/rc.sysinit и rc.sysinit это сценарий оболочки Bash это завершение ряда инициализации системы работы, rc.sysinit важно запустить скрипт каждый уровень должен быть запущен в первую очередь.

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

    l5:5:wait:/etc/rc.d/rc 5
    

    Эта линия представляет параметры для запуска /etc/rc.d/rc,/etc/rc.d/rc 5 представляет собой скрипт, который принимает 5 в качестве параметра для выполнения /etc/rc.d/rc5.d/ каталог Весь сценарий запуска RC под землей, / и т.д. / rc.d / rc5.d / директория эти сценарии запуска фактически некоторые из файла соединения, а не реальный сценарий запуска RC, сценарии запуска реального радиоуправляемые, на самом деле /etc/rc.d/init.d/ поместить в папку.

    Эти сценарии запуска RC имеют аналогичные использование, они, как правило, в состоянии принять старт, стоп, перезагрузка, статус и другие параметры.

    Сценарий /etc/rc.d/rc5.d/ RC запуска обычно K или Прилагаемый документ S в начале, для того, чтобы запустить сценарий, начнется в начале параметра S для запуска.

    И если мы найдем соответствующий скрипт, существует K начинается подключение, и был в рабочем состоянии (файл / Var / блокировка / Subsys / под символом), то первая остановка, чтобы остановить эти параметры запустило опекуна процесс, а затем повторно перспективе.

    Это делается для того, чтобы при инициализации изменяет уровни, все демоны перезапущен.

    Что же касается того, что демон работает в каждом классе в, пользователи могут chkconfig или настройки в разделе «System Services» из набора линий.


    Создание терминала

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

    Init откроет следующие шесть терминалов, так что система пользователей Логин. Inittab в следующих шести линий, которые определяют шесть терминалов:

    1:2345:respawn:/sbin/mingetty tty1
    2:2345:respawn:/sbin/mingetty tty2
    3:2345:respawn:/sbin/mingetty tty3
    4:2345:respawn:/sbin/mingetty tty4
    5:2345:respawn:/sbin/mingetty tty5
    6:2345:respawn:/sbin/mingetty tty6
    

    Из сказанного выше можно увидеть на уровнях выполнения 2,3,4,5 выполняются mingetty программа будет возрождаться, mingetty программа может открыть терминал, режим настройки.

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


    Система Логин пользователя

    В общем, Логин пользователя тремя способами:

    • (1) командной строки Логин
    • (2) SSH Войти
    • (3) Графический Войти

    Для графического пользовательского уровня выполнения 5, они входят в систему через графический экран входа в систему. После успешного входа в систему можно перейти непосредственно к KDE, Gnome и другой менеджер окон.

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

    Linux процесс проверки счета Логин, Логин получает mingetty пришло имя в качестве параметра имени пользователя.

    Затем Войти имя пользователя будет анализироваться: Если имя пользователя не является корнем, и есть / и т.д. / файл NOLOGIN, выход NOLOGIN Войти файл, а затем выйти.

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

    / Etc / usertty файл для пользователя, чтобы сделать дополнительные ограничения доступа, если файл не существует, не существует никаких других ограничений.


    Переключение в режим графического режима и режима ввода текста

    Linux обеспечивает вход в шесть запрограммированную окне командной строки терминала Обратим.

    Наш по умолчанию Войти первое окно, которое tty1, шесть окон были tty1, tty2 … tty6, вы можете нажать Ctrl + Alt + F1 ~ F6 для переключения между ними.

    Если вы устанавливаете графический интерфейс, по умолчанию для входа в графический интерфейс, то вы можете нажать Ctrl + Alt + F1 ~ F6, чтобы войти в один из оконного интерфейса команд.

    При входе в интерфейс командной окна, а затем вернуться в графический интерфейс, просто нажмите Ctrl + Alt + F7 на спине.

    Если вы используете VMWare виртуальную машину, ключ команды быстрого доступа, чтобы перейти к окну Alt + Space + F1 ~ F6. Если нажать Alt + Shift + Ctrl + F1 ~ F6 переключатель в графическом интерфейсе в окне командной строки.


    завершение работы Linux

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

    Правильная последовательность завершение работы: sysnc> завершение работы> Перезагрузка> привал

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

    Например, вы можете выполнить следующую команду отключения:

    sync 将数据由内存同步到硬盘中。
    
    shutdown 关机指令,你可以man shutdown 来看一下帮助文档。例如你可以运行如下命令关机:
    
    shutdown –h 10 ‘This server will shutdown after 10 mins’ 这个命令告诉大家,计算机将在10分钟后关机,并且会显示在登陆用户的当前屏幕中。
    
    Shutdown –h now 立马关机
    
    Shutdown –h 20:25 系统会在今天20:25关机
    
    Shutdown –h +10 十分钟后关机
    
    Shutdown –r now 系统立马重启
    
    Shutdown –r +10 系统十分钟后重启
    
    reboot 就是重启,等同于 shutdown –r now
    
    halt 关闭系统,等同于shutdown –h now 和 poweroff
    

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

    Команда Shutdown имеет команду завершения работы -h Теперь остановить PowerOff и инициализации 0, перезагрузите систему выключился -r Перезагрузитесь Init 6.

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

    Можно посмотреть видео https://youtu.be/QlLwJhKrMGA.

    В прошлый раз мы говорили о том, что происходит при загрузке Linux: вначале стартует загрузчик, он загружает ядро и развертывает временный диск в оперативной памяти, ядро запускает процесс init, init находит настоящий корневой диск, производит такой хитрый переворот — вместо временного виртуального диска на это же самое место в корневой каталог монтируется реальный диск, с этого реального дисков процесс init загружает в себя другой init, который есть на этом реальном диске. После всех этих операций UNIX переходит в состояние обычной работы.

    В этой лекции я расскажу, что делает классическая программа init в сочетании со скриптами rc.d в стиле System V (Систем пять). System V — это классическая версия UNIX на которой построены коммерческие UNIX.

    Судя по названию, rc.d это некий каталог. Есть такая традиция UNIX — если вся конфигурация чего-либо умещается в один файл, и он называет config, то при разбиении его на отдельные файлы, которые подключаются к основному, создают каталог с аналогичным именем и добавляют к имени .d – config.d. Буква d означает, что это директория и там лежат вспомогательные части конфигурационного файла. У формата конфигурационных файлов программы init есть две традиции: вариант System V, в котором каждая деталь конфигурации держится в отдельном файле в каталоге rc.d, и традиция BSD систем, в которой есть один файл /etc/rc, содержащий много скриптов и переменных, которые отвечают за поведение системы.

    В любом случае, при старте системы у нас создается процесс с PID=1, в котором запущена программа, которая называется init. Как вы видели в прошлый раз, если программу init убить, то ядро впадает в панику и прекращает всяческую работу.

    Классический System V init читает файл /etc/inittab и выполняет ряд предписаний, которые прописаны в этом файле. Inittab этот текстовый файл каждая строка которого, это, по сути дела, одна команда или какое-то правило поведения. Inittab выглядит так:

    id:3:initdefault:

    si::sysinit:/etc/rc.d/rc.sysinit

    l3:3:wait:/etc/rc.d/rc 3

    1:2345:respawn:/sbin/mingetty tty1

    ca::ctrlaltdel:/sbin/shutdown -t3 -r now

    Вначале строки стоит метка. В чем большой смысл этой метки я не очень понимаю. Можно считать, что это простой текст и все. Вторым пунктом стоит либо так называемый уровень загрузки, либо пустое значение. Уровень загрузки — это либо одно число от 0 до 6, либо список чисел через запятую. Дальше идет некое действие. Действия бывают следующие: wait, respawn, sysinit, ctrlaltdel. Есть и другие действия, но это самые используемые. Наконец, в конце строки написана некая команда с именем исполняемого файла и аргументов, которые этой команде надо передать.

    Действие sysinit выполняется однократно при старте системы.

    Действие ctrlaltdel это на самом деле не совсем действие – это обработчик сочетания клавиш control alt del. Само нажатие перехватывается ядром системы, и информация об этом пересылается в процесс init, который должен выполнить определенную команду. Например, может быть выполнена команда shutdown, которая выполнит выключение компьютера. В принципе сюда можно прописать любую другую программу, например, echo, которая после нажатия control alt del будет выдавать на все терминалы системы какое-нибудь сообщение. камина консолью так

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

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

    Итак, есть однократное выполнение с ожиданием результатов и многократное выполнение в асинхронном режиме – запустились, дождались пока закончить, запустили слова.

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

    В Linux по традиции выделяется 6 вариантов загрузки. Это деление довольно условно.

    0 и 6 это выключение. 0 — полное выключение электричество, а 6 — режим перезагрузки.

    4 в Linux вообще пропущен

    Остаются четыре уровня загрузки:

    1 — однопользовательский режим. Если передать загрузчику ключевое слово single, то мы окажемся в однопользовательском режиме, где запущен только один процесса и это шелл администратора системы. Этот режим используется для восстановления системы.

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

    2 — тоже текстовый режим, но без подключения сетевых дисков. Дело в том, что традиционные сетевая файловая система nfs, которая используется в UNIX, чрезвычайно устойчива к повреждениям сети. Если мы выключили файловый сервер или обрезали сетевой кабель, то сетевая файловая система nfs будет предпринимать многочисленные попытки восстановиться и эти попытки настолько длительны, что я ни разу не смог дождаться времени, когда же наконец появится сообщение об ошибке. Возможно это произойдёт через час, а может и через 6 часов. Всё это время драйвер nfs будет держать компьютер, не давая ничего сделать. Поэтому, если у нас упала сеть или файловый сервер в настройках написано, что при старте необходимо подмонтировать внешние диски, то попытка загрузится в полноценный режим приведёт к тому, что у вас все зависнет. Для этого случая и предусмотрен второй вариант загрузки — все как в третьем, только сетевые диски не подключаются. Сам сетевой адаптер работает, IP адрес назначается, интернет доступен.

    5 — то же самое что и 3, но с запуском x window — графического интерфейса.

    Можно считать, что между уровнями есть некоторая последовательность переходов:

    режим 2 включает себя 1 + многопользовательский режим. 3 включает 2 + монтирование сетевых файловых систем. Наконец, 5 включает в себя 3 + запуск графической подсистемы. Будет ли это реализовано последовательно или нет — это проблема дистрибутива. Вообще говоря, администраторы могут самостоятельно настроить файл inittab так, чтобы эти режимы запускались последовательно, а можно сделать так чтобы все было абсолютно независимо — переключаясь в очередной режим, убираем все что было сделано на предыдущем шаге, и настраиваем все с нуля.

    Рассмотрим строки реального файла. Они очень просты.

    l3:3:wait:/etc/rc.d/rc 3

    Запускается какая-то программа, которая должна выполнить все необходимые действия, которые ожидаются на третьем уровне. Наверно, на третьем уровне нужно настроить сетевые интерфейсы, запустить драйвер терминалов, стартовать какие-то службы. Только после того, как всё этого завершится мы сможем работать в системе. Поскольку надо дождаться завершения запуска, мы выбираем действие wait.

    Программа запуска называется rc и запускается с номером уровня в качестве параметра. Сама программа init достаточно простая. Она умеет построчно читать свой файл с простым синтаксисом и стартовать новые процессы, запуская какие-то вспомогательные программы. Вся логика уровней загрузки спрятана в скрипте rc. Запустив rc с параметром 3 мы перейдем на третий уровень, с параметром 5 — на пятый.

    Программа rc тоже очень простая. Это скрипт который выполняет все файлы в каталогах, соответствующих уровню загрузки, например, /etc/rc3.d/. В этих каталогах находятся исполняемые файлы, которые принимают один параметр — либо start, либо stop. Если файл запущен с параметром start, то он стартует службу, если с параметром stop, то останавливает её. Например, network start будет настраивать сетевые интерфейсы, а network stop будет переводить интерфейсы в выключенное состояние. Кроме сетевых интерфейсов есть скрипты подключения/отключение сетевых файловых систем, запуска/остановки сервисов и т.д.

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

    Скрипт rc просматриваем содержимого каталога rc3 и выбирает оттуда все файлы которые начинаются с буквы K (kill). Файлы упорядочиваются в порядке возрастания номера и выполняются с параметром stop. Потом те же действия выполняются с файлами на букву S (start), которые запускаются с параметром start. Вот в общем и вся процедура перехода на определенный уровень.

    Можно предположить, что в каталоге /etc/rc0.d/ лежат только файлы, начинающиеся на букву K, поскольку при выключении надо все остановить, а в каталоге /etc/rc1.d/ будет один файл на буку S для запуска консоли администратора.

    Для простоты программирования есть отдельный каталог /etc/init.d/, в котором лежат те же самые файлы только без буквы цифр в начале имени. На самом деле, файлы в каталогах уровней это просто символические ссылки на основные файлы. Так /etc/rc3.d/S10apache это ссылка на файл /etc/init.d/apache. Буквы и цифры в названии ссылок нужны для того, чтобы скрипт rc вызвал их в нужном порядке и с нужными аргументами.

    В системах, которые построены по такому принципу, чтобы стартовать или остановить какую-либо службу в каталоге /etc/init.d/ надо найти файл который, который ей соответствует, и запустить его с параметром start или stop. Чем не нравится запускать службы именно таким способом — явно вызывая скрипты. Дело в том, что в командной строке linux замечательно работает автодополнение. С его помощью очень быстро можно ввести путь до файла запуска.

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

    Программа chkconfig позволяет манипулировать символическими ссылками на соответствующие скрипты. Чтобы посмотреть, что стартует, а что останавливаться на каждом из уровней можно воспользоваться командой ls и выдать список скриптов в соответствующем каталоге, но проще воспользоваться командой chkconfig –list. Программа chkconfig пробегает по всем каталогам rc и выдает список того что стартует, а что останавливается на каждом уровне. Если мы хотим, чтобы при старте системы у нас что-то автоматически стартовала определенная службу мы выполняем chkconfig <имя службы> on и скрипт создает ссылку для запуска в нужном каталоге и с правильным именем. Запуск chkconfig <имя службы> off приводит к удалению ссылки для запуска и созданию ссылки для остановки. Таким образом программа chkconfig позволяет управлять списком служб, которые стартуют в момент старта системы.

    Ещё одна программа — service используется для ручного запуска и остановки служб. Service это обертка, которая позволяет не обращаться напрямую к скрипту, а указать имя службы и сказать хотим мы ее стартовать или остановить. В bash, который я использую, нет автодополнения для команды service, поэтому мне проще набрать путь к скриптам.

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

    В большинстве скриптов реализована опция status, которая показывает запущена служба или нет. Когда мы выполняем start, то скрипт после успешного запуска службы получает ее идентификатор PID и записывать его в определенный файл. По команде stop файл удаляется. Обычно такие файлы создаются в каталоге /var/run/. Команда status проверяет есть ли такой файл. Его нет, то сообщает, что служба не запущена. Если файл есть, то она извлекает из него идентификатор процесса и проверяет текущий список процессов. Если этот идентификатор присутствует все запущено, если программа по каким-то причинам поломалась, то статус выдаёт, что была сделана попытка запустить эту службу — файл существует, но сама служба не запущена.

    Опция restart последовательно выполняет внутри скрипта две команды – сначала stop, а потом старт. Это совершенно необязательная команда — просто удобная. Наконец, есть службы, которые позволяет на ходу перечитать какие-то конфигурационные файлы. Для них добавляют команду reload, задачей которой является отправка службе сигнала о том, что конфигурация изменилась. Отдельный случай, команды save и load для сохранения конфигурации брандмауэра.

    Если администратор системы вместо остановки или старта отдельных службы хочет всю систему перевести на определенный уровень, то этого можно достичь одним из двух способов. Можно вызвать прямо программу /sbin/init. Если ее вызвать с определенным числом в качестве параметра, то она выполнит все инструкцию из файла inittab, для которых прописывал соответствующий уровень. Если запустить, например, /sbin/init 1, то init найдет в своем конфигурационном файле все строчки, в которых есть уровень 1 и выполнит их. В некоторых системах команда shutdown реализована как /sbin/init 0, поскольку нулевой уровень соответствует остановке системы. В последнее время для перехода между уровнями появилась специальная программа под названием telinit, которая является ссылкой на init. Её задача – переслать процессу init сигнал о том, что администратор желает перейти на определенный уровень. telinit q сообщает init о том, что надо перечитать файл inittab. В старых системах это достигалось посылкой сигнала SIGHUP процессу с PID=1 (kill –HUP 1).

    Ещё несколько строк в inittab, это запуск терминалов

    1:2345:respawn:/sbin/mingetty tty1

    Для того, чтобы обеспечить диалоговую доступ к системе, вы inittabе может присутствовать некоторое количество строчек такого рода. 2345 это уровни, на которых надо запускать команду, respawn означает, что программу надо перезапускать в случае завершения. Программа getty – это программа управления терминалом. Традиционно терминал в UNIX называется телетайпом, поскольку первыми терминалами были электрические пишущие машинка. Соответственно, tty это сокращение от телетайпа. Mingetty – программа, которая умеет работать с виртуальными терминалами на персональном компьютере. Она умеет настраивать драйвер терминала, а в качестве параметров получает имя устройства терминала, который надо настроить. В каталоге /dev/ есть файл устройства tty1, который соответствует первому виртуальному терминалу. Если бы у нас был модем и мы хотели бы инициализировать его момент загрузки, то могли бы вызвать getty с параметром ttyS0, который соответствует порту COM1. При инициализации модема можно было бы задать дополнительные параметры: скорость соединения 19200 бод, 7 или 8 бит в байте, четность, количество стоп-битов.

    S0:2345:respawn:/sbin/getty ttyS0 19200 8 n 1

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

    Текстовые пользовательские сеансы устроены на таких цепочках: сначала init делает свою копию и запускает в ней программу mingetty. Mingetty инициализирует терминал и клавиатуру, а потом запускает в том же процессе программу login. Login выводит на экран приглашения на ввод имени и пароля и, если все прошло успешно то назначает себе привилегии пользователя и в том же процессе, затирая самого себя, запускает интерпретатор пользователя, например, bash. Когда пользователь набирает команду exit, то интерпретатор завершает жизненный путь этого процесса. Когда процесс завершается, init получает об этом сигнал. Init смотрит, что полагается делать, видит действие respawn, снова запускает программу mingetty, которая заново инициализирует терминал и все повторяется. Таким образом каждый сеанс находится внутри одного процесса. Как только мы вышли из сеанса наш процесс закончился и тотчас же запустилась программа, которая почистит за нами терминал и восстановит все настройки по умолчанию.

    В файле inittab есть есть ещё одно специальное ключевое слово initdefault — уровень по умолчанию. Если через ядро init получил параметр single, то мы загрузимся на уровень 1. Если через загрузчик ничего не передали, то используется значение по умолчанию. Если после установки графической оболочки оказалось, что наш компьютер слабоват для графики, то можно установит уровень по умолчанию на 3, и после следующей перезагрузки мы попадаем на третий уровень — то есть в текстовый режим. Установили систему без графического режима, потом доустановили все пакеты для x window, поменяли уровень по умолчанию на 5 и после следующей перезагрузки попали сразу в графический режим.

    В этой системе скриптов иногда хочется сделать что-то свое, например, при старте удалить все файлы в каталоге /tmp/. Для этого есть отдельный файл под названием /etc/rc.local, который запускается после всех остальных. Это просто скрипт без параметров, в который можно прописать всё, что угодно. Например, на одном из моих роутеров в момент старта системы в этом файле прописываются таблицы маршрутизации. Мне было лень искать где находятся соответствующие стандартные скрипты из дистрибутива и проще оказалось прописать команды в rc.local.

    Процесс загрузки Linux » BlogLinux.ru

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

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


    Инициализация

    BIOS (Basic Input Output System) — это программное обеспечение, предварительно встроенное в чипсет материнской платы. BIOS загружает компьютер и сканирует все его оборудование, проверяет наличие и работоспособность устройств, таких как жесткий диск, CD-ROM, RAM. На этом этапе начинается процесс загрузки ОС Linux.

    Затем BIOS ищет MBR (Master Boot Record), которая обычно расположена в первом секторе жесткого диска и запускает записанный там загрузчик первой степени, например, Grub или Lilo. BIOS подготавливает загрузчик MBR, загружает все данные в оперативную память и выполняет их.

    MBR занимает первых 512 байт на жестком диске. Здесь содержится информация о загрузчике операционной системы, туда записываются загрузчики большинства операционных систем, например: Linux, Unix, WIndows.

    Несмотря на то, что MBR занимает место на диске, эта область не принадлежит никакому разделу. Адрес MBR, как правило, дорожка 0, цилиндр 0. Это место зарезервировано для программ начальной загрузки. Она включает не только исполняемую программу загрузчика, но и таблицу разделов на диске.

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


    Загрузчик

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

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

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

    В конфигурационном файле для каждого пункта записано ядро, которое и нужно загрузить. Обычно ядра находятся в папке /boot. Затем Grub загружает нужное ядро vmlinuz-версия


    Подготовка ядра

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

    В Linux, большинство проприетарных драйверов собраны в виде модулей и размещены на загрузочном диске initrd.img. Таким образом, когда ядро загружается, в initrd уже доступны все необходимые модули.

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


    Инициализация ядра

    Инициализация ядра включает такие этапы:


    • Инициализация компонентов процессора, например MMU

    • Инициализация планировщика (PID 0)

    • Монтирование файловой системы в режиме чтения и записи

    • Форк процесса инициализации (PID 1)

    В процессе инициализации ядро выполняет следующие задачи:


    • Запуск основной системы и общего менеджера ресурсов (RAM, процессор, жесткий диск)

    • Запуск процесса инициализации (/sbin/init)


    Система инициализации

    Именно на этом этапе процесс загрузки Linux наиболее подвержен ошибкам. После того, как ядро передало управление системе инициализации, начинается подготовка системы к работе и запуск всех необходимых сервисов — логгирования, обмена системными сообщениями, настройка сети, подготовка сетевых файловых систем, настройка звука, монтирование локальных файловых систем и другие системные компоненты. На данный момент используется в большинстве случаев одна из двух самых популярных систем инициализации — SysVinit или Systemd.

    Процесс загрузки в каждом из случаев немного отличается, но суть одна и та же.

    В SysVinit сначала запускается программа /sbin/init, затем она читает файл параметров /etc/inittab чтобы определить нужный уровень запуска по умолчанию. Вот эти уровни загрузки Linux:


    • 0 — выключение

    • 1 — Однопользовательский режим

    • 2 — Многопользовательский режим без сети

    • 3 — Полноценный режим

    • 4 — Не используется

    • 5 — Запуск X11

    • 6 — перезагрузка

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

    Затем выполняется скрипт /etc/rc.d/rc.sysinit, а также все скрипты из папки  /etc/rc.d/rcx, где x — номер уровня запуска. Например если мы загружаемся с уровнем запуска 5, то будут выполнены все скрипты из папки /etc/rc.d/rc5.d.

    Имена скриптов запуска начинаются с буквы S, а завершения — K. После рассмотрения этой структуры, вы уже понимаете как работает автозагрузка сервисов в Linux? Теперь вы можете добавить скрипт в автозагрузку вручную просто создав символическую ссылку в нужной папке.

    После выполнения всех этих действий системе остается только запустить все виртуальные консоли TTY и менеджер входа в систему, например XDM или SDDM.

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

    Но суть процесса загрузки та же, запускаются такие же сервисы. Вместо уровней запуска используются специальные юниты — .target. Имя юнита содержит номер уровня запуска и слово runlevel. Например: runlevel0.target — отключение, и т д. Эти юниты и тянут за собой в зависимостях все необходимые сервисы для нормальной работы системы.


    6 шагов в процессе загрузки компьютера с диаграммой

    Загрузка — это процесс включения компьютера. Два типа загрузки — это холодная загрузка и горячая загрузка. Шесть этапов процесса загрузки: BIOS и программа установки, самотестирование при включении (POST), загрузка операционной системы , конфигурация системы, загрузка системных утилит и проверка подлинности пользователей.

    Типы загрузки

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

    • Холодная загрузка: , когда пользователь включает компьютер после того, как он был полностью выключен,
    • Теплая загрузка: , когда пользователь перезагружает компьютер.

    Лучшие приложения Apk:

    GBWhatsapp

    MovieBox Pro VIP APK

    TuTuApp APK для Android, iOS и ПК

    CLI против GUI

    Процесс загрузки с диаграммой

    Здесь мы представляем процесс загрузки компьютер со схемой.

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

    Когда происходит процесс загрузки, он копирует ядро ​​и важные инструкции операционной системы с жесткого диска в основную память (RAM). Ядро — самая важная часть операционной системы, которая управляет памятью и устройствами, поддерживает часы компьютера, запускает приложения.
    Он назначает вычислительные ресурсы, такие как устройства, программы, данные , а также информацию . Ядро также остается в памяти постоянно при запуске компьютера.

    Шаги в процессе загрузки

    Загрузка — это процесс включения компьютера и запуска операционной системы. 6 этапов процесса загрузки: BIOS и программа настройки, самотестирование при включении (POST), загрузка операционной системы , конфигурация системы, загрузка системных утилит и проверка подлинности пользователей.

    • 1: BIOS и программа настройки
    • 2: Самотестирование при включении питания (POST)
    • 3: Загружается операционная система (ОС)
    • 4: Конфигурация системы
    • 5: Системная служебная программа загружает
    • 6: Аутентификация пользователей

    Процесс загрузки компьютера шаг за шагом

    Вот объяснение шагов процесса загрузки для большей ясности.

    Шаг 1: BIOS и программа настройки
    • ROM (постоянная память): это постоянная и неизменяемая память, также
    • BIOS (базовая система ввода / вывода): часть системы программное обеспечение, которое включает инструкции, которые компьютер использует для приема и вывода данных.
    • Загрузка: для передачи с запоминающего устройства в память. ПЗУ загружает BIOS в память компьютера
    • Программа установки: специальная программа, содержащая настройки для управления оборудованием.Кроме того, доступ к программе возможен только при отображении информации BIOS

    Шаг 2: Самотестирование при включении (POST)
    • POST (Самотестирование при включении): a series тестов, проведенных на основной памяти компьютера , устройствах ввода / вывода , дисковых накопителях и жестком диске.
    • BIOS проводит самотестирование при включении питания для проверки работоспособности системы ввода / вывода.
    • Компьютер издаст звуковой сигнал, если возникнет какая-либо проблема.На мониторе также появится сообщение об ошибке.

    Шаг 3: Операционная система (ОС) загружается

    BIOS выполняет поиск операционной системы .

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

    Шаг 4: Конфигурация системы
    • Реестр: база данных для хранения информации о периферийных устройствах и программном обеспечении
    • Периферийное устройство: устройство, подключенное к компьютеру
    • Диск: служебная программа , которая заставляет периферийные устройства функционировать правильно
    • Реестр операционной системы настраивает систему.
    • На этом этапе драйверы также загружаются в память .

    Шаг 5: Системные утилиты загружаются
    • Системные утилиты загружаются в память .
    • Регулятор громкости
    • Антивирусное программное обеспечение
    • Утилита для отключения ПК-карты

    Шаг 6: Аутентификация пользователей
    • Происходит аутентификация или вход в систему
    • Имя пользователя
    • Пароль

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

    Видео по теме:

    Заключительные слова

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

    Важные ссылки:

    Тупик и его условия

    Система обработки файлов

    Проект документации Linux


    Информация о LDP
    FAQ
    Манифест / лицензия
    История
    Волонтеры / сотрудники
    Должностные инструкции
    Списки рассылки
    IRC
    Обратная связь

    Автор / внесение вклада
    Руководство для авторов LDP
    Внесите свой вклад / помогите
    Ресурсы
    Как отправить
    Репозиторий GIT
    Загрузок
    Контакты

    Спонсор сайта LDP
    Мастерская

    LDP Wiki : LDP Wiki — это отправная точка для любой незавершенной работы
    Члены | Авторы | Посетители
    Документы

    HOWTO : тематическая справка
    последние обновления | основной индекс | просматривать по категориям
    Руководства : более длинные и подробные книги
    последние обновления / основной указатель
    Часто задаваемые вопросы : Часто задаваемые вопросы
    последние обновления / основной указатель
    страницы руководства : справка по отдельным командам (20060810)
    Бюллетень Linux : Интернет-журнал
    Поиск / Ресурсы

    Ссылки
    Поиск OMF
    Объявления / Разное


    Обновления документов
    Ссылка на HOWTO, которые были недавно обновлены.

    Загрузка компьютера — Введение в информационные и коммуникационные технологии

    Введение

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

    Загрузчик

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

    Программа, запускающая «цепную реакцию», завершающуюся всем загружаемая операционная система известна как загрузчик (или bootstrap). загрузчик). Термин «творчески» пришел от первых дизайнеров, которые предполагали, что раньше компьютер «работает», он должен быть «привязан к ботинкам». Только загрузчик задача — загрузить другое программное обеспечение для запуска операционной системы. Часто, используются многоступенчатые загрузчики, в которых несколько небольших программ увеличивая сложность последовательно вызывать один за другим, до последнего из них загружает операционную систему.

    Загрузочные устройства

    Загрузочное устройство — это устройство, с которого загружается операционная система. А BIOS современного ПК (базовая система ввода / вывода) поддерживает загрузку с различных устройств. К ним относятся локальный жесткий диск, оптический дисковод, дисковод гибких дисков, сетевая карта и USB-устройство. Обычно BIOS позволяет пользователь, чтобы настроить порядок загрузки. Если установлен порядок загрузки:

    1. Привод компакт-дисков
    2. Жесткий диск
    3. Сеть

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

    Последовательность загрузки

    Существует стандартная последовательность загрузки, которую используют все персональные компьютеры. Во-первых, ЦП выполняет инструкцию в памяти для BIOS. Эта инструкция содержит инструкция перехода, которая передается в программу запуска BIOS. Эта программа работает самотестирование при включении (POST) для проверки того, что устройства, на которые будет полагаться компьютер, функционирует нормально. Затем BIOS выполняет настроенную последовательность загрузки. пока он не найдет загрузочное устройство. Как только BIOS обнаружит загрузочную устройства, BIOS загружает загрузочный сектор и передает выполнение в загрузочный сектор.Если загрузочным устройством является жесткий диск, это будет основная загрузочная запись (MBR). В Код MBR проверяет таблицу разделов на наличие активного раздела. Если он найден, код MBR загружает загрузочный сектор этого раздела и выполняет его. Ботинок сектор часто зависит от операционной системы, однако в большинстве операционных систем его основная функция — загрузка и выполнение ядра операционной системы, которое продолжает запуск. Если нет активного раздела или активного раздела загрузочный сектор недействителен, MBR может загрузить вторичный загрузчик, который выберите раздел и загрузите его boot boot secotr, который обычно загружает соответствующее ядро ​​операционной системы.

    Последовательность запуска

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

    Последовательность запуска

    На этом этапе вы узнаете, как компоненты компьютера работают вместе с того момента, как вы нажмете кнопку «Вкл.».

    Последовательность запуска

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

    CPU

    CPU , или центральный процессор, представляет собой большую микросхему внутри компьютера. Это мозг компьютера: он все контролирует. Он работает путем чтения инструкций и данных из ОЗУ, выполнения инструкции и последующей записи данных обратно в ОЗУ. Некоторые инструкции могут включать другие компоненты, такие как жесткий диск, но центральный процессор контролирует их.
    RAM
    RAM (оперативная память) временно хранит данные во время работы вашего компьютера.
    • ОЗУ можно читать и записывать. Вы можете добавлять, изменять и удалять данные, хранящиеся в оперативной памяти.
    • Неустойчиво. Когда компьютер выключен, все данные, хранящиеся в оперативной памяти, теряются.
    • Быстро.
    ROM
    ROM означает постоянную память.Это чип, содержащий данные, установленные производителем, которые обычно не заменяются или не обновляются. В нем хранится BIOS.
    • ПЗУ только для чтения. Обычно он программируется производителем компьютера и не может быть изменен или перезаписан. (Существует процесс перезаписи ПЗУ, называемый «перепрошивкой», но он сложен и может привести к поломке компьютера и невозможности его восстановления.)
    • ПЗУ
    • — это энергонезависимая память, что означает, что для хранения данных в ней не требуется питание.
    • Быстро.
    Жесткий диск
    Жесткий диск (иногда называемый жестким диском ) является основным запоминающим устройством на вашем компьютере. Как и RAM, ее можно добавлять и изменять, и, как и ROM, она энергонезависима, но работает медленно. Если у вас есть файлы и папки на вашем компьютере, они хранятся на жестком диске. Операционная система также хранится на жестком диске.
    BIOS
    BIOS означает базовую систему ввода-вывода. BIOS хранится в ПЗУ.Он содержит весь базовый код для управления оборудованием вашего компьютера (например, клавиатурами, мышами, мониторами и жесткими дисками). После того, как последовательность загрузки завершена и управление перешло к операционной системе, BIOS мало что делает. При запуске компьютера вы можете увидеть черный экран с отображением «Нажмите F2 для настройки» . Это BIOS. Нажав F2, вы попадаете на экран настройки, где можете изменить, откуда BIOS загружает операционную систему. Операционная система обычно хранится на жестком диске, но вместо этого вы можете загрузить операционную систему с USB-накопителя или компакт-диска.

    Последовательность запуска

    Итак, как эти компоненты используются в последовательности запуска?
    • CPU запускается и загружает инструкции в RAM из BIOS, которая хранится в ROM.
    • BIOS запускает монитор и клавиатуру и выполняет некоторые базовые проверки, чтобы убедиться, что компьютер работает правильно. Например, он будет искать оперативную память.
    • Затем BIOS запускает последовательность загрузки. Он будет искать операционную систему.
    • Если вы не измените какие-либо настройки, BIOS загрузит операционную систему с жесткого диска и загрузит ее в ОЗУ.
    • Затем BIOS передает управление операционной системе.
    Это много информации и сокращений! Надеюсь, этот шаг помог вам понять, что происходит под капотом компьютера, когда вы его включаете. Как только вы усвоите эту последовательность, вы сможете составить на ее основе несколько действительно увлекательных планов уроков …

    Пример урока

    Дайте студентам или группам студентов по одному компоненту:
    • ЦП
    • BIOS
    • ROM
    • RAM
    • Операционная система
    Разместите их на разных столах в комнате с бумагой.Между учениками должно быть некоторое расстояние, чтобы каждый мог ясно видеть, что происходит. Попросите каждую команду обсудить ключевые особенности своего компонента и записать их на большом листе бумаги. Они могут использовать свои записи, или это может быть проверкой того, что они уже узнали. Продумайте простой сценарий. Например. «Я пишу документ в Word, и мой компьютер дает сбой. Что делает RAM? » Попросите учеников физически бросить лист бумаги, который был на столе RAM, в мусорное ведро. Оно потеряно без электричества.Выбросьте данные ROM в корзину и спросите учащихся: это правильно? Выполните более сложную последовательность запуска. Имейте карточку со словом КОНТРОЛЬ, чтобы указать, кто имеет контроль. Каждая команда должна говорить, что они делают, по мере того, как они это делают. Например:

    Я БИОС. Я просто пойду сюда и проверю, есть ли у меня оперативная память.

    Дайте пять команде RAM

    ОК, оперативка есть.Теперь поищу операционную систему.

    Подойдите и поставьте лайк команде OS

    Я заберу ОС и вставлю в оперативную память.

    Команда ОС следует за BIOS до таблицы RAM

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

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

    Сертификация и расширение возможностей.
    Be
    Govt. Сертифицированный специалист по ИТ-поддержке

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

    Компьютерный термин «загрузка» является сокращением от начальной загрузки или начальной загрузки и происходит от фразы «подтянуть себя за счет начальной загрузки».Это использование обращает внимание на парадокс, заключающийся в том, что компьютер не может работать без предварительной загрузки программного обеспечения, но некоторое программное обеспечение должно работать, прежде чем какое-либо программное обеспечение может быть загружено. Ранние компьютеры использовали множество специальных методов для загрузки фрагмента программного обеспечения в память для решения этой проблемы. Изобретение интегральной схемы Постоянное запоминающее устройство (ПЗУ) различных типов разрешило парадокс, позволив поставлять компьютеры с программой запуска, которую нельзя было стереть, но рост размера ПЗУ позволил еще больше усложнить процедуры запуска. быть реализованным.

    Существует множество примеров одно- и многоступенчатых загрузочных последовательностей, которые начинаются с выполнения загрузочной программы (программ), хранящейся в загрузочных ПЗУ. Во время процесса загрузки двоичный код операционной системы или среды выполнения может быть загружен из энергонезависимой вторичной памяти (например, жесткого диска) в энергозависимую или оперативную память (RAM), а затем выполнен. Некоторые более простые встроенные системы не требуют заметной последовательности загрузки для начала работы и могут просто запускать рабочие программы, хранящиеся в постоянном запоминающем устройстве (ПЗУ), когда они включены.

    Порядок загрузки —

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

    При первом включении питания компьютера ЦП сам инициализируется, что запускается серией тактов, генерируемых системными часами. Частью инициализации ЦП является поиск в ПЗУ системы BIOS первой инструкции в программе запуска.ROM BIOS сохраняет первую инструкцию, которая является инструкцией для запуска самотестирования при включении (POST), по заранее определенному адресу памяти. POST начинается с проверки микросхемы BIOS, а затем проверяется CMOS RAM. Если POST не обнаруживает отказ аккумулятора, он продолжает инициализацию ЦП, проверяя инвентаризованные аппаратные устройства (например, видеокарта), вторичные устройства хранения, такие как жесткие диски и дисководы гибких дисков, порты и другие аппаратные устройства, такие как как клавиатуру и мышь, чтобы убедиться в их правильной работе.

    После того, как POST определит, что все компоненты работают правильно и ЦП успешно инициализирован, BIOS ищет ОС для загрузки.

    BIOS обычно обращается к микросхеме CMOS, чтобы сообщить ей, где найти ОС, и на большинстве ПК ОС загружается с диска C на жестком диске, даже если BIOS имеет возможность загружать ОС с дискеты, CD или ZIP-привод. Порядок дисков, на которые CMOS смотрит, чтобы найти ОС, называется последовательностью загрузки, которую можно изменить, изменив настройку CMOS.При поиске соответствующего загрузочного диска BIOS сначала обнаруживает загрузочную запись, которая сообщает ему, где найти начало ОС и последующий программный файл, который инициализирует ОС.

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

    Объяснение процесса загрузки системы

    Что происходит между моментом включения компьютера пользователем и появлением значков на рабочем столе?

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

    При первом включении питания компьютера ЦП сам инициализируется, что запускается серией тактов, генерируемых системными часами. Частью инициализации ЦП является поиск в ПЗУ системы BIOS первой инструкции в программе запуска. ROM BIOS сохраняет первую инструкцию, которая является инструкцией для запуска самотестирования при включении (POST), по заранее определенному адресу памяти.

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

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

    Последовательность загрузки

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

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

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

    Эта статья последний раз обновлялась 01 августа 2018 г.

    Чтение: загрузка | Введение в компьютерные приложения и концепции

    Введение

    В вычислениях, загрузка , (или загрузка , ) — это инициализация компьютеризированной системы. Система может быть компьютером или компьютерным устройством.Процесс загрузки может быть «жестким», после того как электрическое питание ЦП переключается с выключенного на включенное (для диагностики конкретных аппаратных ошибок), или «мягким», когда можно избежать самотестирования при включении питания (POST). Мягкая загрузка может быть инициирована аппаратным обеспечением, например нажатием кнопки, или программной командой. Загрузка завершается, когда достигается нормальная рабочая среда выполнения.

    Загрузчик — это компьютерная программа, которая загружает операционную систему или какое-либо другое системное программное обеспечение для компьютера после завершения самотестирования при включении; это загрузчик самой операционной системы, у которой есть собственный загрузчик для загрузки обычных пользовательских программ и библиотек.В процессе аппаратной перезагрузки он запускается после завершения самотестирования, затем загружает и запускает программное обеспечение. Загрузчик загружается в основную память из постоянной памяти, такой как жесткий диск, или, в некоторых старых компьютерах, с такого носителя, как перфокарты, перфолента или магнитная лента. Затем загрузчик загружает и выполняет процессы, завершающие загрузку. Подобно процессам POST, код загрузчика поступает из «зашитого» и постоянного места; если это расположение по какой-то причине слишком ограничено, этот первичный загрузчик вызывает загрузчик второй ступени или загрузчик вторичной программы.

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

    Boot — это сокращение от bootstrap или bootstrap load и происходит от фразы , чтобы подтянуть себя за бутстрапы . Использование привлекает внимание к требованию, согласно которому, если большая часть программного обеспечения загружается на компьютер другим программным обеспечением, уже запущенным на компьютере, должен существовать какой-то механизм для загрузки исходного программного обеспечения на компьютер. Ранние компьютеры использовали множество специальных методов для загрузки небольшой программы в память для решения этой проблемы.Изобретение различных типов постоянных запоминающих устройств (ПЗУ) разрешило этот парадокс, позволив поставлять компьютеры с программой запуска, которую невозможно стереть. Увеличение емкости ROM позволило реализовать все более сложные процедуры запуска.

    История

    Коммутаторы и кабели, используемые для программирования ENIAC (1946)

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

    Примеры встроенных ПЗУ

    Ранние компьютеры

    Ранние компьютеры 1940-х и 1950-х годов представляли собой единственные в своем роде инженерные разработки, на программирование которых уходили недели, и загрузка программы была одной из многих проблем, которые необходимо было решить. Ранний компьютер, ENIAC, не имел «программы», хранящейся в памяти, но был настроен для каждой проблемы с помощью конфигурации соединительных кабелей. Начальная загрузка не применялась к ENIAC, чья аппаратная конфигурация была готова для решения проблем, как только было подано питание.

    В 1960 году информационный процессор отображения системы раннего предупреждения о баллистических ракетах (DIP) в Колорадо-Спрингс — до того, как объект NORAD был построен в подземном комплексе Шайенн-Маунтин — выполнял только одну программу, которая содержала собственный код запуска. Программа хранилась в виде битового изображения на постоянно работающем магнитном барабане и загружалась за доли секунды. Основная память, вероятно, была очищена вручную через консоль обслуживания, и запуск после полного включения питания был очень быстрым, всего за несколько секунд.По своей общей конструкции DIP примерно сравнивался с aDEC PDP-8.

    Первые коммерческие компьютеры

    Первые программируемые компьютеры для коммерческой продажи, такие как UNIVAC I и IBM 701, включали функции, упрощающие их работу. Обычно они включали инструкции, которые выполняли полную операцию ввода или вывода. Та же аппаратная логика может использоваться для загрузки содержимого перфокарты или другого носителя ввода, содержащего программу начальной загрузки, нажатием одной кнопки.Эту концепцию загрузки называли по-разному для компьютеров IBM 1950-х и начала 1960-х годов, но IBM использовала термин «начальная загрузка программы» с IBM 7030 Stretch, а позже использовала его для своих линий мэйнфреймов, начиная с System / 360 в 1964 году.

    Перфокарта начальной загрузки программы для IBM 1130 (1965)

    Компьютер IBM 701 (1952–1956) имел кнопку «Загрузить», которая инициировала чтение первого 36-битного слова в основную память с перфокарты в картридере, с магнитной ленты в ленточном накопителе или с магнитного барабана. единицы, в зависимости от положения переключателя выбора нагрузки.Затем левое 18-битное полуслово выполнялось как инструкция, которая обычно считывала дополнительные слова в память. Затем была выполнена загруженная программа загрузки, которая, в свою очередь, загрузила более крупную программу с этого носителя в память без дополнительной помощи человека-оператора. Термин «ботинок» используется в этом смысле по крайней мере с 1958 года.

    Консоль IBM System / 3 1970-х годов. Переключатель загрузки программы находится внизу слева; Переключатель загрузки программы находится внизу справа.

    Другие компьютеры IBM того времени обладали аналогичными характеристиками.Например, система IBM 1401 (ок. 1958 г.) использовала кард-ридер для загрузки программы с перфокарты. 80 символов, хранящихся на перфокарте, считывались в ячейки памяти с 001 по 080, затем компьютер переходил к ячейке памяти 001, чтобы прочитать свою первую сохраненную команду. Эта инструкция всегда была одинаковой: переместить информацию из этих первых 80 ячеек памяти в область сборки, где информация на перфокартах 2, 3, 4 и так далее может быть объединена для формирования сохраненной программы.Как только эта информация будет перемещена в зону сборки, машина перейдет к инструкции в ячейке 080 (чтение карты), и следующая карта будет считана, а ее информация обработана.

    Другим примером была IBM 650 (1953 г.), десятичная машина, у которой была группа из десяти 10-позиционных переключателей на панели управления, которые адресуются как слово памяти (адрес 8000) и могут выполняться как инструкция. Таким образом, установка переключателей на 7004000400 и нажатие соответствующей кнопки приведет к считыванию первой карты в устройстве чтения карт в память (код операции 70), начиная с адреса 400, а затем перейдет к 400, чтобы начать выполнение программы на этой карте.

    Конкуренты IBM также предлагали загрузку программ с помощью одной кнопки.

    • CDC 6600 (около 1964 г.) имел панель мертвого пуска со 144 тумблерами; выключатель мертвого пуска ввел 12 слов от тумблеров в память периферийного процессора ( PP ) 0 и инициировал последовательность загрузки. PP 0 загрузил необходимый код в свою память, а затем инициализировал другие PP.
    • GE 645 (ок. 1965 г.) имел кнопку «ЗАГРУЗКА СИСТЕМЫ», при нажатии которой один из контроллеров ввода-вывода загружал программу из 64 слов в память из диодной постоянной памяти и выдавал прерывание, чтобы запустить эту программу.
    • Первая модель PDP-10 имела кнопку «READ IN», при нажатии на которую она сбрасывала процессор и запускала операцию ввода-вывода на устройстве, указанном переключателями на панели управления, считывая 36-битный слово, дающее целевой адрес и счетчик последующих чтений слова; когда чтение завершилось, процессор начал выполнение считанного кода, перейдя к последнему считанному слову.

    Заслуживающий внимания вариант этого можно найти в Burroughs B1700, где нет ни загрузочного ПЗУ, ни аппаратной операции IPL.Вместо этого после сброса системы она считывает и выполняет коды операций последовательно с ленточного накопителя, установленного на передней панели; это устанавливает загрузчик в ОЗУ, который затем запускается. Однако, поскольку это делает мало предположений о системе, его также можно использовать для загрузки диагностических лент (процедура технического обслуживания), которые отображают понятный код на передней панели даже в случае серьезного сбоя ЦП.

    IBM System / 360 и преемники

    В IBM System / 360 и его преемниках, включая текущие машины z / Architecture, процесс загрузки известен как Начальная загрузка программы (IPL).

    IBM придумала этот термин для 7030 (Stretch), возродила его для дизайна System / 360 и продолжает использовать его в этих средах сегодня. В процессорах System / 360 IPL инициируется оператором компьютера путем выбора адреса устройства из трех шестнадцатеричных цифр (CUU; C = адрес канала ввода-вывода, UU = блок управления и адрес устройства) с последующим нажатием кнопки LOAD . В большинстве систем System / 370 и некоторых более поздних версий функции переключателей и кнопки ЗАГРУЗИТЬ имитируются с использованием выбираемых областей на экране графической консоли, часто устройства, подобного IBM 2250 или устройства, подобного IBM 3270.Например, в System / 370 Model 158 последовательность клавиатуры 0-7-X (ноль, семь и X в этом порядке) приводит к IPL с адреса устройства, который был введен в область ввода. Amdahl 470V / 6 и связанные с ним процессоры поддерживали четыре шестнадцатеричных цифры на тех процессорах, в которых был установлен дополнительный блок второго канала, всего 32 канала. Позже IBM также будет поддерживать более 16 каналов.

    Функция IPL в System / 360 и ее преемниках, а также в ее совместимых устройствах, таких как Amdahl’s, считывает 24 байта из указанного оператором устройства в оперативную память, начиная с реального адреса с нуля.Вторая и третья группы из восьми байтов обрабатываются как командные слова канала (CCW) для продолжения загрузки программы запуска (первая CCW всегда моделируется ЦП и состоит из команды Read IPL, 02h, с объединением команд и подавлением неправильной длины. указание применяется). Когда команды канала ввода-вывода завершены, первая группа из восьми байтов загружается в слово состояния программы (PSW) процессора, и программа запуска начинает выполнение в месте, указанном этим PSW.Устройством IPL обычно является дисковод, отсюда особое значение команды чтения 02h, но точно такая же процедура также используется для IPL с других устройств ввода, таких как ленточные накопители или даже устройства чтения карт, в аппаратно-независимый способ, позволяющий, например, установить операционную систему на новый компьютер с магнитной ленты первоначального распространения ОС. Для дисковых контроллеров команда 02h также заставляет выбранное устройство искать цилиндр 0000h, головку 0000h, имитируя команду поиска цилиндра и головки, 07h, и искать запись 01h, имитируя команду Search ID Equal, 31h; поиск и поиск не моделируются контроллерами лент и карт, поскольку для этих классов устройств команда 02h является просто командой последовательного чтения, а не командой чтения IPL.

    Диск, лента или колода карт должны содержать специальную программу для загрузки реальной операционной системы в основное хранилище, и для этой конкретной цели «Текст IPL» помещается на диск с помощью автономного DASDI (инициализация устройства хранения с прямым доступом) программа или эквивалентная программа, работающая под управлением операционной системы, например ICKDSF, но ленты и колоды карточек, поддерживающие IPL, обычно распространяются с уже существующим «текстом IPL».

    Миникомпьютеры

    Передняя панель PDP-8 / E, на которой показаны переключатели, используемые для загрузки программы начальной загрузки.

    Миникомпьютеры, начиная с PDP-5 и PDP-8 (1965) корпорации Digital Equipment Corporation (DEC), упрощенная конструкция за счет использования ЦП для поддержки операций ввода и вывода. Это сэкономило средства, но сделало загрузку более сложной, чем нажатие одной кнопки. Миникомпьютеры обычно имели возможность переключать короткие программы , манипулируя набором переключателей на передней панели. Поскольку первые миникомпьютеры использовали память на магнитных сердечниках, которая не теряла свою информацию при отключении питания, эти загрузчики оставались на месте, если их не стереть.Стирание иногда происходило случайно, когда ошибка программы вызывала цикл, который перезаписывал всю память.

    Другие миникомпьютеры с такой простой формой загрузки включают Hewlett-Packard серии HP 2100 (середина 1960-х), оригинальный Data General Nova (1969) и DEC PDP-11 (1970).

    Позже

    DEC добавила дополнительную постоянную память для чтения с диодной матрицей для PDP-11, в которой хранилась программа начальной загрузки объемом до 32 слов (64 байта). Он состоял из печатной платы M792, которая подключалась к Unibus и содержала матрицу 32 на 16 полупроводниковых диодов.Со всеми 512 диодами в памяти были все «единицы»; карта была запрограммирована отключением каждого диода, бит которого должен был быть нулевым. DEC также продавала версии карты серии BM792-Yx, предварительно запрограммированные для многих стандартных устройств ввода, просто исключая ненужные диоды.

    Следуя более старому подходу, более ранняя PDP-1 имеет аппаратный загрузчик, так что оператору нужно только нажать переключатель «загрузка», чтобы дать указание устройству чтения с бумажной ленты загрузить программу непосредственно в основную память.Data General Supernova использовала переключатели на передней панели, чтобы компьютер автоматически загружал инструкции в память с устройства, указанного переключателями данных на передней панели, а затем переходил к загруженному коду; у Nova 800 и 1200 был переключатель, который загружал программу в основную память из специальной постоянной памяти и переходил к ней.

    Примеры загрузчика ранних миникомпьютеров

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

    1. Установить регистр P на 9
    2. Проверка готовности устройства считывания бумажной ленты
    3. Если не готов, перейдите к 2
    4. Считать байт со считывателя бумажной ленты в аккумулятор
    5. Сохранить аккумулятор по адресу в регистре P
    6. Если конец ленты, перейти к 9
    7. Увеличить регистр P
    8. Перейти к 2

    Связанный пример основан на загрузчике для миникомпьютера Nicolet Instrument Corporation 1970-х годов, использующем устройство считывания и перфорации бумажной ленты на телетайпе модели 33 ASR.Байты его загрузчика второй ступени считываются с бумажной ленты в обратном порядке.

    1. Установить регистр P на 106
    2. Проверка готовности устройства считывания бумажной ленты
    3. Если не готов, перейдите к 2
    4. Считать байт со считывателя бумажной ленты в аккумулятор
    5. Сохранить аккумулятор по адресу в регистре P
    6. Уменьшить регистр P
    7. Перейти к 2

    Длина загрузчика второй ступени такова, что последний байт перезаписывает ячейку 7.После выполнения инструкции в ячейке 6 ячейка 7 начинает выполнение загрузчика второй ступени. Затем загрузчик второй ступени ожидает, пока гораздо более длинная лента, содержащая операционную систему, будет помещена в устройство чтения ленты. Разница между загрузчиком начальной загрузки и загрузчиком второй ступени заключается в добавлении кода проверки для обнаружения ошибок чтения с бумажной ленты, что часто встречается при использовании относительно недорогого оборудования, работающего неполный рабочий день, такого как Teletype Model 33 ASR. (Friden Flexowriters были гораздо более надежными, но и относительно дорогими.)

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

    Самые ранние микрокомпьютеры, такие как Altair 8800 и еще более ранняя аналогичная машина (на базе процессора Intel 8008), не имели оборудования для начальной загрузки как такового. При запуске ЦП будет видеть память, которая будет содержать исполняемый код, содержащий только двоичные нули — память очищалась путем сброса при включении питания. На передних панелях этих машин были тумблеры, по одному переключателю на бит слова памяти компьютера. Простые дополнения к оборудованию позволяли загружать с этих переключателей одну ячейку памяти за раз для хранения кода начальной загрузки.Тем временем ЦП не пытался выполнить содержимое памяти. После правильной загрузки ЦП был включен для выполнения кода начальной загрузки. Этот процесс был утомительным и не должен был содержать ошибок.

    Эра постоянной памяти для интегральных схем

    «Чип» EPROM Intel 2708 на печатной плате.

    Процесс загрузки произвел революцию в связи с появлением постоянной памяти (ROM) интегральной схемы с ее многочисленными вариантами, включая программируемые по маске ПЗУ, программируемые ПЗУ (ППЗУ), стираемые программируемые ПЗУ (СППЗУ) и флэш-память.Это позволяло устанавливать на компьютер программы загрузки микропрограмм.

    Обычно каждый микропроцессор после сброса или включения питания выполняет процесс запуска, который обычно принимает форму «начать выполнение обнаруженного кода, начиная с определенного адреса» или «искать многобайтовый код. по определенному адресу и перейти в указанное место, чтобы начать выполнение ». Система, построенная с использованием этого микропроцессора, будет иметь постоянное ПЗУ, занимающее эти специальные места, так что система всегда начинает работать без помощи оператора.Например, процессоры Intel x86 всегда запускаются с выполнения инструкций, начинающихся с FFFF: 0000, тогда как для процессора MOS 6502 инициализация начинается с чтения двухбайтового адреса вектора в $ FFFD (байт MS) и $ FFFC (байт LS) и переход в это место для запуска кода начальной загрузки.

    Первый компьютер

    Apple Inc., Apple 1, представленный в 1976 году, был оснащен микросхемами PROM, которые устраняли необходимость в передней панели для процесса загрузки. Согласно объявлению Apple, в котором говорится: «Больше никаких переключателей, никаких огней … прошивка в PROMS позволяет вводить, отображать и отлаживать программы (все в шестнадцатеричном формате) с клавиатуры.”

    Из-за высокой стоимости постоянной памяти в то время, серия Apple II загружала свои дисковые операционные системы, используя серию очень маленьких пошаговых шагов, каждый из которых передавал управление следующей фазе постепенно более сложного процесса загрузки. (См. Apple DOS: Загрузчик). Поскольку дисковая операционная система очень мало полагалась на ПЗУ, оборудование также было чрезвычайно гибким и поддерживало широкий спектр настраиваемых механизмов защиты диска от копирования. (См. Взлом программного обеспечения: История.)

    Некоторые операционные системы, в первую очередь системы Macintosh до 1995 года от Apple, настолько тесно связаны с их оборудованием, что невозможно изначально загрузить операционную систему, отличную от стандартной.Это противоположная крайность сценария с использованием переключателей, упомянутых выше; он очень негибкий, но относительно безошибочный и надежный, пока все оборудование работает нормально. Распространенным решением в таких ситуациях является разработка загрузчика, который работает как программа, принадлежащая стандартной ОС, которая захватывает систему и загружает альтернативную ОС. Этот метод использовался Apple для реализации A / UX Unix и копировался различными бесплатными операционными системами и BeOS Personal Edition 5.

    Некоторые машины, такие как микрокомпьютер Atari ST, работали «мгновенно», когда операционная система выполнялась из ПЗУ. Таким образом, извлечение ОС из вторичного или третичного хранилища было исключено как одна из характерных операций для начальной загрузки. Чтобы обеспечить автоматическую загрузку настроек системы, аксессуаров и другого вспомогательного программного обеспечения, флоппи-дисковод Atari считывался на наличие дополнительных компонентов во время процесса загрузки. Была задержка тайм-аута, которая давала время, чтобы вручную вставить дискету, пока система искала дополнительные компоненты.Этого можно было избежать, вставив чистый диск. Аппаратное обеспечение Atari ST также было спроектировано таким образом, чтобы слот для картриджа мог обеспечивать выполнение собственных программ для игровых целей в качестве наследства от унаследованных от Atari электронных игр; вставив картридж Spectre GCR с системным ПЗУ Macintosh в игровой слот и включив Atari, он мог «изначально загружать» операционную систему Macintosh, а не собственную систему TOS Atari.

    Персональный компьютер IBM включал встроенное ПО на основе ПЗУ, называемое BIOS; одной из функций этой прошивки было выполнение самотестирования при включении машины, а затем считывание программного обеспечения с загрузочного устройства и его выполнение.Прошивка, совместимая с BIOS на персональном компьютере IBM, используется на компьютерах, совместимых с IBM PC. Расширяемый интерфейс микропрограмм был разработан Intel первоначально для компьютеров на базе процессоров Itanium, а позже также использовался в качестве альтернативы BIOS на компьютерах на базе x86, включая Apple Mac с процессорами Intel.

    Рабочие станции

    Unix изначально имели встроенное ПО на основе ПЗУ конкретного производителя. Позднее Sun Microsystems разработала OpenBoot, позже известную как Open Firmware, которая включала интерпретатор Forth, причем большая часть прошивки была написана на Forth.Он был стандартизирован IEEE как стандарт IEEE 1275-1994; Прошивка, реализующая этот стандарт, использовалась в компьютерах Mac на базе PowerPC и некоторых других машинах на базе PowerPC, а также на собственных компьютерах Sun на базе SPARC. Спецификация Advanced RISC Computing определила другой стандарт прошивки, который был реализован на некоторых машинах на базе MIPS и Alpha, а также на рабочих станциях SGI Visual Workstation на базе x86.

    Современные загрузчики

    Когда компьютер выключен, его программное обеспечение, включая операционные системы, код приложений и данные, остается сохраненным на энергонезависимых устройствах хранения данных, таких как жесткие диски, компакт-диски, DVD-диски, карты флэш-памяти (например, SD-карты). , USB-накопители и дискеты.Когда компьютер включен, он обычно не имеет операционной системы или ее загрузчика в оперативной памяти (RAM). Сначала компьютер выполняет относительно небольшую программу, хранящуюся в постоянном запоминающем устройстве (ПЗУ), вместе с небольшим объемом необходимых данных, чтобы получить доступ к энергонезависимому устройству или устройствам, с которых программы и данные операционной системы могут быть загружены в ОЗУ.

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

    Некоторые компьютерные системы после получения сигнала загрузки от человека-оператора или периферийного устройства могут загружать очень небольшое количество фиксированных инструкций в память в определенном месте, инициализировать по крайней мере один ЦП, а затем направлять ЦП на инструкции и приступить к их казни.Эти инструкции обычно запускают операцию ввода с некоторого периферийного устройства (которое может переключаться оператором). Другие системы могут отправлять аппаратные команды непосредственно на периферийные устройства или контроллеры ввода-вывода, которые вызывают выполнение чрезвычайно простой операции ввода (например, «чтение нулевого сектора системного устройства в память, начиная с ячейки 1000»), эффективно загружая небольшой количество инструкций загрузчика в памяти; затем сигнал завершения от устройства ввода-вывода может использоваться для начала выполнения инструкций ЦП.

    В компьютерах меньшего размера часто используются менее гибкие, но более автоматические механизмы загрузчика, обеспечивающие быстрый запуск компьютера с заданной конфигурацией программного обеспечения. Например, на многих настольных компьютерах процесс начальной загрузки начинается с того, что ЦП выполняет программное обеспечение, содержащееся в ПЗУ (например, BIOS IBM PC) по заранее заданному адресу (некоторые ЦП, включая серию Intel x86, предназначены для выполнения этого программного обеспечения. после сброса без посторонней помощи). Это программное обеспечение содержит элементарные функции для поиска устройств, которые могут участвовать в загрузке, и загрузки небольшой программы из специального раздела (чаще всего загрузочного сектора) наиболее многообещающего устройства, обычно начиная с фиксированной точки входа, такой как начало сектор.

    Загрузчики могут сталкиваться со специфическими ограничениями, особенно по размеру; например, на IBM PC и совместимых устройствах загрузочный сектор обычно должен работать только в 32 КБ (позже уменьшенных до 64 КБ) системной памяти и не использовать инструкции, не поддерживаемые исходными процессорами 8088/8086. Первый этап загрузчиков, расположенных на фиксированных дисках и съемных дисках, должен уместиться в первые 446 байтов главной загрузочной записи, чтобы оставить место для 64-байтовой таблицы разделов по умолчанию с четырьмя записями разделов и двухбайтовой загрузочной подписью. что BIOS требует для правильного загрузчика — или даже меньше, когда дополнительные функции, такие как более четырех записей разделов (до 16 по 16 байтов каждая), подпись диска (6 байтов), временная метка диска (6 байтов), В некоторых средах также должны поддерживаться расширенные активные разделы (18 байт) или специальные мультизагрузочные загрузчики.В загрузочных записях томов с гибких и супертекстовых дисков до 59 байтов занято для расширенного блока параметров BIOS на томах FAT12 и FAT16, начиная с DOS 4.0, тогда как для FAT32 EBPB, представленного с DOS 7.1, требуется даже 71 байт, оставляя только 441 байт для загрузчика. при условии, что размер сектора составляет 512 байт. Поэтому загрузочные секторы Microsoft традиционно накладывали определенные ограничения на процесс загрузки, например, загрузочный файл должен был располагаться в фиксированной позиции в корневом каталоге файловой системы и храниться в виде последовательных секторов, условия, обеспечиваемые системой SYS команда и немного ослаблена в более поздних версиях DOS.Затем загрузчик смог загрузить первые три сектора файла в память, которая, как оказалось, содержала другой встроенный загрузчик, способный загрузить оставшуюся часть файла в память. Когда они добавили поддержку LBA и FAT32, они даже перешли на двухсекторный загрузчик с использованием 386 инструкций. В то же время другим производителям удалось втиснуть гораздо больше функций в один загрузочный сектор, не ослабляя исходных ограничений на единственную минимальную доступную память и поддержку процессора.Например, загрузочные секторы DR-DOS могут найти загрузочный файл в файловой системе FAT12, FAT16 и FAT32 и загрузить его в память в целом через CHS или LBA, даже если файл не хранится в фиксированном месте и в последовательных секторах.

    Загрузчик второй ступени

    Загрузчики второй ступени, такие как GNU GRUB, BOOTMGR, Syslinux, NTLDR или BootX, сами по себе не являются операционными системами, но могут правильно загружать операционную систему и передавать ей выполнение; впоследствии операционная система инициализируется и может загружать дополнительные драйверы устройств.Загрузчику второй ступени не нужны драйверы для собственной работы, но вместо этого он может использовать общие методы доступа к хранилищу, предоставляемые системной прошивкой, например BIOS или Open Firmware, хотя обычно с ограниченной функциональностью оборудования и более низкой производительностью.

    Многие загрузчики (такие как GNU GRUB, Windows BOOTMGR и Windows NT / 2000 / XP NTLDR) могут быть настроены так, чтобы предоставить пользователю несколько вариантов загрузки. Эти варианты могут включать разные операционные системы (для двойной или множественной загрузки с разных разделов или дисков), разные версии одной и той же операционной системы (в случае, если в новой версии возникают непредвиденные проблемы), разные варианты загрузки операционной системы (например.g., загрузка в аварийном или безопасном режиме), а также некоторые автономные программы, которые могут работать без операционной системы, такие как тестеры памяти (например, memtest86 +) или даже игры (см. Список игр PC Booter). Некоторые загрузчики могут также загружать другие загрузчики; например, GRUB загружает BOOTMGR вместо прямой загрузки Windows. Обычно выбор по умолчанию предварительно выбирается с временной задержкой, в течение которой пользователь может нажать клавишу, чтобы изменить выбор; после этой задержки автоматически выполняется выбор по умолчанию, поэтому нормальная загрузка может происходить без взаимодействия.

    Процесс загрузки можно считать завершенным, когда компьютер готов к взаимодействию с пользователем или операционная система способна запускать системные программы или прикладные программы. Типичные современные персональные компьютеры загружаются примерно за одну минуту, из которых около 15 секунд занимают самотестирование при включении (POST) и предварительный загрузчик, а остальное — загрузка операционной системы и другого программного обеспечения. Время, затрачиваемое после загрузки операционной системы, может быть значительно сокращено до 3 секунд [24] за счет одновременного включения в систему всех ядер, как при загрузке ядра.Для больших серверов может потребоваться несколько минут для загрузки и запуска всех служб.

    Многие встроенные системы должны загружаться немедленно. Например, как правило, недопустимо подождать минуту для запуска цифрового телевидения или GPS-навигатора. Следовательно, такие устройства имеют программные системы в ПЗУ или флэш-памяти, поэтому устройство может сразу начать функционировать; требуется небольшая загрузка или ее отсутствие, поскольку загрузка может быть предварительно вычислена и сохранена в ПЗУ при создании устройства.

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

    Загрузка по сети

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

    Как и в случае загрузчика второго уровня, загрузка по сети начинается с использования общих методов доступа к сети, предоставляемых загрузочным ПЗУ сетевого интерфейса, которое обычно содержит образ среды предварительной загрузки (PXE). Никаких драйверов не требуется, но функциональность системы ограничена до тех пор, пока ядро ​​операционной системы и драйверы не будут перенесены и запущены. В результате, как только загрузка из ПЗУ завершена, вполне возможно выполнить загрузку по сети в операционную систему, которая сама не имеет возможности использовать сетевой интерфейс.

    Персональные компьютеры (ПК)

    Загрузочные устройства

    Загрузочная флешка

    Windows To Go, пример Live USB

    Загрузочное устройство — это устройство, с которого загружается операционная система. BIOS современного ПК поддерживает загрузку с различных устройств, обычно с локального жесткого диска через основную загрузочную запись (MBR) (и нескольких разделов MS-DOS на таком диске или с GPT через GRUB 2), оптического дисковода (с использованием El Torito), запоминающее устройство USB (флэш-накопитель на основе FTL, SD-карта или слот для мультимедийных карт; жесткий диск, дисковод оптических дисков и т. Д.)) или сетевую карту (используя PXE). Старые, менее распространенные загрузочные устройства BIOS включают дисководы гибких дисков, устройства SCSI, дисководы Zip и дисководы LS-120.

    Обычно BIOS позволяет пользователю настроить порядок загрузки . Если установлен порядок загрузки «сначала DVD-дисковод; во-вторых, жесткий диск », то BIOS попытается загрузиться с DVD-дисковода, и если это не удастся (например, из-за того, что в дисководе нет DVD), он попытается загрузить с локального жесткого диска.

    Например, на ПК с Windows XP, установленной на жестком диске, пользователь может установить порядок загрузки, указанный выше, а затем вставить Linux Live CD, чтобы опробовать Linux без необходимости установки операционной системы на компьютер. жесткий диск.Это пример двойной загрузки, при которой пользователь выбирает, какую операционную систему запускать после того, как компьютер выполнил самотестирование при включении питания (POST). В этом примере двойной загрузки пользователь выбирает, вставляя или извлекая компакт-диск из компьютера, но чаще всего выбирают, какую операционную систему загружать, выбирая из меню загрузки BIOS или UEFI с помощью клавиатуры компьютера; меню загрузки обычно вызывается нажатием клавиш Удалить или F11 во время POST.

    Доступно несколько устройств, которые позволяют пользователю быстро загрузить в то, что обычно является вариантом Linux для различных простых задач, таких как доступ в Интернет; примерами являются Splashtop и Latitude ON.

    Последовательность загрузки

    Шестнадцатеричный дамп загрузочной MBR FreeBSD

    При запуске процессор x86 IBM-совместимого персонального компьютера выполняет в реальном режиме инструкцию, расположенную в векторе сброса (адрес физической памяти FFFF0h на 16-битных процессорах x86 и FFFFFFF0h на 32-битных и 64-битных процессорах x86), обычно указывая на точку входа BIOS внутри ПЗУ.Эта ячейка памяти обычно содержит инструкцию перехода, которая передает выполнение в местоположение программы запуска BIOS. Эта программа запускает самотестирование при включении питания (POST) для проверки и инициализации необходимых устройств, таких как DRAM и шина PCI (включая работающие встроенные ПЗУ). Самым сложным шагом является настройка DRAM через SPI, что еще больше осложняется тем фактом, что на данный момент память очень ограничена.

    После инициализации необходимого оборудования BIOS просматривает предварительно настроенный список энергонезависимых запоминающих устройств («последовательность загрузочных устройств») до тех пор, пока не найдет одно, которое является загрузочным.Загрузочное устройство определяется как устройство, с которого можно читать, и где последние два байта первого сектора содержат слово с прямым порядком байтов AA55h, найденное как последовательность байтов 55h, AAh на диске (также известная как подпись загрузки MBR), или если иным образом установлено, что код внутри сектора исполняется на компьютерах x86.

    Coreboot разделяет службы инициализации и загрузки на отдельные части, поддерживая «полезные нагрузки», такие как SeaBIOS, TianoCore, GRUB и Linux напрямую (с флэш-памяти).

    Как только BIOS обнаруживает загрузочное устройство, он загружает загрузочный сектор по линейному адресу 7C00h (обычно сегмент: offset0000h: 7C00h, но некоторые BIOS ошибочно используют 07C0h: 0000h) и передает выполнение загрузочному коду.В случае жесткого диска это называется основной загрузочной записью (MBR) и по определению не зависит от операционной системы. Обычный код MBR проверяет таблицу разделов MBR на наличие раздела, установленного как загрузочного (тот, у которого установлен флаг активный ). Если активный раздел обнаружен, код MBR загружает код загрузочного сектора из этого раздела, известный как Volume Boot Record (VBR), и выполняет его.

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

    Если нет активного раздела или загрузочный сектор активного раздела недействителен, MBR может загрузить вторичный загрузчик, который выберет раздел (часто через ввод пользователя) и загрузит его загрузочный сектор, который обычно загружает соответствующее ядро ​​операционной системы. . В некоторых случаях MBR может также попытаться загрузить вторичные загрузчики перед попыткой загрузки активного раздела. Если ничего не помогает, он должен выдать вызов прерывания INT 18h BIOS (за которым следует INT 19h на тот случай, если INT 18h вернется), чтобы вернуть управление BIOS, который затем попытается загрузиться с других устройств, попытаться выполнить удаленная загрузка по сети или вызов ROM BASIC.

    Некоторые системы (особенно новые Macintosh и новые версии Microsoft Windows) используют Intel EFI. Кроме того, coreboot позволяет компьютеру загружаться без постоянной работы микропрограммы / BIOS в режиме управления системой. 16-битные интерфейсы BIOS требуются для некоторых операционных систем x86, таких как DOS и Windows 3.1 / 95/98 (и все, когда не загружаются через UEFI). Однако большинство загрузчиков сохраняют поддержку 16-битных вызовов BIOS.

    Другие виды загрузочных последовательностей

    Разблокированный загрузчик Android с дополнительными доступными опциями

    Некоторые современные процессоры и микроконтроллеры (например, TI OMAP) или иногда даже DSP могут иметь загрузочное ПЗУ с загрузочным кодом, интегрированным непосредственно в их микросхему, поэтому такой процессор может самостоятельно выполнять довольно сложную последовательность загрузки и загружать программы загрузки из различных такие источники, как NAND flash, SD или MMC card и так далее.Трудно встроить всю необходимую логику для работы с такими устройствами, поэтому в таких сценариях вместо этого используется интегрированное загрузочное ПЗУ. Использование загрузочного ПЗУ обеспечивает более гибкие последовательности загрузки, чем может обеспечить аппаратная логика. Например, загрузочное ПЗУ может попытаться выполнить загрузку из нескольких источников загрузки. Кроме того, загрузочное ПЗУ часто может загружать загрузчик или диагностическую программу через последовательные интерфейсы, такие как UART, SPI, USB и т. Д. Эта функция часто используется для целей восстановления системы, когда по некоторым причинам обычное загрузочное программное обеспечение в энергонезависимой памяти было стерто, и ее также можно использовать для начального программирования энергонезависимой памяти, когда установлена ​​чистая энергонезависимая память и, следовательно, нет программного обеспечения. в системе пока нет.

    Некоторые конструкции встроенных систем могут также включать промежуточный этап последовательности загрузки в виде дополнительного кода, который загружается в системную RAM с помощью встроенного загрузочного ПЗУ. Дополнительный код, загруженный таким образом, обычно служит способом преодоления ограничений платформы, таких как небольшой объем оперативной памяти, поэтому выделенный основной загрузчик, такой как Das U-Boot, может быть загружен в качестве следующего шага в последовательности загрузки системы. Дополнительный код и этап последовательности загрузки обычно упоминаются как вторичный загрузчик программ (SPL).

    Также возможно получить контроль над системой с помощью аппаратного интерфейса отладки, такого как JTAG. Такой интерфейс может использоваться для записи программы загрузчика в загрузочную энергонезависимую память (например, флеш-память), давая указание ядру процессора выполнить необходимые действия для программирования энергонезависимой памяти. В качестве альтернативы интерфейс отладки может использоваться для загрузки некоторого диагностического или загрузочного кода в ОЗУ, а затем для запуска ядра процессора и указания ему выполнить загруженный код. Это позволяет, например, восстанавливать встроенные системы, в которых не осталось программного обеспечения ни на одном из поддерживаемых загрузочных устройств, а процессор не имеет встроенного загрузочного ПЗУ.JTAG — стандартный и популярный интерфейс; многие процессоры, микроконтроллеры и другие устройства производятся с интерфейсами JTAG (по состоянию на 2009 г.).

    Некоторые микроконтроллеры предоставляют специальные аппаратные интерфейсы, которые нельзя использовать для произвольного управления системой или прямого запуска кода, но вместо этого они позволяют вставлять загрузочный код в загрузочную энергонезависимую память (например, флэш-память) с помощью простых протоколов. Затем на этапе производства такие интерфейсы используются для ввода загрузочного кода (и, возможно, другого кода) в энергонезависимую память.После сброса системы микроконтроллер начинает выполнять код, запрограммированный в его энергонезависимой памяти, точно так же, как обычные процессоры используют ПЗУ для загрузки. В частности, этот метод используется микроконтроллерами Atmel AVR, а также другими. Во многих случаях такие интерфейсы реализуются аппаратной логикой. В других случаях такие интерфейсы могут быть созданы программным обеспечением, работающим во встроенном загрузочном ПЗУ на кристалле с контактов GPIO.

    Большинство цифровых сигнальных процессоров имеют загрузку в последовательном и параллельном режимах, например, интерфейс хост-порта (загрузка HPI).

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

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

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