как сделать выбор ос при загрузке компьютера windows 10

Содержание
  1. Как сделать выбор загрузки системы в windows 10
  2. Содержание:
  3. ↑ Что делать, если после установки на компьютер с Windows 10 операционной системы Windows 7 нет меню выбора OS при загрузке
  4. ↑ Форматируем скрытый раздел System Reserved (Зарезервировано системой) и создаём его заново
  5. Комментарии (23)
  6. Рекламный блок
  7. Подпишитесь на рассылку
  8. Навигация
  9. Облако тегов
  10. Архив статей
  11. Сейчас обсуждаем
  12. Гость Владимир
  13. Санёк
  14. admin
  15. Daniil
  16. admin
  17. О проекте RemontCompa.ru
  18. Выбор операционной системы при загрузке компьютера: как изменить или отключить
  19. Выбор операционной системы при загрузке компьютера: как изменить или отключить
  20. В Windows 7
  21. В Windows 10
  22. Видеоролик о выборе операционной системы при загрузке в Windows 7:
  23. Как сделать выбор ОС при загрузке Windows 10?
  24. Как сделать выбор Windows при загрузке?
  25. Как сделать выбор между двумя операционными системами?
  26. Как выбрать операционную систему при загрузке компьютера?
  27. Как добавить операционную систему в загрузчик Windows 10?
  28. Как выйти в меню выбора операционной системы?
  29. Как запустить систему со второго жесткого диска?
  30. Как убрать список операционных систем при загрузке?
  31. Как открыть операционную систему?
  32. Как попасть в меню загрузки Windows 10?
  33. Как изменить порядок загрузки Винды?
  34. Как восстановить загрузчик Windows 10?
  35. Где найти файл boot ini в Windows 10?
  36. Как изменить параметры загрузки в Windows 10?
  37. О работе ПК ч.3: От включения до полной загрузки Windows 10
  38. Старт системы
  39. Поиск загрузчика ОС
  40. Запуск на UEFI
  41. Инициализация ядра
  42. Запуск подсистем – SMSS, CSRSS, WinInit
  43. Где здесь клавиатура?
  44. Пару слов о USB

Как сделать выбор загрузки системы в windows 10

vibor zagruzky1

В окне конфигурации системы, выберите:

1 Пункт «Загрузка».
2 В данном строке у Вас будет отображаться то количество систем windows, которое установлено на вашем компьютере или ноутбуке. Выберите ту систему, которая должна загружаться по умолчанию.
3 Нажмите на кнопку «Использовать по умолчанию».
4 Нажмите «Применить».
5 И «Ок».

vibor zagruzky2

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

Следующий способ сделать выбор загрузки в windows 10, воспользоваться настройкой «Загрузка и Восстановление».

1 Кликните правой клавишей мыши на «Мой компьютер».
2 Откройте вкладку «Свойства».

vibor zagruzky3

В этом окне, нажмите на вкладку «Дополнительные параметры системы».

vibor zagruzky4

В этом окне нажмите на кнопку «Параметры» и «Ок».

vibor zagruzky5

В окне «Загрузка и восстановление»

1 Поставьте галочку(если не стоит галочка) «Отображать список операционных систем».
2 Нажмите на галочку. В выпадающем списке выберите ту систему windows, которая будет загружаться по умолчанию.
3 И нажмите «Ок».

vibor zagruzky6

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

Источник

Содержание:

↑ Что делать, если после установки на компьютер с Windows 10 операционной системы Windows 7 нет меню выбора OS при загрузке

1517856199 18

1517857797 21

1517861218 10

Открываем командную строку администратора и вводим команду:

bcdedit (данная команда открывает содержимое хранилище данных конфигурации загрузки (BCD), в котором присутствует только Windows 7.

1517858323 22

1517858436 7

Прописать Windows 10 в файл конфигурации хранилища загрузки (BCD) Windows 7 очень легко.

В командной строке администратора вводим команду:

bcdboot D:\windows (эта команда прописывает Windows 10 в файл конфигурации хранилища загрузки (BCD) Windows 7). Буква D: в команде, это буква диска с установленной Win 10.

1517858938 23

Командой bcdedit открываем содержимое хранилище данных конфигурации загрузки и видим уже две операционные системы.

1517859008 24

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

1517859094 25

Таким нехитрыми действиями мы внесли информацию о Windows 10 в файл конфигурации хранилища загрузки (BCD) Windows 7. Но что делать, если данный способ не поможет? В этом случае проще всего пересоздать хранилище загрузки заново.

↑ Форматируем скрытый раздел System Reserved (Зарезервировано системой) и создаём его заново

Загружаем компьютер или ноутбук с установочной флешки или диска с Windows 10, открываем командную строку клавиатурным сочетанием Shift+F10.

1427297911 54

В среде восстановления Windows 10 сначала определим букву диска скрытого раздела System Reserved и буквы дисков установленных ОС.

Можно увидеть, что DVD-рому присвоена буква (F:), а скрытому разделу Зарезервировано системой, объём 100 МБ, присвоена буква (C:).

Windows 7 находится на диске (D:).

Windows 10 находится на диске (E:).

Водим следующую команду:

sel vol 1 (Том 1, это и есть наш скрытый раздел System Reserved, выбираем его этой командой).

format fs=NTFS (форматируем его в файловую систему NTFS).

1517859977 15

Выходим из diskpart командой: exit

bcdboot.exe D:\Windows (где D : раздел с установленной Windows 7)

bcdboot.exe E:\Windows (где E: раздел с установленной Windows 10)

Данные команды заново создают файлы конфигурации хранилища загрузки (BCD), то есть загрузчики Windows 7 и Windows 10.

1517860069 16

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

1517859094 25

Статьи на эту тему:

Комментарии (23)

Рекламный блок

Подпишитесь на рассылку

Облако тегов

Архив статей

Сейчас обсуждаем

noavatar

Гость Владимир

Пока ещё нет реальных тестов и сравнений новых процессоров со старыми, поэтому не надо торопиться и

noavatar

Санёк

Ажиотаж прям создаётся! Так и хочется продать свои старые железки и прикупить новые.

foto 1

admin

vld32, извините меня пожалуйста, но я пятый раз пытаюсь пройти по вашим ссылкам, но они не

noavatar

Daniil

А я нажал на «Пока остаться на Windows 10» и предложение пропало!

foto 1

admin

Как на допросе. Где модератор сайта-то?

О проекте RemontCompa.ru

RemontCompa — сайт с огромнейшей базой материалов по работе с компьютером и операционной системой Windows. Наш проект создан в 2010 году, мы стояли у истоков современной истории Windows. У нас на сайте вы найдёте материалы по работе с Windows начиная с XP. Мы держим руку на пульсе событий в эволюции Windows, рассказываем о всех важных моментах в жизни операционной системы. Мы стабильно выпускаем мануалы по работе с Windows, делимся советами и секретами. Также у нас содержится множество материалов по аппаратной части работы с компьютером. И мы регулярно публикуем материалы о комплектации ПК, чтобы каждый смог сам собрать свой идеальный компьютер.

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

Источник

Выбор операционной системы при загрузке компьютера: как изменить или отключить

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

Читайте также:  как подключить вай фай роутер tp link без компьютера

Выбор операционной системы при загрузке компьютера: как изменить или отключить

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

В Windows 7

В Windows 7 это можно сделать несколькими способами:

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

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

В Windows 10

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

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

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

Видеоролик о выборе операционной системы при загрузке в Windows 7:

Почти тоже самое можно проделать и в Windows 10.

Удачи!

Источник

Как сделать выбор ОС при загрузке Windows 10?

Как сделать выбор Windows при загрузке?

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

Как сделать выбор между двумя операционными системами?

Первый способ. Кликнуть правой кнопкой мыши по кнопке Пуск. Выбрать в списке пункт Система. Откроется окно «Система», в котором слева необходимо перейти по ссылке Дополнительные параметры системы, перейти в блок Загрузка и восстановление, и нажать на кнопку Параметры.

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

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

Как добавить операционную систему в загрузчик Windows 10?

Редактирование меню загрузки Windows 10 в Конфигурация системы

Как выйти в меню выбора операционной системы?

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

Как запустить систему со второго жесткого диска?

Жмёте при загрузке на клавишу Delete или F8 и входите в меню загрузки, затем с помощью стрелок на клавиатуре выбираете жёсткий диск с нужной Вам операционной системой и жмёте Enter, происходит загрузка выбранной Вами Windows.

Как убрать список операционных систем при загрузке?

Нажмите сочетание кнопок Win + R и введите msconfig. Перейдите во вкладку «Загрузка» и там будут ваши ОС при выборе загрузке системы. Далее выберите не нужные вам ОС и удалите, чтобы они не отображались при загрузке для выбора.

Как открыть операционную систему?

Как попасть в меню загрузки Windows 10?

Как изменить порядок загрузки Винды?

Изменить параметры загрузки с помощью графического интерфейса в Windows Vista, 7, 8. Что бы воспользоваться этим способом нажмите сочетание клавиш «Win» + «R», В строке «Выполнить» наберите msconfig, и нажмите клавишу Enter. Далее выберите вкладку «Загрузка».

Как восстановить загрузчик Windows 10?

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

Где найти файл boot ini в Windows 10?

Теперь вы сможете увидеть BOOT. INI. Он находится прямо на системном диске (обычно это диск C:). Сам файл имеет иконку в виде листка с шестерёнкой.

Как изменить параметры загрузки в Windows 10?

Параметры загрузки Windows (включая безопасный режим)

Источник

О работе ПК ч.3: От включения до полной загрузки Windows 10

Мы продолжаем разбираться как работает ПК на примере клавиатуры и Windows 10. В этой статье поговорим о том как происходит единение софта и железа.

Старт системы

Полностью компьютер выключен когда он отключен от питания и конденсаторы на материнской плате разрядились. До эры смартфонов мобильные телефоны часто глючили и если перезагрузка не лечила проблему, то приходилось доставать батарею и ждать 10 секунд, потому что сбрасывалось программное состояние ОС, в то время как чипы на материнской плате и контроллеры устройств оставались активными сохраняя состояние, драйвера ОС к ним просто реконнектились. 10 секунд — время на разрядку конденсаторов, состояние чипов сбрасывается только при полном отключении.
Если же ПК подключен к розетке или батарее, то он находится в режиме Stand-By, это значит что по шине питания подаётся маленькое напряжения (5В) от которого запитываются некоторые чипы на материнке. Как минимум это системный контроллер, по сути это мини-компьютер запускающий большой компьютер. Получив уведомление о нажатии кнопки Power он просит блок питания/батарею подать больше напряжения и после инициализирует весь чип-сет, в том числе и процессор. Инициализация включает в себя перекачку кода и данных прошивки материнки (BIOS/UEFI) в оперативную память и настройку CPU на её исполнение.
Думать что кнопка Power это рубильник который подаёт электричество на CPU и тот начинает исполнять с заранее известного адреса прошивку BIOS неправильно. Возможно старые компьютеры так и работали. Кнопка включения находится на своей плате, вместе со светодиодами состояний и к материнке она подключается через специальный разъём. На картинке ниже видны контакты для кнопки Power, Reset, а также светодиодов с состоянием Power и чтения жёсткого диска. Нажатие кнопки включения переводится в сигнал на контакты материнки, откуда он достигает системный контроллер.

Читайте также:  как при включении компьютера убрать выбор виндовс

image loader

Контакты на материнке для подключения кнопки включения, светодиодов состояния Power, жёсткого диска и динамиков.

image loader

Плата ноутбука с кнопкой включения и светодиодом состояния

Прикладная иллюстрация как блок питания получает сигнал от материнки на включение. Если вы задумаете установить мощную видеокарту (Nvidia 2070 S) на офисный ПК, то просто вставить её недостаточно, потому как она требует питание в 600W, в то время как такой ПК имеет блок на

500W. Первое что придёт в голову – купить новый блок питания на 650W с отдельной линией для видеокарты. Но и здесь будут разочарования, потому как разъёмы материнки будут не совпадать с разъёмами БП, а если его отдельно воткнуть в розетку и подключить к видюхе тоже ничего не будет – в блоке питания вентилятор не крутится и изображения нет. Так происходит, потому что БП должен получить сигнал от материнки на полное включение. Очевидное решение – новая материнка с совместимыми разъёмами, однако она стоит

$300. Есть решение проще, хоть оно и вызывает опасения пожаробезопасности. Берём скрепку, разгибаем и вставляем в зелёный (PS_ON) и один из чёрных пинов (COM). Теперь всё должно работать.

Поиск загрузчика ОС

Есть два вида прошивки материнки – BIOS (Basic Input Output System) на старых машинах и UEFI (Unified Extensible Firmware Interface) на новых. Windows 10 поддерживает обе и абстрагирует различия между ними. UEFI правильней называть ОС чем прошивкой, потому как он предлагает больше возможностей, к примеру богатый графический интерфейс вместо текстового, наличие мышки, больший объём доступной памяти, улучшенная модель безопасности и валидации файлов ОС, взаимодействие с железом через API, вместо прерываний как в BIOS.

Пример экрана монитора BIOS.

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

tpr6pxn5 z7lpltyt5j8qspnngi

Настройки BIOS (системное время, например), хранятся на другом чипе который как правило находится возле круглой батарейки, которая на самом деле является литиевым аккумулятором, подзаряжающимся во время работы ПК. Называется он CMOS, что означает Complementary Metal Oxide Semiconductor, а по-русски просто — КМОП, что есть комплементарная структура металл-оксид-полупроводник.

image loader

t84sptgyzelnge5ymtzakl0vj4e

Если всё прошло успешно, BIOS начинает процесс поиска загрузчика ОС. Для этого он начинает просматривать все подключенные к материнской плате жёсткие диски. Данные на физических дисках адресуются в единицах называемых сектор, обычно он 512 байт, однако современный стандарт – 4096 байт. Установщик Windows в самый первый сектор на диске записывает специальный программный код и данные о разделах. Этот сектор называется Master Boot Record. Диск разбивается на разделы (partitions), отформатированный своей файловой системой. Максимум 4 раздела, каждый из который может быть расширенным (extended partition), такой можно рекурсивно делить на 4 раздела и теоретически их число не ограничено. Как только BIOS находит Master Boot Record он считывает оттуда код и передаёт ему управление. Этот код поочередно просматривает данные о разделах и находит тот который помечен как активный, в нём находится код загрузчика Windows (Это не раздел с C:\Windows\System32!), этот раздел называется system partition. Как правило он занимает 100Мб и скрыт от пользователя. В первом секторе этого раздела хранится загрузочный код, которому передаётся управление. Это volume boot sector, код в нём ищет файл Bootmgr, с которого и начинается процесс загрузки Windows. Файл Bootmgr создан через соединение в один файлов Startup.com и Bootmgr.exe.

image loader

Запуск на UEFI

Пример экрана загрузки UEFI

BIOS существует больше 30 лет и в попытках исправить его недостатки компания Intel в 1998 году создала стандарт Intel Boot Initiative, позже переименованный в EFI и в 2005 году пожертвованный организации EFI Forum. Недостатки BIOS:
• Работает только в 16-битном режиме
• Может адресовать только 1Mb оперативной памяти
• Часто имеет проблемы совместимости
• MBR ограничен только четырьмя главными разделами диска
• Диск с ОС не может быть больше чем 2.2Tb.
• Имеет очень ограниченные возможности для валидации загрузчика ОС.
На смену BIOS пришёл UEFI, по сути это миниатюрная ОС которая может работать и в 32-bit и в 64-bit. Для совместимости есть опция Compatibility Support Module, которая включается в настройках и эмулирует работу BIOS.

yku7pr2rkc5ih

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

Запуск подсистем – SMSS, CSRSS, WinInit

SMSS.exe отличается от пользовательских процессов, это нативный процесс и это даёт ему дополнительные полномочия. SMSS.exe работает с ядром в обход Windows API, он использует то что называется Native API. Windows API – обёртка вокруг Native API. SMSS.exe первым делом запускает подсистему Windows (CSRSS.exe – Client Server Runtime Sub System) и заканчивает инициализацию реестра.

Процесс и потоки SMSS.exe помечены как критические, это значит что если они неожиданно завершаться, к примеру из-за ошибки, это приведёт к падению системы. Для общения с подсистемами, к примеру вызову API создающему новую сессию, SMSS создаёт ALPC-порт с именем SmApiPort. Загружаются из реестра переменные среды окружения, запускаются программы такие как Check Disk (autochk.exe, эти программы записаны в реестре HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\BootExecute). SMSS.exe запускается для каждой пользовательской сессии. Глобальные переменные (очередь сообщений например) у каждой сессии своя за счёт механизма виртуальной памяти. В Windows есть контексты потока, процесса и сессии. Каждый SMSS.exe запускает свой экземпляр подсистемы, на данный момент это только CSRSS.exe (Windows), в прошлом поддерживались операционные системы OS/2 (os2ss.exe) и POSIX (psxss.exe), но эта идея была неудачной. Самый первый SMSS.exe засыпает в ожидании процесса WinInit.exe. Остальные экземпляры вместо этого создают процесс WinLogon который показывает UI для входа.

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

Где здесь клавиатура?

Во время запуска ядро Windows считывает из реестра информацию о контроллере системной шины, как правило это шина PCI (реже MSI), к ней подключены контроллеры портов ввода-вывода, в том числе и USB, PS/2. Информация о нём записывается во время установки Windows. Система загружает для него драйвер и рекурсивно обходит все порты так же загружая для каждого из них свой драйвер. Драйвера могут комбинироваться в узлы (driver node), к примеру драйвер клавиатуры, будет соединён с драйвером порта PS2. А вот порт USB сложнее — сначала драйвер порта, потом драйвер для работы с протоколом HID и только потом клавиатура.

Читайте также:  как подготовить рабочее место к обновлению компьютера

Каждый порт контроллируется своим чипом, который мониторит подключение, принимает/отправляет сигналы между CPU и устройством. Если чип-сет Южный мост не встроен в CPU, как это часто делают в ноутбуках, а существует отдельным чипом на материнке, то правильней говорить: сигнал между Южным мостом и контроллером порта. Чип контроллирующий порт имеет выделенную линию с контроллером прерываний (PIC или APIC), по которой он может попросить обратить на себя внимание CPU, к примеру считать данные от клавиатуры (порт PS/2, с USB другая история). Поскольку ОС загрузила для порта драйвер, она может отдавать ему команды, читать и отправлять данные. В нашем примере был загружен драйвер из C:\Windows\System32\i8042prt.sys. Давайте вспомним предыдущую статью. В старых компьютерах с PIC на чипе Intel 8259 было 15 линий прерываний, где клавиатура была подключена к ножке IRQ1, таймер IRQ0, а мышка к IRQ12, который на самом деле был пятой ножкой второго чипа 8259, который мультиплексировал свои прерывания через ножку IRQ2 первого контроллера. В современных PIC могут быть 255 контактов для сигналов прерываний. Во время загрузки ОС программирует APIC/PIC возвращать определённое число когда скажем пришло прерывание от порта клавиатуры или USB и по этому номеру CPU находит в таблице векторов прерываний функцию которую надо выполнить. Номер прерываний определяют HAL и Plug’n’Play Manager. Контроллер прерываний ищет сигнал на своих ножках в определённом порядке, к примеру в бесконечном цикле проверяет напряжение на ножках от 1 до MAX_PIN. Этот порядок определяет приоритет, к примеру клавиатура будет замечена раньше мышки, а таймер раньше клавиатуры. Чтобы не зависеть от особенностей работы контроллеров прерываний Windows абстрагирует концепцию IRQ (Interrupt Request) в IRQL (Interrupt Request Level). Будь у контроллера прерываний хоть 15 хоть 255 линий они все будут отображены на 32 IRQL для x86 и 15 IRQL для x64 и IA64.

Механизм IRQL реализовывается на уровне софта в Hardware Abstraction Layer (HAL.dll), а не железа. В Windows системах есть драйвер шины (bus driver), который определяет наличие устройств подключенных к шинам – PCI, USB и др. и номера прерываний которые могут быть назначены каждому устройству. Драйвер шины сообщает эту информацию Plug and play manager, который уже решает какие номера прерываний назначить каждому устройству. Далее арбитр прерываний внутри PnP Mgr (PnP interrupt arbiter) устанавливает связи между IRQ и IRQL.

Так вот, драйвер клавиатуры (kbdclass.sys) получает данные от порта (USB, PS2) через прерывание и записывает их через WriteFile, компонент внутри ядра Windows просыпается, считывает их используя API ReadFile и добавляет в очередь сообщений с клавиатуры. API для работы с файлом могут использоваться для чтения данных с драйверов. С этого момента начинается обработка данных стеком ввода Windows, об этом в следующей статье.

Если у вас есть ПК с PS2 портом и вы умеете пользоваться WinDbg в режиме ядра, то можете легко найти обработчик прерываний клавиатуры напечатав команду !idt, которая выведет на экран всю таблицу векторов прерываний. Прерывание вклинивается в ход выполнения программы, слово вектор здесь подразумевает направление, направление исполнения программы. WinDbg был сделан специально для отладки Windows, самая последняя версия называется WinDbgX. Он имеет текстовый интерфейс, который отпугивает людей привыкших к Visual Studio, однако предоставляет гораздо больше возможностей, в частности исполнение скриптов. Прерывание фиолетового порта PS2 выделено красным. Функция которая его обрабатывает называется I8042KeyboardInterruptService, которая находится в файле i8042prt.sys.

image loader

Сейчас возникает вопрос, откуда у обработчика прерываний аргумент? Кто его передаёт? Ведь CPU ничего не знает о нём. Если поставите в неё breakpoint, то удивитесь ещё больше увидев несколько функций выше по стеку:

0: kd> kC
# Call Site
00 i8042prt!I8042KeyboardInterruptService
01 nt!KiCallInterruptServiceRoutine
02 nt!KiInterruptSubDispatch
03 nt!KiInterruptDispatch
04 nt!KiIdleLoop

Пару слов о USB

Ознакомление с работой порта USB потребовало бы отдельной статьи описывающей его работу и плюс описание обработки данных HID на Windows. Это очень сильно усложнило бы материал, к тому же уже есть хорошие статьи по теме, поэтому PS2 идеальный пример из-за своей простоты.

USB создавался как универсальный порт для всех устройств, будь то клавиатура, фотоаппарат, сканнер, игровой руль с педалями, принтер и пр. Вдобавок он поддерживает вложенность портов – USB материнки => монитор с USB => клавиатура с USB к которой подключена мышка, флешка и USB-hub к которому подключен жёсткий диск. Взглянув на контакты USB 2.0 вы увидите что они не заточены под передачу каких-то определённых данных, как у PS2. Их всего четыре – витая пара для передачи битов данных, плюс и минус питания.

a4pofgenbf2j5fecifpemzlqjr8

Провода кабеля USB 2.0

USB 3.0 быстрее за счёт дополнительных пяти контактов. Как видите там нету линии CLOCK для синхронизации, поэтому логика передачи данных сложнее. Слева USB 2.0 и справа USB 3.0 для сравнения.

3eujk vjjoia 1ku9izzjtlbtgo

Все данные передаются через протокол 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 не имеет значение какой порт или источник данных от устройства используется.

Источник

Поделиться с друзьями
DOMA35.RU - первый компьютерный портал
Adblock
detector