В данной статье мы рассмотрим как правильно перейти на использование P-BIOS на ноутбуках Lenovo ThinkPad актуальных поколений.
Введение
Все современные версии ноутбуков Lenovo ThinkPad поставляются с установленным внутри прошивки модулем Absolute Computrace Agent (далее ACA).
Что такое ACA?
Описание с официального сайта:
Computrace software is embedded in the firmware of computers right at the factory for tamper-resistance. The stealthy Computrace Agent is capable of surviving operating system re-installations as well as hard-drive reformats, replacements and re-imaging. It can be activated by customers when they purchase a subscription with terms ranging from one to four years.
По указанию из центра в случае утери устройства владельцем он может удалить все данные с диска, помочь найти девайс и т.д., т.е. практически точная копия Find My Phone. Модуль имеет полный и ничем не ограниченный доступ к системе, что, на наш взгляд, совершенно неприемлемо.
Для закрепления в системе применяется технология Windows Platform Binary Table, что позволяет устанавливаться и запускаться на самой ранней стадии, поэтому удалить его штатным способом не представляется возможным. Переустановка системы с полным форматированием также не даст результатов. К счастью, поддерживается в данный момент лишь ОС Microsoft Windows.
Можно ли избавиться от ACA?
В настройках UEFI BIOS ноутбука присутствует возможность перманентного отключения, однако это не даст никакой гарантии от того, что он действительно полностью блокируется ибо продолжает находиться внутри прошивки ноутбука, а его исходники закрыты и проверить это нельзя.
После многочисленных жалоб на форумах и Reddit производитель ноутбуков наконец пошёл навстречу пользователям и начал выпускать сразу две версии прошивок UEFI BIOS: с ACA (W-версии) и без него (P-версии), однако установить её не так просто.
Предупреждение
Внимание! Описанные действия могут повредить устройство, привести к выходу его из строя и т.п., поэтому данное руководство следует использовать исключительно на свой страх и риск. Никто не несёт никакой ответственности за любые действия и возможные последствия.
Откат назад на W-версию будет невозможен, а равно как и повторная активация Absolute Persistence Module. Применяйте данный способ только если вы точно уверены, что реализуемая функциональность вам никогда не понадобится.
Как правильно установить P-версию?
Для начала отключим и заблокируем ACA, ибо в рабочем состоянии он не даст установить P-версию прошивки:
- нажмём Enter на клавиатуре сразу при включении ноутбука;
- выберем пункт Enter UEFI BIOS;
- перейдём на страницу Security — Absolute Persistence Module;
- выберем Permanently Disabled и подтвердим отключение (включить его когда-либо будет уже невозможно);
- нажмём F10 для сохранения изменений и перезагрузки.
Откроем Linux Vendor Firmware Service и найдём своё устройство, после чего скачаем CAB-файл с P-версией прошивки (всегда имеет соответствующий суффикс, например SystemFirmware-1.29P.cab).
Убедитесь, что скачиваете прошивку для своего устройства (даже в пределах одной модели они могут различаться). Установка прошивки для неподходящего устройства приведёт к катастрофическим последствиям.
Установим утилиту распаковки CAB-файлов:
sudo dnf install cabextract
Распакуем загруженный архив например в ~/thinkpad:
cabextract -d ~/thinkpad *.cab
Среди распакованных файлов найдём firmware.metainfo.xml и извлечём из него GUID (строка вида XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX):
grep -Ewo '[A-F0-9]{8}-([A-F0-9]{4}-){3}[A-F0-9]{12}' -i ~/thinkpad/firmware.metainfo.xml
Запустим установку обновления для указанного GUID:
cd ~/thinkpad sudo /usr/libexec/fwupd/fwupdate -a XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX firmware.bin
Произведём перезагрузку системы:
sudo systemctl update
Если всё сделано верно, начнётся стандартная установка P-версии прошивки при помощи fwupd.
Литература
При написании данной статьи использовалась литература из следующих источников: