Как стать автором
Обновить

Комментарии 9

Такой порнографии я не ожидал от феникса, пускай даже они давно уже как главных порноделов из авард купили.
Да я и сам под впечатлением до сих пор, а парсер CMDB даже не смог заставить себя написать, т.к. гадость. Я подозреваю, что они просто раньше всех начали, еще со времен чипсетов пятой серии, и потому на тот момент просто не знали, как правильно пользоваться технологиями EFI вроде банального ReadFile. Поэтому пришлось реализовать свой собственный набор велосипедов, и с тех пор они перекатываются из одного reference tree в другой почти без изменений. Нужно отделить переменные SecureBoot от остальных — вот вам еще пара EVSA store специально под них. Нужны дефолты — вот еще два таких хранилища. Микрокоды надо грузить пораньше — и их в том NVRAM, единственный, содержимое которого можно выдумывать как угодно, и никакая спецификация PI тебе не указ!
Очень надеюсь, что они одумаются и откажутся от своих тюнингованных шоссейников в пользуй решений из EDKx, когда-нибудь. А пока имеем то что имеем — цирк-шапито на конной тяге.
Брр, походу феникс полностью перенял от аварда тягу к костылям на паровой тяге.
Зачем нужна дедупликация? Имена переменных не уникальны, а хранятся в дереве?
Уникальными должна быть комбинация «GUID + имя», но если дедупликация GUIDов еще имеет какой-то смысл (т.к. переменных с одним и тем же GUIDом довольно много, и это совершенно нормально), то с именами этот смысл уже практически не найти.
и пусть рандом избавит вас от восстановления NVRAM хоть вручную, хоть еще как.

К сожалению, не миновал. Хотя восстановлением это не назовешь.
На работе сосед снял планку с другого компа (работающий за ним в отпуск ушел, а памяти оказалось нужно больше установленной штатно) и поставил к себе. Включает комп — черный экран. пару раз пощелкал — пустое. Подключили динамик (по умолчанию не запаян) — тишина…
В итоге пришлось банально перепрошивать EFI-Flash (оба банка) — сдули чипы с платы и быстренько залили даже более новую версию. Спасло то, что никаких SecureBoot не было активно, система после такого фокуса запустилась нормально.
Перед прошивкой сдампил обе флешки и с коллегой восстановили что могли. В итоге оказалось, что при запуске с основной система не запустилась (хз даже почему, повторять неохота, нет свободных машин для таких опытов), после чего попыталась запуститься с резервной, где оказались побиты все переменные. Сама прошивка была целая — все совпало со скачанной с сайта производителя. А вот переменные почему-то «протухли».
С основной могла не запуститься потому, что воткнули новую память, понадобилось записать новые SPDData и MemCeiling, и на них не хватило места. Почему «протухла» резервная — понятно непросто, может сама SPI-микросхема попалась глючная, может еще что.
Мне как-то пришлось именно восстанавливать, т.к. на машине была куча крайне дорогого диагностического софта от нескольких автопроизводителей, который привязывается к данным DMI и упорно отказывается даже страртовать на «другой» машине. А потом на этом ноутбуке неожиданно развалился EVSA NVRAM, в котором половина данных DMI и хранилась, и софт отказался признавать ноутбук за сфоего после восстановления на программаторе. Повезло, что ребята сняли оригинальный дамп, с которым они ко мне и пришли. Посидел с часок, часть данных достал, нужны оказались System UUID и Motherboard Serial Number, которые получилось найти и перенести, после чего софт заработал снова.
insyde uefi на 96х на компаловской ноутной платформе, который подходит ко всем ноутам на данной платформе.
картинки, настройки сетапа, дерево устройств, даже slic выбирается переменной в nvram
и этот nvram упал… что удивительно, nvram пересобрался сам, только с дефолными настройками: uuid и mb sn занулись, ноут стал идентифицироваться другим производителем, слетела лицензия на винде, ибо slic поменялся, новое дерево устройств с отсутствующими (нераспаянными) устройствами.
но в моём случае бэкапа не было… и ноут так и остался с дефолным nvram…
Обычно хранилищ NVRAM делают два — основное и резервное, и в данном случае прошивка обнаружила повреждение основного хранилища, и переключилась на резервное. Ошибка же производителя в том, что «личные» данные конкретной платы в основное хранилище записали при начальной настройке, а в дополнительное — почему-то забыли. Восстановление после такого можно попробовать провернуть, сняв резервную копию сразу же и попытавшись вытащить данные из основного хранилища, возможно это получилось бы сделать, но через пару-тройку перезагрузок сработает сборщик мусора и тогда все, плакали наши данные.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Изменить настройки темы

Истории