Итак, вот некоторые детали, которые имеют значение и о которых я знаю. Конечно, если на свежеизготовленном куске ПЗУ установлены какие-либо ключи шифрования, то я не смогу их вернуть, что, если мы говорим о ПК, приведет к тому, что Windows не сможет загрузиться в безопасном режиме (возможно, некоторые популярные дистрибутивы Linux, такие как Ubuntu или Fedora, тоже не загрузятся, поскольку они полагаются на подписи от Microsoft?). Но если после прошивки, скажем, coreboot в ПЗУ вместе с TianoCore я смогу запустить любую операционную систему, которая будет совместима с этой прошивкой, то как я могу «закирпичить» свой ноутбук? Я видел много людей, говорящих о том, чтобы закирпичить свои Chomebook, но в конце концов они могут просто закирпичить что угодно в ПЗУ, а затем, если что-то пошло не так, прошить его снова, так почему вообще существует это понятие закирпиченного ноутбука?
И да, я понимаю, что физически может быть сложно выполнить перепрошивку (например, из-за встроенных контроллеров, как предполагает эта страница)https://www.flashrom.org/Ноутбуки), но если вы хотите ответить, пожалуйста, предположите, что мы можем прошивать (как в случае с Chromebook, насколько я знаю)
Редактировать: под ПЗУ я подразумеваю стираемую и программируемую энергонезависимую память, в частности флэш-память.
решение1
Вы можете прошить образ в ПЗУ, пока ПЗУ работоспособно, но если ПЗУ стерто без какого-либо «резервного» загрузчика, то для восстановления вам может понадобиться специализированное оборудование и «заводские» файлы.
Дело обстоит так:
- Прошивка содержит загрузочный код, который запускает машину. Она ищет загрузчик ОС и, возможно, файлы обновления прошивки.
- Если этот код поврежден или стерт, ваш компьютер не запустится.
- Если ваш компьютер не запускается, значит, вы не можете загрузить операционную систему.
- Если ваша операционная система (или загрузчик) не запускается, то вы не сможете перепрошить прошивку без специальных инструментов.
- Если у вас нет этих инструментов, то вы не сможете перепрошить загрузчик.
- Система естьэффективнозамурован.
Ваше предположение, что люди могут «прошивать все, что им нравится» в ПЗУ, неверно. В то время как ПЗУ содержитфункциональныйКод, который позволяет системе загружаться, конечно, его можно восстановить, но бывают случаи, когда этот код можно стереть. Особенно на «встроенных» устройствах, таких как телефоны, планшеты и т. д. Некоторые устройства не имеют «резервной» системы безопасности, чтобы справиться со случайным стиранием.
Представьте, что вы вытащили чип BIOS из компьютера. Как компьютер узнает, как инициализировать оборудование, какие устройства проверять и настраивать, где искать загрузочные файлы и т. д.
Вы можете просто заменить физический чип, но что, если этот чип впаян в плату?
Можно просто выпаять и заново припаять чип, и он станет рабочим, но что делать, если этот чип — особый тип, используемый только для этой системы?
А что, если для работы этого чипа изначально требуется специальный код, написанный производителем?
А что, если производитель не поставляет эти чипы предварительно запрограммированными?
Пока ваша системаработающийзатем вы можете перепрошить систему, используя имеющиеся у вас инструменты, но вы не представляете, насколько мучительно видеть сообщение «Стереть загрузчик», за которым следует сообщение «Невозможно прошить образ: файл не найден».
Как только вы получите это сообщение, скорее всего, вам придется узнать о таких вещах, какJTAG, купите специализированное оборудование и надейтесь, что разработчик системы оставил для вас несколько легкодоступных контрольных точек.
Если вы никогда не перепрошиваете coreboot
и обновляете только TianoCore
поверх, то все может быть в порядке. Но однажды вам, возможно, придется, по какой-то причине, перепрошивать coreboot
, и в этот день вы будете молиться, чтобы это просто заработало.