Comments 129
станет невозможно запускать 16-битные операционные системы
Не 16-битные системы, а системы с 16-битным загрузчиком. Как Windows XP, например.
А grub-efi сможет загрузить ее, интересно?
grub для меня и так тихий ужас, не знаю, не уверен. Возможно. Но это уже костыль, а что дальше будет?
Проблема ведь шире, чем кажется, отсутствие традиционного BIOS — это отсутствие INT 13, INT 10, INT 1A, что там ещё в традиционной загрузке используется (даже в 32-битном режиме)?
Тут дальше читаю, похоже, вообще все 32-битные системы пролетают даже, что там XP.
Однако стандарт UEFI никаких препятствий для 32-х битных платформ не ставит.
Препятствия ставят вендоры, многие из которых уже забили на поддержку 32-разрядных решений.
Однако стандарт UEFI никаких препятствий для 32-х битных платформ не ставит.
Вы читайте внимательней: UEFI Class 3 как раз ставит.
После удаления CSM на новых платформах станет невозможно запускать 16-битные операционные системы
Установочный образ Windows нельзя записать таким способом (его нельзя было зак записывать и в BIOS-режиме).
Для записи воспользуйтесь, например, Etcher.
Если там уже развёрнутый образ куда там писать посекторно?Начиная с 0 сектора. Содержимое флеш перезапишется.
Если у вас там есть уже UEFI-загрузчик какой-то, скопируйте файлы на другой раздел и внесите изменения в конфигурационный файл загрузчика.
Есть только флешка которую нельзя терять?
Как вы тогда вообще собираетесь делать какую-либо загрузочную флешку?
Ну и цена восьмигигабайтной флешке копейки, а систем, которым нужно больше, я и не знаю.
А для меня загадка, что за ценность такая для вас флешка. И особенно данные с которой нельзя терять (кто хранит данные на флшке, вы о чём вообще?).
Вы начали говорить про какой-то подготовленный образ, а перешли к тому, что на вашу флешку вообще нельзя писать никакой образ.
Отдайте чужую флешку, возьмите свою и экспериментируйте, как вам сказали.
Для создания любой загрузочной флешки вообще-то нужна запись на неё образа.
Ну, скопируйте флеш посекторно, сделайте то, что хотели, а потом запишите копию обратно на флеш.
Если вам дали нормальную рекавери-флешку, то можете просто с нее загрузиться, без лишних телодвижений. А если она легаси и с uefi грузиться не может — ну не повезло, но можно сделать новую. До 2020-го можно успеть.
с носителями без разметки (с floppy-style разметкой) uefi справляется, поэтому посекторное копирование и работает…
а с размечиванием (не могу придумать отглагольное существительное от «разметить») носителя в gpt у пользователей явные проблемы. да и с последующей присвоением guid от esp тоже… кроме того, согласно разделе 12.3 «UEFI Specification» File System Format не есть fat, а нечто (описанное в данном разделе), основанное на fat…
а человеки не любят перемен…
а с размечиванием (не могу придумать отглагольное существительное от «разметить»)
«С разметкой» же. Установкой, не устанавливанием; отделкой, не отделыванием — и т.д.
И при копировании образа (например UBUNTU) на флешке появляется нормальный такой MBR с таблицей разделов, в которой прописан раздел EFS, с которого и продолжается загрузка.
Использую WoeUSB (WinUSB) для создания загрузочных флешек с виндой из линукса.
Проблема только в том, что добавление любых нетривиальных парсеров на С в прошивку (а парсер NTFS — нифига не тривиальный, там в спецификации рота чертей все ноги сломит) сильно ухудшает безопасность платформы, потому что творчески испорченная флешка может на такой системе обходить SecureBoot, пароль на Bios Setup и черт знает что еще потому, что ФС надо парсить раньше, чем получится проверить загрузчик, который на ней лежит.
FAT потому и потребовали для ESP, что его спецификация весьма несложная, и написать и отладить относительно нормальный драйвер для этой ФС на С все таки можно.
Из присутствующих, наверное, драйвер FAT каждый второй писал (вместе со своей ОС))
Разумеется мой негатив относится не только к этому частному случаю. Часто приходится читать ерунду про пользу пальмового масла в сметане и прочую чушь.
А вот википедия (и не только) пишет — «Изначально EFI создавалась для первых систем Intel-HP Itanium в середине 1990-х годов». Кому верить?
сообществу Linux это UEFI даром не нужно было.
Сообщество Linux никого не волнует, уж извините.
Критика
EFI критиковался за то, что он привёл к усложнению системы, не давая существенных преимуществ[20], и за отказ от альтернатив BIOS с полностью открытыми исходными текстами — OpenBIOS и coreboot[21].
В 2011 году пользователи и разработчики операционных систем на ядре Linux предупреждали, что внедрение технологии Secure Boot способом, требуемым Microsoft для устройств с Windows 8, существенно ограничит свободу пользователей этих устройств в выборе операционной системы или действиях с ней[22][23].
А кроме того сообщество Linux разработало утилиты для управления ключами, которые (в большинстве случаев) позволяют на компе завести вообще свои собственные ключи для SecureBoot (ключи MS при этом логично стираются напрочь, чтобы уже никакая продукция от MS не смогла загрузиться на этом компе никогда)
Так что вы действительно можете не беспокоится о сообществе Linux :)
Без UNIX/Linux сегодня весь мир рухнет — остановятся все АЭС, 80% газовых ТЭЦ, полностью рухнут авиа- и морские перевозки, три четверти авто станут колом, Почти полностью выйдет из строя медтехника, холодильники перестанут морозить, а электродуховки — греть.…
Прогноз метеоусловий — mission critical. Все крутые прогнозные модели считаются на кластерах под Линукс.
Куча софта, которым обсчитывают поведение mission critical систем как в процессе разработки, так и в процессе эксплуатации. Тот же ANSIS, например.
Я думаю, что пользователей суперкомпьютеров проблемы BIOS/UEFI и отсутствие фотошопа с играми, как бы помягче сказать, не волнуют.
И да, мир не рухнет. Кроме линукса, есть и другие оси, внезапно, тот же Windows.
Рекомендую статью «Укрощаем UEFI Secure Boot» от coderush
Никто в здравом уме не будет использовать legacy boot на сегодняшний день.
Никто в здравом уме не будет использовать legacy boot на сегодняшний день.
Пользователи Windows 7?
У них уже давно есть UEFI.
Например, загрузка по сети поддерживается только начиная с Windows 8 (WinPE 4.0), а как заставить грузиться через роутер я вообще не нашел.
Что подразумевает: CSM — это реализация старого интерфейса BIOS Interrupt Call, в том числе прерывания 10h, которое используется для работы с видеоадаптерами.
При отключенном CSM никакие обработчики прерываний BIOS не инициализируются (потому что они 16-битные, и работа с ними на современной 64-битной системе — очень сильное колдунство), в том числе не инициализируется VideoBIOS и не выделяется legacy VGA framebuffer, расположенный по физическим адресам A0000-BFFFF, поэтому все, что его раньше использовало для вывода на экран, теперь ничего никуда не выводит.
Нормальные EFI-совместимые загрузчики могли бы просто переключиться на использование EFI-протокола Graphic Output Protocol (GOP) и выводить свои веселые картинки при помощи GOP->Blt(), но в MS решили, что для Windows 7 это все реализовано не будет по каким-то своим причинам, возможно объективным, а возможно и сугубо политическим.
Запущу. А в чём проблема?
Ну на ноутбуке недавно знакомому музыканту ставил («не хочу десятку, хочу семёрку»), единственная проблема была в кривой реализации UEFI на eMachines — c флешки так и не удалось загрузиться, понадобился внешний CD.
Там опять же жизненно важно было сохранить GPT и раздел восстановления на нём.
Самое смешное, когда CSM оказывается включен по умолчанию на системах с процессорами Intel Kaby Lake и новее, для которых для ОС старше Windows 10 и драйверов то толком нет, и не осталось никаких уже причин иметь включенный CSM, ведь видеокарту внешнюю туда можно воткнуть только в порт USB-C/TB3, но нет, инерция мышления IBV (в данном случае — AMI) сильна как никогда, а Intel пофиг — ОС загружается, что еще надо, а то, что у вас умолчания ничего общего с безопасностью не имеют — значит она вам и не нужна.
Я как раз пытаюсь объяснить, что там по умолчанию CSM был выключен, включить его было можно, но это означало похерить всю структуру диска и гарантию в том числе (на самом деле, конечно, нет, но творческие люди они мнительные такие).
То, что CSM включен по умолчанию на совсем новых системах, для меня новость. «Они там все совсем сумасшедшие, что ли?»
Почти все современные ПК по умолчанию используют UEFI-загрузку, но CSM при этом не отключают, и в DOS с флешки на них все еще можно загрузиться без необходимости идти в BIOS Setup и включать его специально.
Нет, они там все поддерживают дух старой школы. Пользователь ожидает от х86-совместимой системы поддержки всех наколенных за 30 лет ее развития костылей, каких-нибудь сумашедших ресетов через порт клавиатуры (который эмулируется теперь при помощи бубна и такой то матери) и управления адресной линией А20. Без этого всего — это уже не IBM PC, и некоторым категориям пользователей от этого очень грустно. Вон выше даже Meklon продолжает использовать CSM и легаси-загрузку, т.к. она «просто работает», а то что для ее работы разработчики прошивок каждые полгода через ад проходят — этого никто не видит.
Если я правильно понимаю, при принудительном выборе UEFI Boot никакого CSM мы не получаем (чёрт, даже винда сообщение "press any key to boot from cd/dvd" выдаёт в графическом режиме. То есть тут нельзя «немножко UEFI, немножко CSM»/
«Нет, я не хочу легаси-загрузку, не хочу ВидеоБИОСы, не хочу легаси рейд, не хочу легаси загрузку по сети, да отключите это ведро уже, собаки злые!»
Какой ужос.
Я пока что с необходимостью переключения только на ноутбуках сталкивался, а у них пока всё по-спартански (и без этой графической мерзости, кстати, которую почему-то приписывают UEFI, хотя она у меня на 486 AMI и Compaq+Pentium ещё была).
Другие вендоры иногда обзывают настройку CSM выбором ОС, т.е. Win7/other — включен, Win8+ — выключен, например.
Ну и очередной пинок в сторону AMI — гады, если у меня нет UEFI драйвера на вставленную мной сетевую карту не надо мне орать, что там нету uefi compatible драйвера на 7734:1505 девайс и что так нельзя и фиг мне а не UEFI Only, научитесь наконец игнорировать отсутствие драйверов для некритичных устройств.
btw низкоуровневую диагностику проблемы не делал — проще и быстрее всегда оказывалось взять другую флешку и выполнить работу.
www.securitylab.ru/blog/personal/Ennormoz/19457.php
Все вроде бы не плохо, НО Метью Гарет из компании RedHat пообщался с производителями железа и раскрыл кое какие дели этого общения.
1)Win-8 сертификация требует от от производителей поставлять оборудование со включенной Secure Boot.
2)Win-8 сертификация не требует от производителя предусматривать возможность отключения Secure Boot.
3)Win-8 сертификация не требует наличия в системе ключей, отличных от ключей MS.
и MS будет поощрять поставщиков, если они будут соблюдать требования Win-8 Secure Boot по-минимуму (то есть, ключи только от MS без возможности отключить).
Так что смотрите что берете своими глазками, чтоб потом не было на кого пенять кроме себя!
Зачем вы это делаете интересно? У вас есть акции Микрософт?
Так что смотрите что берете своими глазками, чтоб потом не было на кого пенять кроме себя!Обязательно. Я всегда смотрю, что покупаю, и другим советую.
Зачем вы это делаете интересно?Я хочу использовать и UEFI, и Secure Boot, и Trusted Boot, в Linux.
«Secure Boot не создан для ограничения пользователя. Если вам нужно добавить ключи или удалить существующие, вы легко это сделаете на почти любой материнской плате, кроме единичных исключений.»
Не видите тут никаких противоречий?
А для чего вам Secure Boot можете пояснить аргументированно? Я вот всегда знаю какой ISO у меня на флэшке и не вижу никакой необходимости в цифровых подписях. По-моему Secure Boot нужен только если вы на флэшках продаёте загружаемое ПО. А если я сам качаю ISO с официального сайта и копирую его на флэшку то зачем мне Secure Boot?
Тот факт, что по умолчанию UEFI-совместимые прошивки доверяют сертификатам Microsoft CA и UEFI CA — это сделано не для того, чтобы ограничить свободу простого пользователя, а для того, чтобы можно было включить SecureBoot на большинстве устройств и пользователь не заметил бы этого. Да, приходится доверять MS по умолчанию, но когда на 95% процентах продаваемых систем используется Windows — это вполне резонно.
Если вы не хотите доверять MS — ваше право, на абсолютном большинстве плат (точнее, вообще на всех, кроме телефонов с Windows Mobile и планшетов с Windows RT, которые не являются general-purpose hardware) SecureBoot можно перевести в режим Setup, добавить свои сертификаты список доверенных и удалить предустановленные по умолчанию сертификаты MS и производителя платы.
В конце концов, если вам действительно не нужна безопасная загрузка, и вы согласны следить за целостностью загрузчика самостоятельно, SecureBoot можно отключить на любой системе, которая поддерживает режим Setup, просто удалив Platform Key, в таком режиме система загрузит все, что угодно.
Теперь про то, зачем следить за целостностью загрузчика: дело в том, что security history любых современных операционных систем, написанных на С — это сплошная череда локальных повышений привилегий и удаленных исполнений кода, и каждая пара RCE+LPE дает злоумышленнику доступ к вашему загрузчику, который он затем может модифицировать и закрепиться в системе так, что практически никакими средствами уровня ОС получившееся заражение буткитом невозможно ни обнаружить, ни вылечить. История загрузочных вирусов, шифровальщиков и прочих остальных — давняя и славная, а SecureBoot решает проблему с ними раз и насовсем.
Все вэб-сервера с которыми я имел дело были с ОС совсем не той что вы упомянули.
Со времён 5-ти дюймовых дискет я про boot-вирусы не слышал и не сталкивался с ними. Вот статейка интересная:
xakep.ru/2013/11/05/full-bootkit-history
вкратце суть в том что UEFI, как это иногда и бывает, может принести больше вреда чем пользы, ибо невзламываемых и безглючных систем не существует.
Обязательным использованием SecureBoot пугали MS (давно), но если вам не лень почитать стандарты UEFI то там ни разу не сказано, что SecureBoot нельзя отключать.
Там конечно предусмотрен режим (методика выхода из которого — на совести вендора) в котором отключить SecureBoot нельзя. Однако это уже вопрос вендора: в каком режиме находится UEFI при передаче оборудования клиенту, и предоставляются ли клиенту инструменты для выхода из защищенного режима.
То есть да здравствует возня с ключами и прочими подписями?
Ну а если есть возможность прописать в PK/KEK/db свои ключи (т.е. в режим Setup перейти) то, организовать загрузку в режиме SecureBoot можно чего угодно.
Конечно можно запретить загрузку в setup режиме (что логично и вроде бы даже требуется в последних стандартах), а для User режима явно требовать включенного SecureBoot, но остается еще Audit режим (в котором кстати по стандарту SecureBoot явно выключен).
Но все равно: только вендор в праве накрутить ограничений на UEFI таких что пользователю не останется выбора кроме как пользоватся загрузчиками подписанными ключами которые уже есть в прошивке. Но загрузчиками (коих есть в количестве, подписанных ключом microsoft) можно загрузить уже много чего…
Значит, надо будет подгадать апгрейд так, чтобы взять последние проц и мамку с биосом, чтобы хватило на следующие десять лет.
Есть UEFI с модулем CSM (который эмулирует загрузку в режиме BIOS).
Сколько плат гики с Coreboot поддерживают? 0,01%?
На которые есть более-менее подробная документация. Предсказуемо.
Идея заменить фазу DXE на Линукс — она в принципе не плохая, особенно для ребят вроде Гугла (проект NERF), которые в Линукс уже умеют, а в DXE — еще не сильно, но на таких системах кроме линукса в итоге ничего толком и не запустишь, а если снова начинать реализовывать SMBIOS, ACPI, SMM и UEFI — есть неплохой шанс, что снова получится DXE, только теперь уже местного разлива. Если их там NIH не разбил в самое сердце — пусть лучше TianoCore пилят, на мой взгляд.
DMI: NOT SPECIFIED NOT SPECIFIED /01T6CV, BIOS ADI_SILVERSHADOW-01.00.00.05-nodebug 02/01/2017
далее посмотрел и увидел знакомые
ACPI: RSDP 0x00000000000F5E50 000024 (v02 CORE )
ACPI: XSDT 0x000000007FBE4EE0 000054 (v01 CORE COREBOOT 00000000 CORE 00000000)
и типичные для реализации
ACPI: PCI Interrupt Link [LNKA] (IRQs 1 3 4 5 6 7 10 12 14 15) *0
ACPI: PCI Interrupt Link [LNKB] (IRQs 1 3 4 5 6 7 11 12 14 15) *0
Причём, если верить lshw, то тут без Dell не обошлось
Просто я когда-то давно уже участвовал краем уха в запуске коребута на нескольких платах congatec (даже в комментариях про это уже писал, ЕМНИП), и могу сказать, что чуть что не так — и ты один в этом мире, иди в IRC и надейся, что тебе там помогут, а не пошлют заткнуться и хакать. Пока за коребутом не встанет большая корпорация и не начнет продавать для него поддержку и нанимать разработчиков на зарплату — из 0.01% затея не вылезет. А т.к. даже Гугл, активно использовавший в прошлом коребут на хромобуках, уже медленно но верно съезжает на вендорский PEI + свой рантайм на go, то дальше этот процент будет, скорее всего, только уменьшатся, пока отличный, в общем то, проект не заглохнет совсем.
Кроме того, неизменность системы на протяжении этих лет привели к проявившимся аппаратным ограничениям (16-битный режим процессора, максимум 1 Мб адресованной памяти и т.д.), проблемам с производительностью, безопасностью и другим недоразумениям, которые должны были быть преодолены еще в 90-х, но передаются по наследству даже сейчас. И не только передаются, но и продолжают множиться с развитием техники — так, скажем, вылезло ограничение на размер загрузочных дисков в 2 Тб.
Это всё дезинформация. И непонятно, почему она в блоге такой компании. Никаких препятствий к использованию 32-бит режима в биосе нет. Более того, уже около 20 лет как назад имеется стандарт на 32-битную версию VESA BIOS ("продвинутый" биос-драйвер видеокарты) (она даже успела устареть с тех пор), для использования из защищённого режима операционной системой. Никаких препятствий для адресации более 1Мб в 16-бит режиме тоже давно нет (драйвер himem.sys делал это ещё на 16-битном 80286 проце, можно было делать двумя способами, на 32-битном 80386 добавился ещё один, который я видел в коде одного биоса из конца 90-х).
Ограничение на размер дисков тоже не в тему. Можно только сказать о невозможности поставить раздел (включая загрузочный) дальше 2ТБ от начала диска на MBR. А раньше, кстати, нельзя было дальше 500МБ, но биос после преодоления этого препятствия никто переименовывать не стал, и даже MBR не переименовали.
Указанная в цитате "неизменность" на самом деле касается только интерфейсов, а внутреннее устройство разных биосов естественно менялось и до того, как некто начал пиарить слово UEFI.
Биос то мог быть 32-х-битным и как угодно измененным от того что было вначале, но вот загрузка ОС производилась в 16-и битном реальном режиме CPU… хотя почему производилась, оно и по сей день так на многих компьютерах происходит…
Большая часть промышленных систем х86 как загружалась дедовским 16-битным загрузчиком, так и продолжит загружаться, и менять ради Intel какой-нибудь ткацкий станок Bosch за миллион долларов никто не будет, поэтому производители для Embedded и Industrial вроде Kontron, congatec, Advantec, DFI и т.п. будут поддерживать CSM до последнего патрона, причем такой home-grown CSM будет, скорее всего, еще более кривым, дырявым и глючным, чем то, что Intel поставляет нам сейчас.
С другой стороны, Apple отказались от CSM уже довольно давно, и т.к. на их машинах редко запускали DOS и прочее легаси времен царя Гороха, этого почти никто не заметил. Для большей части нынешних пользователей отказ от CSM пройдет совершенно незаметно — они DOS и не запускали никогда, а в каком режиме процессор стартует и какой интерфейс использует для взаимодействия с прошивкой — 99.9% пользователей решительно пофиг, лишь бы ОС загружалась.
Про матрешка-процессоры — то ли еще будет, про Integrated Sensor Hub как-то все молчат в тряпку, хотя там точно такое же ядро Quark, как и то, на котором МЕ исполняется, и его тоже можно использовать для каких-то своих интересных целей, если влом ставить свой копеечный АРМ вместо EC.
Intel откажется от Legacy BIOS в 2020 году