Сейчас переделываю драйвера для последних версий 10 Винды и никак не могу настроить свой комп под них,
т.е чтобы Винда не грузила драйвера с SHA1.
Для этого захожу в биос перевожу его в чистый UEFI и включаю опцию Security Boot.
Перегружаю комп — все остается по прежнему, все старые драйвера загружены.
Гружу msinfo32 и вижу биос установлен в UEFI, а режим безопасной загрузки отключен, почему?
Здравствуйте, Vicul, Вы писали:
V>Сейчас переделываю драйвера для последних версий 10 Винды и никак не могу настроить свой комп под них, V>т.е чтобы Винда не грузила драйвера с SHA1.
Как вариант — можно использовать Hyper-V последних версий (с Generation-2), он
поддерживает Secure Boot для виртуальных машин.
V>Для этого захожу в биос перевожу его в чистый UEFI и включаю опцию Security Boot. V>Перегружаю комп — все остается по прежнему, все старые драйвера загружены.
Система должна быть установлена на GPT-раздел в режиме UEFI.
И видео-карта должна поддерживать Graphics Output Protocol (GOP), иначе ничего не выйдет.
Например, у меня Secure Boot на Windows 10 заработал лишь после того, как я
поменял видеокарту с GeForce 210 на GeForce GTX 750ti.
Здравствуйте, okman, Вы писали:
O>Система должна быть установлена на GPT-раздел в режиме UEFI. O>И видео-карта должна поддерживать Graphics Output Protocol (GOP), иначе ничего не выйдет.
Кстати, а обратный вариант — отключить Secure Boot после того, как система устанавливалась и загружалась в нем, насколько сложно?
Последний мой ноутбук шел с десяткой, установленной в UEFI, но я ее снес и поставил семерку, которой от UEFI нет никакого толку, поэтому переключил BIOS в обычный режим загрузки, а раздел сделал MBR, поэтому проверить не на чем. Надо будет сгородить виртуалку с Secure Boot — под VMware Workstation 12 это вроде как должно работать.
И еще вопрос: неподписанные драйверы, установленные путем перезагрузки с отключением проверки подписей, в Secure Boot загружаются? Или загружаются только полноценно подписанные?
ЕМ>Кстати, а обратный вариант — отключить Secure Boot после того, как система устанавливалась и загружалась в нем, насколько сложно?
у меня пользователи просто отключали эту опцию в биосе и все.
ЕМ>Надо будет сгородить виртуалку с Secure Boot — под VMware Workstation 12 это вроде как должно работать.
я не нашел этой опции там
ЕМ>И еще вопрос: неподписанные драйверы, установленные путем перезагрузки с отключением проверки подписей, в Secure Boot загружаются? Или загружаются только полноценно подписанные?
драйвера все загружаются, но загружаются без подписи, они видны в девайс менеджере, но проги их не видят.
Здравствуйте, Vicul, Вы писали:
ЕМ>>под VMware Workstation 12 это вроде как должно работать.
V>я не нашел этой опции там
"Boot with EFI instead of BIOS" в Options/Advanced.
V>драйвера все загружаются, но загружаются без подписи, они видны в девайс менеджере, но проги их не видят.
Не понял. Если драйвер загружается — он не может быть "невидимым" (если, конечно, сам этого не захочет).
Здравствуйте, Евгений Музыченко, Вы писали:
ЕМ>Здравствуйте, okman, Вы писали:
O>>Система должна быть установлена на GPT-раздел в режиме UEFI. O>>И видео-карта должна поддерживать Graphics Output Protocol (GOP), иначе ничего не выйдет.
ЕМ>Кстати, а обратный вариант — отключить Secure Boot после того, как система устанавливалась и загружалась в нем, насколько сложно?
Совсем не сложно.
Просто заходишь в BIOS и отключаешь. В Hyper-V тоже делается одной галочкой в настройках.
ЕМ>Последний мой ноутбук шел с десяткой, установленной в UEFI, но я ее снес и поставил семерку, которой от UEFI нет никакого толку, поэтому переключил BIOS в обычный режим загрузки, а раздел сделал MBR, поэтому проверить не на чем. Надо будет сгородить виртуалку с Secure Boot — под VMware Workstation 12 это вроде как должно работать.
VMWare поддерживает загрузку в режиме EFI, но Secure Boot там нету.
ЕМ>И еще вопрос: неподписанные драйверы, установленные путем перезагрузки с отключением проверки подписей, в Secure Boot загружаются? Или загружаются только полноценно подписанные?
Насколько я помню, когда Secure Boot включен, то отключить проверку цифровых подписей нельзя.
Здравствуйте, okman, Вы писали:
O>VMWare поддерживает загрузку в режиме EFI, но Secure Boot там нету.
Да, оно поддерживается с Virtual Hardware 13. Последняя версия WS — 12.x, так что пока только в серверных вариантах. В WS 13, скорее всего, заработает.
O>Насколько я помню, когда Secure Boot включен, то отключить проверку цифровых подписей нельзя.
Я о том, чтобы при отключенном SB загрузиться с отключенной проверкой подписей, поставить неподписанный драйвер, а зачем включить SB.
Здравствуйте, Евгений Музыченко, Вы писали:
ЕМ>Я о том, чтобы при отключенном SB загрузиться с отключенной проверкой подписей, поставить неподписанный драйвер, а зачем включить SB.
А что это даст?
Отключение проверки цифровых подписей действует только до следующей загрузки.
Драйвер поставится. Но потом система будет перезагружена с Secure Boot, цифровые
подписи снова активируются. И драйвер загружен не будет...
Здравствуйте, Vicul, Вы писали:
V>странно, поставил утилиту gpu-z она показывает, что поддержка uefi есть. Для этого надо включить в биосе вот как раз Security Boot. это гоп?
Судя по всему, поддержка GOP и означает возможность работы в режиме UEFI.
Но я все-таки сомневаюсь, что на GTX-650 это заведется. На EVGA и других форумах
неоднократно читал, что GOP/UEFI нормально работает только на GeForce серий
700 (если быть точным — 740) и выше и на 900 и выше.
И проверь, что у тебя система удовлетворяет всем остальным требованиям.
Т.е. она 64-битная, установлена на GPT-раздел в режиме UEFI, в BIOS выключен SCM и т.д.
У меня, например, когда я включаю Secure Boot в BIOS, мне предлагают отключить SCM и
посмотреть, к чему это приведет. Т.е. 'Save settings and exit', затем компьютер снова
включается и там уже видно, заработал Secure Boot или нет.
Пока я не поменял свою GeForce 210 на GeForce GTX 750ti, ничего не работало и никакие
танцы с бубном не помогали.
V>Может вторая встроенная видео карта (Intel hd 4600) портит все? но она ни к чему не подключена. Она, кстати тоже поддерживает uefi
Попробуй поотключать все лишнее. Например, поочередно обе видео карты (если это возможно).
Здравствуйте, okman, Вы писали:
O>Отключение проверки цифровых подписей действует только до следующей загрузки.
Где-то читал, что, при наличии у драйвера .cat, подписанного самодельным сертификатом, можно это дело поставить при загрузке с запрещенной проверкой подписи, и потом драйвер будет загружаться и в обычном режиме, но не проверял этого. Сейчас в семерке проверил — не канает.
А если самодельный сертификат, которым подписан .cat, в десятке установлен в TrustedRoot — при Secure Boot это прокатывает? В обычном режиме — да.
Здравствуйте, Евгений Музыченко, Вы писали:
ЕМ>...
ЕМ>А если самодельный сертификат, которым подписан .cat, в десятке установлен в TrustedRoot — при Secure Boot это прокатывает? В обычном режиме — да.
С самодельным не прокатит. Без вариантов.
Т.е. стать-то он, может быть, и станет, но загружаться не будет.
Здравствуйте, Евгений Музыченко, Вы писали:
ЕМ>Где-то читал, что, при наличии у драйвера .cat, подписанного самодельным сертификатом, можно это дело поставить при загрузке с запрещенной проверкой подписи, и потом драйвер будет загружаться и в обычном режиме, но не проверял этого. Сейчас в семерке проверил — не канает.
ЕМ>А если самодельный сертификат, которым подписан .cat, в десятке установлен в TrustedRoot — при Secure Boot это прокатывает? В обычном режиме — да.
Пардон, правильно ли я понял, что утверждается возможность загрузки самоподписанных драйверов без включения тестового режима (при отсутствии Secure Boot)? Насколько я помню, в 64-битной винде это было невозможно никакими ухищрениями, в том числе пропихиванием сертификата в хранилище. Драйвер-то ставится, но грузиться отказывается. По крайней мере, в Висте и семёрке так было, когда я это проверял.
Здравствуйте, CaptainFlint, Вы писали:
CF>правильно ли я понял, что утверждается возможность загрузки самоподписанных драйверов без включения тестового режима (при отсутствии Secure Boot)? Насколько я помню, в 64-битной винде это было невозможно никакими ухищрениями, в том числе пропихиванием сертификата в хранилище.
Это дело работает как-то очень странно. Большинство sys-файлов родных виндовых драйверов не подписано — подписаны только их cat/inf. Если для какого-нибудь устройства сделать свой inf, ссылающийся на родной виндовый драйвер (например, usbser или winusb) — драйвер не загрузится с жалобой на непроверяемую подпись. Но если подписать этот cat самодельным сертификатом, который запихать в Trusted Root — драйвер прекрасно загружается даже в последних десятках. Я делал таким образом cat/inf для загрузчиков телефонов на Mediatek (драйвер usbser).
Сейчас попробовал установить таким образом драйвер, которого нет в стандартном комплекте винды — не грузится. То ли чего напортачил, то ли для родных драйверов предусмотрена какая-то облегченная проверка, но тогда непонятно, почему они не грузятся через inf без подписанного cat.
Здравствуйте, Евгений Музыченко, Вы писали:
ЕМ>Но если подписать этот cat самодельным сертификатом, который запихать в Trusted Root — драйвер прекрасно загружается даже в последних десятках.
Он загружался только потому, что где-то в системе был файл .cat с подписью Microsoft для этого драйвера.
Я с этим тоже сталкивался — один человек на другом форуме как-то рассказал, что подписывал самопальным сертификатом
всякие сторонние пакеты драйверов, у которых были проблемы с установкой, и после этого все работало на x64, без
test signing и т.п. Причем wow-эффект был усилен еще и тем, что драйверы эти интегрировались в образ установки
системы и там даже был какой-то специальный ключик, см. Dism /ForceUnsigned и т.д.
Я, разумеется, не поверил, стал возражать, проверять у себя и т.д.
В итоге оказалось, что драйверы загружались только потому, что они уже были подписаны и соответствующий .cat
был в системе, с кросс-сертификатом и т.п., то есть, все как положено. Просто на этапе установки иногда
возникали проблемы на стадии проверки сертификатов: то ли какой-то промежуточный сертификат не был
установлен, то ли еще что-то — для Windows такие траблы типичны, сам сталкивался неоднократно.
Еще один момент, который немного проясняет дело — хэши файлов, которые хранятся в .cat, — это не совсем
обычные SHA-1, это так называемые Authenticode-хэши, они высчитываются только от "значащей" части exe/dll/sys.
Например, один и тот же exe-файл, подписанный разными сертификатами, будет иметь одинаковые Authenticode-хэши.
В этом часть разгадки...
Здравствуйте, okman, Вы писали:
O>Он загружался только потому, что где-то в системе был файл .cat с подписью Microsoft для этого драйвера.
Я это подозревал, но сообщения вида "перегрузился с запретом проверки подписи, поставил драйвер, перегрузился в нормальном режиме, драйвер работает" создавали впечатление, что такой метод вполне годится. Скорее всего, подобные примеры как раз относились к драйверам типа usbser/winusb, когда даже наличие в установочном пакете sys-файлов не мешает системе назначать встроенный.