Возникла необходимость установить операционную систему на компьютер MSI Cubi N ADL-017BRU.
Сам компьютер представляет собой относительно тихий неттоп. К сожалению, разработчики, видимо, кроме изделий Microsoft ничего не знают, и установка Linux сталкивается с проблемой: дальше начальной стадии загрузки инсталлятора дело не идёт. В SLES дело заканчивается командной строкой GRUB, в Debian – графическим экраном инсталлятора, который не может найти дистрибутив.
Отключение в UEFI Setup опции Secure Boot и добавление средствами UEFI Setup же ключей из образов в дистрибутиве ничего не даёт. Режим Legacy не предусмотрен.
К счастью, после углублённого поиска в интернете, на одном из форумов был найден неочевидный совет про компьютеры MSI, который сработал.
Необходимо скачать и установить дистрибутив Ubuntu Server. Этот дистрибутив снабжён ключами от Microsoft, которые понимает MSI. А дальше происходит самое волшебное: Ubuntu Server проделывает собой какую-то дырку в заводских настройках UEFI, после чего его самого можно полностью снести с диска (в том числе и раздел EFI Boot), но любой Linux теперь уже на компьютер свободно устанавливается!
Спасибо MSI и Microsoft за наше счастливое детство. Напомнило танцы с бубном по установке OS/2 на кривое железо.
Комментарии (43)
aruslantsev
27.08.2024 10:16А в uefi setup нет возможности перевести secure boot в setup mode?
Кстати, в мой Asus были вшиты в том числе ключи от Canonical, но я подробно не смотрел и заменил все ключи на свои
vadimr Автор
27.08.2024 10:16Там есть какой-то кривой импорт ключей, но он не оказал никакого эффекта за исключением того, что количество установленных ключей стало показываться больше. На одном форуме в интернете я прочёл мнение, что этот импорт сломан.
Matilda_T
27.08.2024 10:16Где-то полгода назад приходилось устанавливать Gentoo и Arch как раз на MSI cubi 5. Все встало, после отключения secure boot в Uefi. А legacy там нет, это да.
vadimr Автор
27.08.2024 10:16Видимо, в MSI совершенствуются в своём злодеянии. Secure boot – первое, что приходит на ум, но в данном случае не помогло.
dartraiden
27.08.2024 10:16А дальше происходит самое волшебное: Ubuntu Server проделывает собой какую-то дырку в заводских настройках UEFI
Я ожидал от статьи на техническом ресурсе разбора того, что происходит. А тут "я сделал что-то, не понимаю как, но оно сработало, может, вам поможет".
Может, там забанены хэши старых уязвимых загрузчиков. В таком случае, надо не черный список очищать, а перестать ставить старые дебианы или пинать мейнтейнеров дистрибутива за то, что они не обновляют уязвимый загрузчик.
vadimr Автор
27.08.2024 10:16Я устанавливал последнюю версию SLES 15SP6, которой я доверяю намного больше, чем фирмам MSI и Microsoft, вместе взятым.
Что касается разбора, то, если кому-то интересно, тот может разобраться. Лично я свою проблему решил и поделился решением с другими людьми. Вопрос изучения костылей псевдодоверенной загрузки EFI так-то не входит в сферу моих интересов и не оплачивается.
Я вполне допускаю, что кому-то может быть интересно, что именно и как сломали криворукие люди из MSI. Но мне это не интересно и не нужно. Мне нужно, чтобы работал компьютер, и он работает.
aakptz
27.08.2024 10:16Мне вот как раз очень интересен "Вопрос изучения костылей псевдодоверенной загрузки EFI".
А то что он не оплачивается мне не беспокоит.
Беспокоит другое. Возможно вы не разобрались в вопросе, но утверждаете что "криворукие люди из MSI" что-то сломали. Если так, то давайте попросим MSI починить. Но если с MSI все в порядке, то зачем вводить habr в заблуждение?
vadimr Автор
27.08.2024 10:16Коммерческий дистрибутив операционной системы не грузится на свежераспакованном компьютере, кто тут виноват?
aakptz
27.08.2024 10:16https://documentation.suse.com/sles/12-SP5/html/SLES-all/cha-x86.html#sec-bootproblem-boot
vadimr Автор
27.08.2024 10:16Я знаю документацию на SLES, в том числе и на старинную версию 12. Что вы хотите этим сказать?
aakptz
27.08.2024 10:16Я хочу узнать что из перечисленного в ссылке списка вы пробовали?
vadimr Автор
27.08.2024 10:16Какого списка? В ссылке описываются проблемы в стадии загрузки операционной системы. В данном случае до этих проблем дело не доходит. Падает загрузчик.
aakptz
27.08.2024 10:16Boot problems may prevent the YaST installer from starting on your system.
vadimr Автор
27.08.2024 10:16Я не знаю, насколько хорошо вы себе представляете процесс загрузки линукса, но там до yast ещё как до луны. Сначала до yast должно было бы загрузиться ядро, а перед этим полностью загрузиться сам загрузчик. Что не происходило.
Installed System Boots, Not Media – нет
The Computer Hangs – нет
Boot Disk – нет
Virus Warning after Installation – нет
aakptz
27.08.2024 10:16Вообще довольно интересно, учитывая что большинство дистрибутивов Linux поддерживает uefi и может записывать свои ключи. Цитирую "Never install linux with Secure Boot enabled (and most linux installers will choke on it, anyway). Install with it Disabled, and after install reboot to the uefi and then turn it back on."
Testman2023
27.08.2024 10:16К счастью, после углублённого поиска в интернете, на одном из форумов был найден неочевидный совет про компьютеры MSI, который сработал.
forum msi.com идет первым в поиске
https://www.google.com/search?q=msi+cubi+n+adl+linux+error
Secure Boot Violation on Cubi N ADL
Там рекомендуют:
Please modify "Secure Boot" to disable in security sheet in BIOS setup.
Please modify "Fast Boot" to disable in boot sheet in BIOS setup.
Но чел не смог:
I could not access the secure boot menu.
I installed Ubuntu Server, and now I am able to access that menu to disable it.
If someone else encounters this issue, it looks like the solution is to install an OS that is signed with existing keys, then you can disable secure boot.
Много интересного
https://www.google.com/search?q=Secure+Boot+Violation+on+Cubi+N+ADLvadimr Автор
27.08.2024 10:16Я, в отличие от этого чела, could access the secure boot menu. Но очевидная вещь, которую там рекомендуют – отключение Secure Boot и Fast Boot – в моём случае не помогла.
Поэтому, скорее всего, чел, указывая действующий способ, описывает сам механизм разрешения проблемы неверно – дело не в возможности отключения этих галок или не только в ней.
Возможно, впрочем, что в современных версиях MSI UEFI Setup теперь исходно галка Secure Boot нарисована в интерфейсе (а не заблокирована, как раньше), но фактически всё равно не работает, а Ubuntu Server её как-то внутренне включает.
Testman2023
27.08.2024 10:16Весьма странная железка. Посмотрел спецификации Cubi N ADL S и Cubi N ADL. Может имеет смысл обновить bios?(ерунда)
https://www.msi.com/Business-Productivity-PC/Cubi-N-ADLX/Specification
Ну и посмотреть:
manually enroll keys/SHIM + MOK
https://www.google.com/search?q=manually+enroll+keys%2FSHIM+%2B+MOKvadimr Автор
27.08.2024 10:16Manually enroll keys я пытался делать, никакого эффекта нет, кроме самого по себе добавления ключей в таблицу.
Что касается обновления bios, то теперь уж точно не решусь. Думаю, в лучшем случае сбросится выстраданный флаг в nvram и дело вернётся в исходное состояние.
mcsimm
27.08.2024 10:16Я на Cubi устанавливал российский Ред ОС 8, проблем не возникло (Secure boot и fast boot disable)
aakptz
Серьёзно? Это tutorial? Замени sles на убунту? Можно ли добавить деталей? Что не так с MSI cubi? Я не встречал давно железа с uefi которое блокирует установку Linux.
vadimr Автор
Я думаю, Вам целесообразно внимательно прочесть текст, благо, он короткий.
aakptz
Вы знаете, я достаточно внимательно его прочитал и прихожу к следующему выводу. Единственное что сделал Ubuntu server это вычитал ключ из загрузчика windows на носителе. Такое бывает если установка windows производилась или закончилась ошибкой записи ключа в uefi. Например из-за ее неправильной настройки самого uefi, несовпадения режимов записи, etc. Но самой распространенной проблемой установки Linux на компьютеры с uefi обычно является форматирование средствами Windows разделов gpt. Лечится форматированием или fdisk который поправляет неверный (для Linux формат).
vadimr Автор
На этом компьютере никогда не было Windows.
aakptz
https://www.msi.com/Business-Productivity-PC/Cubi-N-ADLX/Specification
vadimr Автор
Там много разных вариантов поставки. Конкретно этот, MSI Cubi N ADL-017BRU, продаётся вообще без накопителя. Зачем бы, как вы думаете, я стал покупать компьютер с Windows, планируя установить туда Linux?
Я вообще не очень понимаю, с чем и зачем вы спорите.
aakptz
Я не спорю а пытаюсь выудить информацию которую ожидал бы прочитать в статье. Описание железа, процедуры сетапа, ошибки загрузки, dmesg -T хотя бы, опции загрузчика, параметры установщика Linux обновление bios до последней версии? Вы правы все Биос MSI сконфигурированы (прошиты с завода) для Windows загрузчиков, но повторюсь. Я не видел уже много лет проблем с установкой Linux на UEFI.
vadimr Автор
Товарищ, какой dmesg, какие опции загрузчика, какие параметры установщика, когда загрузчик сам не может загрузиться?! Лучше не злоупотреблять умными словами, не понимая их точного значения.
Описание железа с точной маркировкой в статье есть, но вам оно тоже не помогло, судя по тому, что вы привели ссылку на другой комплект поставки.
Я рад за вас, но это, к сожалению, не помогает другим людям. Я такие проблемы (разного рода) видел неоднократно, о некоторых из них здесь писал.
aakptz
Думаю ваша проблема, как и ее решение описано здесь https://documentation.suse.com/sles/15-SP5/html/SLES-all/cha-uefi.html#sec-uefi-secboot-sle
17.1.1 Implementation on SUSE Linux Enterprise Server
aakptz
О процесс редактирование описан здесь https://linuxconfig.org/how-to-manage-efi-boot-manager-entries-on-linux
vadimr Автор
Чтобы это делать, неплохо бы для начала загрузить операционную систему, в которой запускать программу efibootmgr. А именно с этим возникают сложности.
vadimr Автор
Разумеется, нет.
Здесь описано, как оно обычно бывает:
Но в данном случае, несмотря как на то, что используется стандартный подписанный ключом SUSE загрузчик, так и на то, что я ключ этого загрузчика пробовал дополнительно добавлять в UEFI setup, всё равно загрузчик не грузится полностью. Скорее всего, не видит файловую систему на разделе EFI дистрибутивного диска.
aakptz
Пожалуйста прочитайте эту часть внимательно. The Secure Boot feature is enabled by default on UEFI/x86_64 installations. You can find the Enable Secure Boot Support option in the Boot Code Options tab of the Boot Loader Settings dialog. It supports booting when the secure boot is activated in the firmware, while making it possible to boot when it is deactivated.
vadimr Автор
Уважаемый, вы мне в своих многочисленных сообщениях пишете очевидные вещи. Поверьте мне, я в своей жизни установил Linux на сотни разных компьютеров различных производителей, и прекрасно знаю и понимаю всё то, что написано в статьях, которые вы цитируете. Сейчас вы цитируете описание интерфейса yast installer, до загрузки которого, как я уже вам писал, в данном случае как до луны.
aakptz
Разработчики sles ожидают что secure boot включен в Биос и в sles bootloader. Там же есть пункт update nvram entry чтобы обновить nvram ключом от sles. В противном случае "If YaST detects EFI mode during the installation, it will try to create a GPT partition. UEFI expects to find the EFI programs on a FAT-formatted EFI System Partition (ESP)." Я не уверен что EFI раздел есть на образе из которого вы пытаетесь грузиться.(CD, DVD, USB). А на системном носителе в этот момент пусто.
vadimr Автор
Естественно, на загрузочном образе есть раздел EFI. Дистрибутив бы иначе вообще не мог загрузиться в режиме EFI. И раздел фактически там есть.
Что касается пунктов yast installer, то до них – повторяю снова – очень далеко. Нужно для этого было бы загрузить полностью grub, затем ядро linux и затем сам yast. Ничего из этого не происходит.