Как загружается компьютер?
Термин «boot – загрузка» используется для описания процесса, выполняемого компьютером при включении, который загружает операционную систему и подготавливает систему к использованию. Загрузка и запуск – всё это синонимы и, как правило, описывают длинный список вещей, которые происходят от нажатия кнопки питания до полностью загруженного и готового к использованию сеанса операционной системы, такой как Windows. С момента включения питания и до начала работы, загрузка компьютера является очень сложным процессом.
С самого начала, когда нажимается кнопка питания для включения компьютера, блок питания подаёт питание на материнскую плату и её компоненты, чтобы они могли играть свою роль во всей системе.
Первая часть следующего шага процесса загрузки контролируется BIOS и начинается после POST. Это когда сообщения об ошибках POST выдаются, если есть проблема с любым аппаратным обеспечением.
После отображения на мониторе различной информации, например, о производителе и подробностях BIOS, BIOS в конечном итоге передаёт процесс загрузки основному загрузочному коду, который передаёт его к загрузочному коду тома, а затем, наконец, диспетчеру загрузки для обработки остальных данных.
BIOS находит нужный жесткий диск с установленной операционной системой. Это делается путём проверки первого сектора жестких дисков, которые он идентифицирует. Когда он находит нужный диск с загрузчиком, он загружает его в память, чтобы программа загрузчика могла затем загрузить операционную систему в память, установленную на диске.
В более новых версиях Windows BOOTMGR – это менеджер загрузки, который используется для загрузки ОС.
Это объяснение процесса загрузки, которое вы только что прочитали, является очень упрощенной версией того, что происходит, но оно даёт вам некоторое представление о том, что происходит при включении компьютера.
Принцип работы WOL
При включенной функции Wake On Lan, компьютер, выключенный нормальным образом (не в аварийном режиме), продолжает подавать дежурное питание (5В с маленьким током) на сетевую плату, которая находиться в режиме ожидания всего лишь одного пакета — Magic packet (магический пакет). Поле получения этого пакета, сетевая плата подаёт сигнал для включения компьютера.
Передать этот пакет можно при помощи специальной программы, например WOL v2.0.3, или PHP скрипта.
Особенности загрузки операционных систем 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 и их загрузка становится невозможной. Лечится достаточно легко, но неискушенного пользователя такая ситуация может поставить в тупик.
Добавить к этому практически нечего и можно переходить непосредственно к редактированию загрузочного меню. Начнем с загрузочного меню Windows.
Включаем компьютер совсем без кнопок
Может показаться что это какая-то шутка, но нет – систему можно запустить совсем без кнопок. Для этого нам лишь понадобится немного знаний и какой-то металлический предмет, чтобы замкнуть контакты (например отвертка или даже обыкновенная ручка).
Данный способ пригодится в случае ремонта компьютера и тестирования его работы или когда кнопка питания вышла из строя.
Как работать с контактами на передней панели я уже рассказывал в одной из предыдущих статей, поэтому прежде чем лезть в системный блок, рекомендую вам ознакомиться с ней.
- В первую очередь снимаем боковую левую стенку корпуса и смотрим на внутренности, разумеется, перед этим отключив ПК от питания.
- Нам потребуется найти на своей материнской плате блок контактов, к которому подходит много тонких проводов (при условии, что компьютер полностью собран в корпусе). Обычно данный блок находится в правой нижней части платы.
- По инструкции к плате или по указаниям на материнке нужно найти контакты с надписями PowerSW (реже – POWER BUTTON, PWR BTN). Замкнув их, мы запустим систему (перед выполнением данного пункта питание энергией необходимо вернуть).
- Если даже в этом случае не происходит запуска, то имеет смысл протестировать блок питания без участия компьютера. Для этого следует отключить большой провод вашего БП от материнской платы. Посмотреть, как он выглядит можно на картинке ниже.
- Так же нужно отключить питание процессора 4pin (или 4+4pin). Жесткие диски и остальные устройства напротив лучше оставить для сопротивления, иначе есть шанс того, что ваше устройство выйдет из строя.
- Дальше нам потребуется для проверки обычная скрепка или шпилька. Ею вам потребуется замкнуть два контакта путем вставки вышеупомянутой скрепки в соответствующие отверстия.
- На картинке выше я указал требуемые контакты для включения блока. Если блок не стартует, то убедитесь, что питание подключено и если все в порядке, то, к сожалению, он неисправен.
Вот таким образом возможно решить проблему, как включить компьютер без кнопки включения.
Очистка Windows от временных и ненужных файлов и программ
В процессе работы в памяти компьютера накапливается множество временных файлов, которые стали не актуальны, однако не были удалены. Через время их становится так много, что они начинают занимать значительный объем памяти на локальном диске. При этом головка винчестера выполняет лишние движения, а это как раз и мешает быстрой загрузке Windows.
Очистку диска можно проводить встроенными средствами Windows или программами извне. Сначала воспользуемся стандартным методом, для чего:
- Открываем «Компьютер» («Этот компьютер») и выделяем системный диск «C:», потом правой кнопкой мыши вызываем контекстное меню, где выбираем «Свойства».
- Во вкладке «Общие» можно наглядно оценить количество свободного места на локальном диске. Нажимаем на кнопку «Очистка диска».
- Программа начнет оценку объема места, которое мы можем освободить.
- Спустя некоторое время, мы сможем выбрать, какого рода файлы следует удалить.
В разделе «Дополнительно» нам доступно удаление установленных программ и контрольных точек восстановления Windows.
После того как мы управились с программами и контрольными точками, возвращаемся в «Очистка диска» и жмем «ОК». Во всплывшем окне выбираем «Удалить файлы».
Вы наверняка удивитесь тому, сколько появилось свободного места на системном разделе винчестера. При необходимости вы можете отдельно удалить ненужные программы через «Пуск/Панель управления/Программы/Программы и компоненты».
«Нестандартный» метод заключается в скачивании, установке и использовании сервисной утилиты из интернета:
- Скачиваем бесплатную утилиту CCleaner с официального источника по ссылке https://www.ccleaner.com/ru-ru.
- После ее запуска автоматически открывается окно очистки. Выставляем галочки над пунктами в левой части (либо оставляем как есть) и включаем «Анализ».
- Весь найденный «мусор» отобразится в рабочей области окна. Пришло время запустить очистку соответствующей кнопкой внизу.
Вот так легко и быстро вы можете навести порядок и, одновременно, ускорить загрузку Windows 7, 8, 10 при включении.
Включение mental ray
Включение mental ray Работа с визуализатором mental ray начинается еще на этапе текстурирования. Первый этап — моделирование — выполняется одинаково, независимо от того, каким визуализатором будет создавать конечный продукт. Уже на втором этапе — текстурировании — необходимо
Включение преобразований Подобно тому, как мы бы использовали в языке С директиву #include для включения внешних файлов, преобразования в XSLT могут использовать для той же самой цели элемент xsl:include. Правда, в отличие от языка С, условное включение в XSLT
Phoenix BIOS
Звуковые сигналы Phoenix BIOS состоят из нескольких серий коротких гудков, которые следуют с некоторым интервалом. Например, сигнал с кодом 1-2-3 будет звучать так: один короткий гудок, пауза, два коротких гудка, пауза, три коротких гудка.
Сигнал
Значение (расшифровка)
Ошибка при чтении данных из микросхемы встроенной памяти СМОS
Ошибка контрольной суммы микросхемы CMOS
Ошибка на системной плате
Ошибка контроллера DМА системной платы
Ошибка чтения или записи данных в один из каналов DМА
Ошибка в оперативной памяти
Ошибка первых 64 Кбайт основной памяти
Ошибка тестирования оперативной памяти
Ошибка системной платы
Ошибка тестирования оперативной памяти
Ошибка одного из битов первых 64 Кбайт оперативной памяти
Ошибка в первом канале DMA
Ошибка во втором канале DМА
Ошибка при обработке прерываний
Ошибка контроллера прерываний материнской платы
Ошибка контроллера клавиатуры
Ошибка при тестировании видеопамяти
Ошибка при поиске видеопамяти
Ошибка системного таймера
Ошибка контроллера клавиатуры
Ошибка центрального процессора
Ошибка тестирования оперативной памяти
Ошибка системного таймера
Ошибка часов реального времени
Ошибка последовательного порта
Ошибка параллельного порта
Ошибка математического сопроцессора
Ошибка в работе адаптеров, имеющих собственный BIOS
Ошибка при подсчете контрольной суммы BIOS
Ошибка в работе оперативной памяти
Ошибка контроллера клавиатуры
Ошибки при тестировании оперативной памяти
Ошибка при проверке уведомления об авторском праве ROM BIOS
Ошибка при обработке непредвиденных прерываний
Последовательность звуковых сигналов, описание ошибок без таблицы:
1-1-2 Ошибка при тесте процессора. Процессор неисправен. Замените процессор
1-1-3 Ошибка записи/чтения данных в/из CMOS-памяти.
1-1-4 Обнаружена ошибка при подсчете контрольной суммы содержимого BIOS.
1-2-1 Ошибка инициализации материнской платы.
1-2-2 или 1-2-3 Ошибка инициализации контроллера DMA.
1-3-1 Ошибка инициализации схемы регенерации оперативной памяти.
1-3-3 или 1-3-4 Ошибка инициализации первых 64 Кбайт оперативной памяти.
1-4-1 Ошибка инициализации материнской платы.
1-4-2 Ошибка инициализации оперативной памяти.
1-4-3 Ошибка инициализации системного таймера.
1-4-4 Ошибка записи/чтения в/из одного из портов ввода/вывода.
2-1-1 Обнаружена ошибка при чтении/записи 0-го бита (в шестнадцатеричном представлении) первых 64 Кбайт ОЗУ
2-1-2 Обнаружена ошибка при чтении/записи 1-го бита (в шестнадцатеричном представлении) первых 64 Кбайт ОЗУ
2-1-3 Обнаружена ошибка при чтении/записи 2-го бита (в шестнадцатеричном представлении) первых 64 Кбайт ОЗУ
2-1-4 Обнаружена ошибка при чтении/записи 3-го бита (в шестнадцатеричном представлении) первых 64 Кбайт ОЗУ
2-2-1 Обнаружена ошибка при чтении/записи 4-го бита (в шестнадцатеричном представлении) первых 64 Кбайт ОЗУ
2-2-2 Обнаружена ошибка при чтении/записи 5-го бита (в шестнадцатеричном представлении) первых 64 Кбайт ОЗУ
2-2-3 Обнаружена ошибка при чтении/записи 6-го бита (в шестнадцатеричном представлении) первых 64 Кбайт ОЗУ
2-2-4 Обнаружена ошибка при чтении/записи 7-го бита (в шестнадцатеричном представлении) первых 64 Кбайт ОЗУ
2-3-1 Обнаружена ошибка при чтении/записи 8-го бита (в шестнадцатеричном представлении) первых 64 Кбайт ОЗУ
2-3-2 Обнаружена ошибка при чтении/записи 9-го бита (в шестнадцатеричном представлении) первых 64 Кбайт ОЗУ
2-3-3 Обнаружена ошибка при чтении/записи 10-го бита (в шестнадцатеричном представлении) первых 64 Кбайт ОЗУ
2-3-4 Обнаружена ошибка при чтении/записи 11-го бита (в шестнадцатеричном представлении) первых 64 Кбайт ОЗУ
2-4-1 Обнаружена ошибка при чтении/записи 12-го бита (в шестнадцатеричном представлении) первых 64 Кбайт ОЗУ
2-4-2 Обнаружена ошибка при чтении/записи 13-го бита (в шестнадцатеричном представлении) первых 64 Кбайт ОЗУ
2-4-3 Обнаружена ошибка при чтении/записи 14-го бита (в шестнадцатеричном представлении) первых 64 Кбайт ОЗУ
2-4-4 Обнаружена ошибка при чтении/записи 15-го бита (в шестнадцатеричном представлении) первых 64 Кбайт ОЗУ
3-1-1 Ошибка инициализации второго канала DMA.
3-1-2 или 3-1-4 Ошибка инициализации первого канала DMA.
3-2-4 Ошибка инициализации контроллера клавиатуры.
3-3-4 Ошибка инициализации видеопамяти.
3-4-1 Возникли серьёзные проблемы при попытке обращения к монитору.
3-4-2 Не удается инициализировать BIOS видеоплаты.
4-2-1 Ошибка инициализации системного таймера.
4-2-2 Тестирование завершено.
4-2-3 Ошибка инициализации контроллера клавиатуры.
4-2-4 Критическая ошибка при переходе центрального процессора в защищенный режим.
4-3-1 Ошибка инициализации оперативной памяти.
4-3-2 Ошибка инициализации первого таймера.
4-3-3 Ошибка инициализации второго таймера.
4-4-1 Ошибка инициализации одного из последовательных портов.
4-4-2 Ошибка инициализации параллельного порта.
4-4-3 Ошибка инициализации математического сопроцессора.
Длинные, непрекращающиеся сигналы — неисправна материнская плата.
Звук сирены с высокой на низкую частоту — неисправна видеокарта, проверить электролитические емкости, на утечку или заменить все на новые, заведомо исправные.
Непрерывный сигнал — не подключен (неисправен) кулер CPU.
Пару слов о USB
Ознакомление с работой порта USB потребовало бы отдельной статьи описывающей его работу и плюс описание обработки данных HID на Windows. Это очень сильно усложнило бы материал, к тому же уже есть хорошие статьи по теме, поэтому PS2 идеальный пример из-за своей простоты.
USB создавался как универсальный порт для всех устройств, будь то клавиатура, фотоаппарат, сканнер, игровой руль с педалями, принтер и пр. Вдобавок он поддерживает вложенность портов – USB материнки => монитор с USB => клавиатура с USB к которой подключена мышка, флешка и USB-hub к которому подключен жёсткий диск. Взглянув на контакты USB 2.0 вы увидите что они не заточены под передачу каких-то определённых данных, как у PS2. Их всего четыре – витая пара для передачи битов данных, плюс и минус питания.
Провода кабеля USB 2.0
USB 3.0 быстрее за счёт дополнительных пяти контактов. Как видите там нету линии CLOCK для синхронизации, поэтому логика передачи данных сложнее. Слева USB 2.0 и справа USB 3.0 для сравнения.
Все данные передаются через протокол HID (Human Interface Device), который описывает форматы, порядок взаимодействия и передачи данных и всё остальное. Стандарт USB 2.0 занимает 650 страниц, документ HID Class Specification, описывающий работу устройств (мыши, клавиатуры и пр) – 97 страниц, их рекомендуется изучить если вы работаете с USB.
Первым делом подключенное устройство должно рассказать о себе, для этого оно отправляет несколько структур данных, в которых указывается ID устройства и ID производителя по которым Plug’n’Play manager может найти в реестре информацию, загрузить и соединить драйвера. USB устройства пассивны, т.е. хост должен сам с определённым интервалом проверять наличие данных. Частота опроса и размер пакета данных задаются в одном из дескрипторов устройства USB. Максимальный размер пакета – 64 байта, что для информации о нажатых клавишах более чем достаточно.
В Windows есть встроенная поддержка HID, она не такая простая как связь драйвера порта PS2 с драйвером клавиатуры, потому что драйвер HID должен уметь обрабатывать все поддерживаемые протоколом сценарии. Вне зависимости от провайдера данных — порты PS2, USB или Remote Desktop или виртуальная машина – на самом верху driver node будет находится Kbdclass, от которого ядро ОС и будет получать информацию. Уведомление о подсоединении клавиатуры будет обрабатываться через Plug’n’Play Manager, так что для ядра Windows не имеет значение какой порт или источник данных от устройства используется.