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 по счастью известно
Про CSM по счастью известно что это такое. Это поддержка старой загрузки (эмуляция BIOS).
Но почему это место влияет на UEFI boot - не пойму. Почему при выключенном CSM можно включить Legacy загрузку (которая гарантированно НЕ будет работать) - как раз пойму (от лени разработчиков, конечно ж)
Ну и это не объясняет, почему
Ну и это не объясняет, почему SATA/HDD/2Tb - с загрузкой все было збс, а SATA/SSD/256Gb - нихрена.
Мне казалось, что оба - block device, устроенные одинаково (и инсталлятор FreeBSD там примерно одну структуру данных делает), я неправ?
UPD: ну разве только partition alignment разный, это да, но может ли быть дело в этом?
Да впроде прав. Я могу только
Да впроде прав. Я могу только скопипастить модный смайлик пожатия плечами.
WD Green 2TB — не совсем
WD Green 2TB — не совсем обычный HDD. У него уже используется Avanced Format, что, по идее, ещё больше сближает его с SSD-дисками. Что ещё больше добавляет абсурда в ситуацию.
А не может ли быть такого, что WD работает в нативном для себя формате с блоками по 4К (который уже свободно поддерживается UEFI), а OCZ — наоборот, работает в режиме совместимости, подсовывая системе данные, что он размечен по 512 байт? И CSM support как раз включает поддержку этих самых «древних» разметок? Полный идиотизм, конечно, но кто знает, кто знает...
«Secure Boot: Custom» и прочие при «Enable Secure Boot: Disabled» вообще должен быть недоступным для модификации. Видимо, разработчики не очень усердно орудуют напильником в процессе подготовки биосов.
C точки зрения FreeBSD:
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. Но тогда смысл сравнения утрачен, оба так делают.