Supermicro USB stick boot problem: mystery solved

(извините за иностранные слова в заголовке, но мне вот сдается, что эти слова будут гуглить /как я гуглил/ и пусть находят, страдальцы, а дальше гуглом же и переведут).

Так вот, про проблему загрузки с флешки Sandisk Ultra Fit я на днях писал. Решил я ее, как помните, другой флешкой, через удлинитель, хоть и противно мне было сие.

Но посчитал, сколько дисков я хочу запихнуть в 12-слотовый ящик, получается никак не больше десяти пока (а может и вовсе 9, не решил еще), две-три дырки свободные. А у меня с незапамятных времен валяется 3.5-дюймовый SSD-диск, который и выкинуть жалко, он практически новый (OCZ прислало на замену) и использовать его не получается (ну кому в 2018-м году интересен OCZ Vertex2, который может просто на перезагрузке взять и умереть /как было с тем, который мне, собственно, и заменили/). Ну вот в сервер как загрузочный, перезагружать больше нескольких раз в год не собираюсь (а умрет - ну и ладно, невелика потеря, накачу загрузочный раздел с бэкапа за 10 минут).

Так вот, сую его в ящик, ставлю FreeBSD 11.2 (я уже навострился это делать, занимает ну две минуты), НЕ ГРУЗИТСЯ. UEFI shell видит этот раздел, а BIOS - нет (грузиться с раздела через shell я, честно говоря, не пробовал), ну точно такая же история как с Sandisk Ultra Fit.

Матерюсь, но у меня же хот-свап! Беру обычный Sata-диск (WD Green 2Tb), ставлю ту же систему на него. Все нормально, все загружается. Тоже по UEFI, разница с SSD-шкой в том, что это не SSD :).

Иду гуглить и где-то на 20-м форуме нагугливаю "пойдите в BIOS - Security - Secure Boot и включите CSM Support" (см. картинку). Это было по другому вопросу (с MBR не грузилось), но тем не менее.

Теоретически, CSM Support - он для загрузки с MBR, насколько я понимаю, однако после его включения:

  • C OCZ Vertex 2 в режиме UEFI - грузится
  • C Sandisk Ultra Fit USB 3.1/UEFI - грузится
  • С SSD-шки вытащеной из старого сервера (GPT+эмуляция MBR) - не грузится, но говорит BTX halted, то есть до бутблоков дело доходит (возможно, бутблоки просто очень старые, не вдавался).

Что такое Secure Boot: Custom (см. на скриншоте), на что его можно поменять - и не спрашивайте, я это место трогать боюсь.

Остается риторический вопрос: а что же делает настройка BIOS - Boot mode: DUAL (или Legacy) если без включения CSM оно вовсе не работает. Ну да что уж теперь спрашивать то...

Comments

Вот-вот, я писал тут как-о в камментах -- наэцсамое недавнр при установке на ноут. Хотел вкорячит фрибсд, так, сяк ковырял, секьюр бут и всё такое -- то грузится, то не грузится, тем более проблемы с вайфаем. Плюнул, начал центос ставить -- с грехом пополам, с одной только флешки, с бубнов в биосе.

Ну мне вот в каком-то смысле повезло: собственно инсталлятор FreeBSD с флешки грузится без вопросов и на ура (memstick который). Если бы этого не было - уж не знаю что я бы делал, потому что "ну вот, не грузится", а покупал я через форвардера, возврат - дело непонятное в такой ситуации (с точки зрения ebay - все приехало и ок).

В форумах я наоборот начитался, что на этих матерях pfsense (freebsd) грузится нормально, а вот Linux - не очень.

Похоже, намутили с этим secure boot лишнего, говорю же "custom" тронуть боюсь.

Вот за что я «люблю» современные BIOS'ы, ой, простите, UEFI Firmwares — это за документированность.
Там вот справа должен быть Help — он хоть как-то помог понять, что такое этот CSM?

Про CSM по счастью известно что это такое. Это поддержка старой загрузки (эмуляция BIOS).

Но почему это место влияет на UEFI boot - не пойму. Почему при выключенном CSM можно включить Legacy загрузку (которая гарантированно НЕ будет работать) - как раз пойму (от лени разработчиков, конечно ж)

Ну и это не объясняет, почему SATA/HDD/2Tb - с загрузкой все было збс, а SATA/SSD/256Gb - нихрена.
Мне казалось, что оба - block device, устроенные одинаково (и инсталлятор FreeBSD там примерно одну структуру данных делает), я неправ?

UPD: ну разве только partition alignment разный, это да, но может ли быть дело в этом?

Да впроде прав. Я могу только скопипастить модный смайлик пожатия плечами.

WD Green 2TB — не совсем обычный HDD. У него уже используется Avanced Format, что, по идее, ещё больше сближает его с SSD-дисками. Что ещё больше добавляет абсурда в ситуацию.
А не может ли быть такого, что WD работает в нативном для себя формате с блоками по 4К (который уже свободно поддерживается UEFI), а OCZ — наоборот, работает в режиме совместимости, подсовывая системе данные, что он размечен по 512 байт? И CSM support как раз включает поддержку этих самых «древних» разметок? Полный идиотизм, конечно, но кто знает, кто знает...

«Secure Boot: Custom» и прочие при «Enable Secure Boot: Disabled» вообще должен быть недоступным для модификации. Видимо, разработчики не очень усердно орудуют напильником в процессе подготовки биосов.

C точки зрения FreeBSD:
WD: ada1: 1907729MB (3907029168 512 byte sectors)
OCZ: ada0: 228936MB (468862128 512 byte sectors)
Да, смешно кстати, они оба SATA-2, я уже и забыл что такие бывают :)

Более того, WD меньше 2Tb т.е. какие-то приколы "диск больше 2Tb - только UEFI" ну тоже маловероятны.

В общем, единственное, что понятно — то, что и винты, и флешки различаются чем-то довольно мелким и неочевидным, но, собака, СУЩЕСТВЕННЫМ (для этой системы).
Да, WD тоже может работать с физическими блоками по 4К, а в систему отчитываться о логических блоках по 512. Но тогда смысл сравнения утрачен, оба так делают.