Compatibility support module: Windows update that caused my pc to not boot

Немного про UEFI и Secure Boot / Хабр

UEFI


UEFI (Unified Extensible Firmware Interface) — замена устаревшему BIOS. Эта спецификация была придумана Intel для Itanium, тогда она еще называлась EFI (Extensible Firmware Interface), а потом была портирована на x86, x64 и ARM. Она разительно отличается от BIOS как самой процедурой загрузки, так и способами взаимодействия с ОС. Если вы купили компьютер в 2010 году и позже, то, вероятнее всего, у вас UEFI.

Основные отличия UEFI от BIOS:

  • Поддержка GPT (GUID Partition Table)


GPT — новый способ разметки, замена MBR. В отличие от MBR, GPT поддерживает диски размером более 2ТБ и неограниченное количество разделов, в то время как MBR поддерживает без костылей только 4. UEFI по умолчанию поддерживает FAT32 с GPT-разделов. MBR сам UEFI не поддерживает, поддержка и загрузка с MBR осуществляется расширением CSM (Compatibility Support Module).

  • Поддержка сервисов


В UEFI есть два типа сервисов: boot services и runtime services. Первые работают только до загрузки ОС и обеспечивают взаимодействие с графическими и текстовыми терминалами, шинами, блочными устройствами и т.д., а runtime services может использовать ОС. Один из примеров runtime services — variable service, который хранит значения в NVRAM. ОС Linux использует variable service для хранения креш дампов, которые можно вытащить после перезагрузки компьютера.

  • Модульная архитектура


Вы можете использовать свои приложения в UEFI. Вы можете загружать свои драйверы в UEFI. Нет, правда! Есть такая штука, как UEFI Shell. Некоторые производители включают его в свой UEFI, но на моем лаптопе (Lenovo Thinkpad X220) его нет. Но можно его просто скачать из интернета и поставить на флешку или жесткий диск. Также существуют драйверы для ReiserFS, ext2/3/4 и, возможно, еще какие-то, я слишком не углублялся. Их можно загрузить из UEFI Shell и гулять по просторам своей файловой системы прямо из UEFI.

Еще UEFI поддерживает сеть, так что если найдете UEFI-драйвер к своей сетевой карте, или если он включен производителем материнской платы, то можете попинговать 8.8.8.8 из Shell.

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

  • Встроенный менеджер загрузки


В общем случае, для UEFI не требуется ставить загрузчик, если вы хотите мультизагрузку. Можно добавлять свои пункты меню, и они появятся в загрузочном меню UEFI, прямо рядом с дисками и флешками. Это очень удобно и позволяет грузить Linux вообще без загрузчика, а сразу ядро. Таким образом, можно установить Windows и Linux без сторонних загрузчиков.

Как происходит загрузка в UEFI?


С GPT-раздела с идентификатором EF00 и файловой системой FAT32, по умолчанию грузится и запускается файл \efi\boot\boot[название архитектуры]. efi, например \efi\boot\bootx64.efi

Т.е. чтобы, например, создать загрузочную флешку с Windows, достаточно просто разметить флешку в GPT, создать на ней FAT32-раздел и просто-напросто скопировать все файлы с ISO-образа. Boot-секторов больше нет, забудьте про них.

Загрузка в UEFI происходит гораздо быстрее, например, загрузка моего лаптопа с ArchLinux с нажатия кнопки питания до полностью работоспособного состояния составляет всего 30 секунд. Насколько я знаю, у Windows 8 тоже очень хорошие оптимизации скорости загрузки в UEFI-режиме.

Secure Boot


Я видел много вопросов в интернете, вроде:

«Я слышал, что Microsoft реализовывает Secure Boot в Windows 8. Эта технология не позволяет неавторизированному коду выполняться, например, бутлоадерам, чтобы защитить пользователя от malware. И есть кампания от Free Software Foundation против Secure Boot, и многие люди были против него. Если я куплю компьютер с Windows 8, смогу ли я установить Linux или другую ОС? Или эта технология позволяет запускать только Windows?»


Начнем с того, что эту технологию придумали не в Microsoft, а она входит в спецификацию UEFI 2. 2. Включенный Secure Boot не означает, что вы не сможете запустить ОС, отличную от Windows. На самом деле, сертифицированные для запуска Windows 8 компьютеры и лаптопы обязаны иметь возможность отключения Secure Boot и возможность управления ключами, так что беспокоится тут не о чем. Неотключаемый Secure Boot есть только на планшетах на ARM с предустановленной Windows!

Что дает Secure Boot? Он защищает от выполнения неподписанного кода не только на этапе загрузки, но и на этапе выполнения ОС, например, как в Windows, так и в Linux проверяются подписи драйверов/модулей ядра, таким образом, вредоносный код в режиме ядра выполнить будет нельзя. Но это справедливо только, если нет физического доступа к компьютеру, т.к., в большинстве случаев, при физическом доступе ключи можно заменить на свои.

В Secure Boot есть 2 режима: Setup и User. Первый режим служит для настройки, из него вы можете заменить PK (Platform Key, по умолчанию стоит от OEM), KEK (Key Exchange Keys), db (база разрешенных ключей) и dbx (база отозванных ключей). KEK может и не быть, и все может быть подписано PK, но так никто не делает, вроде как. PK — это главный ключ, которым подписан KEK, в свою очередь ключами из KEK (их может быть несколько) подписываются db и dbx. Чтобы можно было запустить какой-то подписанный .efi-файл из-под User-режима, он должен быть подписан ключом, который в db, и не в dbx.

Для Linux есть 2 пре-загрузчика, которые поддерживают Secure Boot: Shim и PRELoader. Они похожи, но есть небольшие нюансы.

В Shim есть 3 типа ключей: Secure Boot keys (те, которые в UEFI), Shim keys (которые можно сгенерировать самому и указать при компиляции), и MOKи (Machine Owner Key, хранятся в NVRAM). Shim не использует механизм загрузки через UEFI, поэтому загрузчик, который не поддерживает Shim и ничего не знает про MOK, не сможет выполнить код (таким образом, загрузчик gummiboot не будет работать). PRELoader, напротив, встраивает свои механизмы аутентификации в UEFI, и никаких проблем нет.

Shim зависит от MOK, т. е. бинарники должны быть изменены (подписаны) перед тем, как их выполнять. PRELoader же «запоминает» правильные бинарники, вы ему сообщаете, доверяете вы им, или нет.

Оба пре-загрузчика есть в скомпилированном виде с валидной подписью от Microsoft, поэтому менять UEFI-ключи не обязательно.

Secure Boot призван защитить от буткитов, от атак типа Evil Maid, и, по моему мнению, делает это эффективно.

Спасибо за внимание!

Обновление Windows, из-за которого мой компьютер не загружался

ДТтех

1
Точка репутации

2021-07-15T00:00:54.747+00:00

Я был на своем компьютере, когда понял, что он работает медленно, поэтому я решил проверить наличие обновления для Windows 10, наверняка оно было, я его тогда установил после перезапуска у него возникла проблема с почтой, из-за которой теперь он подключен к системе и rgb, но монитор и периферийные устройства не включаются и не мигают. Я также был в режиме загрузки csm, когда было установлено обновление Windows. В чем могла быть проблема? Или проблема была в csm? Если да, то как мне это решить?

Windows 10

Windows 10

Операционная система Microsoft, работающая на персональных компьютерах и планшетах.

6 843 вопроса

Войдите, чтобы подписаться

0 комментариев
Без комментариев

0
{count} голосов


Войдите, чтобы комментировать

Сортировать по:

Самый полезный

Самый полезный Самый новый Самый старый

  1. Мили

    1221
    Очки репутации

    2021-07-15T05:26:28.71+00:00

    Привет

    1.CSM позволяет загружаться в устаревшем режиме BIOS в системах UEFI.
    Объяснение в Википедии:
    Модуль поддержки совместимости (CSM) — это компонент микропрограммы UEFI, который обеспечивает совместимость с устаревшей BIOS путем эмуляции среды BIOS, позволяя устаревшим операционным системам и некоторым дополнительным ПЗУ, которые не поддерживают UEFI, оставаться использовал.

    Таким образом, если ваш компьютер относительно новый и поставляется с предустановленной Windows, CSM по умолчанию будет отключен.
    Включать не нужно. Это необходимо только в том случае, если вы должны установить более старую ОС, которая не поддерживает UEFI.

    2. Чтобы решить вашу проблему, мы можем включить ваш компьютер и, когда появится логотип Windows/производителя, выключить питание — Повторить 3 раза
    Затем ваш компьютер перейдет в расширенную среду восстановления.
    Дополнительные параметры > Устранение неполадок > Дополнительные параметры > Параметры запуска > Перезагрузить
    Нажмите 4 или F4, чтобы включить безопасный режим (5 или F5, чтобы включить безопасный режим с поддержкой сети).
    Войдите в систему после запуска Windows в безопасном режиме.
    Проверьте, можете ли вы войти в систему. Если да, выйдите из этого и начните нормально.

    Если приведенный выше совет не помог, загрузитесь с загрузочного USB-накопителя.
    Мы могли бы создать это на другом компьютере:
    https://www.tenforums.com/tutorials/2376-create-bootable-usb-flash-drive-install-windows-10-a.html
    А вот ссылка о загрузка с флешки в Windows 10:
    https://www.tenforums.com/tutorials/21756-boot-usb-drive-windows-10-pc.html

    С наилучшими пожеланиями


    Если ответ полезен, нажмите « Принять ответ » и проголосовать за это.


    Войдите, чтобы комментировать

Войдите, чтобы ответить

Активность

Войдите, чтобы следить за вопросами и пользователями

Как включить CSM | WePC

Мы покажем вам, как включить CSM

Обновлено: 13 марта 2023 г. 10:49

Поделиться этой статьей…

Что такое CSM?

Нужно ли включать CSM?

Как включить CSM шаг за шагом

Как отключить CSM

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

Теперь прочтите: Лучшая материнская плата для игр

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

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


Что такое CSM?

Чтобы понять CSM, вам нужно знать об UEFI и BIOS. Оба они являются интерфейсами прошивки, которые позволяют вашему компьютеру «загружать» операционную систему, хранящуюся на вашем основном диске. UEFI — более новая и лучшая из двух технологий, и именно она используется на большинстве современных компьютеров.

Дело в том, что некоторые старые операционные системы и внешние устройства поддерживают только BIOS, а не UEFI. Поэтому прошивка UEFI включает модуль поддержки совместимости — CSM.

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


Нужно ли включать CSM?

На самом деле вам действительно нужно включить CSM только в том случае, если вы планируете использовать более старую операционную систему на компьютере, оснащенном материнской платой UEFI.

Windows 11, например, вообще не позволяет использовать CSM.


Как включить CSM шаг за шагом

Чтобы включить CSM, вы должны войти в BIOS вашей системы. Для этого вам нужно будет нажать определенную клавишу во время загрузки компьютера. Обычно это одна из клавиш «F», чаще всего F2, F7 и F12. Вы можете узнать, что такое ключ BIOS для вашего компьютера, ознакомившись с руководством пользователя вашей материнской платы.

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

Второй, конечно же, CSM, который вы хотите включить. Это будет pres

CSM, как правило, будет представлен с этим именем, но в некоторых меню вместо этого вы увидите запись «Режим загрузки», где вы сможете выбирать между режимами UEFI и Legacy. Использование «Legacy» здесь эквивалентно включению CSM.


Как отключить CSM

Проблема с включенным CSM, когда он вам не нужен, заключается в том, что вы теряете многие обновления, которые UEFI предоставляет вам по сравнению с BIOS. Например, общее время загрузки. Многие пользователи сообщают о сокращении времени загрузки, просто отключив CSM.

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

Читайте также: