Как работает пароль BIOS?

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

  • XKB: Могу ли я иметь восьмиуровневый ключ и иметь Ctrl, участвуя в выборе его уровней?
  • Комбинации клавиш AltGr через Qtnx
  • Как включить Shift Lock? (Sticky shift key)
  • Переконфигурируйте некоторые ключи на системном уровне
  • Использует ли Wayland XKB для раскладки клавиатуры?
  • Xephyr: отображение клавиатуры неправильно работает
  • Как переназначить клавиши клавиатуры в зависимости от того, как долго вы удерживаете ключ
  • Раскладка клавиатуры не изменяется в Chromium под Debian
  • 2 Solutions collect form web for “Как работает пароль BIOS?”

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

    Несколько подсистем

    BIOS является одной из таких подсистем. BIOS – это то, что описывает его имя. Базовая система ввода-вывода. Его задача – предоставить базовую функциональность системе, чтобы она могла обнаруживать периферийные устройства (такие как: жесткие диски, клавиатуры, мониторы и т. Д.). Другая важная функция, которую предоставляет BIOS, – это загрузочный ремень, загружающий операционную систему с указанного носителя (CD, DVD, USB, HDD и т. Д.).

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

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

    Ваш вопрос – именно такой сценарий. BIOS способен обнаруживать клавиатуру и обрабатывать ее с помощью собственного программного обеспечения / драйверов, тогда как ОС не может.

    В этом нет ничего более.

    API MS-DOS

    Если вам нужен более конкретный пример, вам не нужно смотреть дальше объекта прерывания 21, который был популяризирован MS-DOS. MS-DOS предоставила свои собственные сервисы экрана, которые сидели рядом с BIOS, потому что Microsoft хотела иметь либо более богатые функции, либо совсем другой API.

    См. Страницу wikipedia: API MSDOS .

    Современные BIOS используют любую обнаруженную USB-клавиатуру и делают некоторые обманы SMM, чтобы они выглядели как оригинальная клавиатура IBM AT или PS / 2 для BIOS и любых программ, которые используют BIOS для ввода-вывода с клавиатуры, что будет MS-DOS, Memtest86 + и некоторые загрузчики.

    Этот старый интерфейс обеспечивает сканирование кодов на ПК при нажатии и отпускании клавиши. Коды сканирования зависят от положения ключа и не знают, в каком положении находится переключатель qwerty / dvorak на вашей клавиатуре. Они не совпадают с точками ASCII или Unicode.

    введите описание изображения здесь

    Статья Википедии о scancodes может дать некоторое представление.

    Большинство, если не все BIOS, должны понимать эти scancodes, будь то настоящая клавиатура AT или PS / 2 или USB-клавиатура с PS / 2-эмуляцией. Дополнительные ключи, переключатели и т. Д. Имели бы дополнительные или нестандартные scancodes, и BIOS игнорировал бы их.

    Когда вы вошли в вашу ОС, водитель имеет возможность взять под свой контроль. Я не уверен, как именно этот интерфейс будет работать или какие драйверы будут задействованы (возможно, это нестандартный scancode, который водитель поднимает и вызывает изменение в ключевой карте или что-то в этом роде … Если это USB-клавиатура, вероятно, возможно, что переключатель qwerty / dvorak – это другое устройство ввода HID или что-то еще.)

    Linux и Unix - лучшая ОС в мире.