Переходим с W-BIOS на P-BIOS на ноутбуках ThinkPad

В данной статье мы рассмотрим как правильно перейти на использование 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-версию прошивки:

  1. нажмём Enter на клавиатуре сразу при включении ноутбука;
  2. выберем пункт Enter UEFI BIOS;
  3. перейдём на страницу SecurityAbsolute Persistence Module;
  4. выберем Permanently Disabled и подтвердим отключение (включить его когда-либо будет уже невозможно);
  5. нажмём 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.

Литература

При написании данной статьи использовалась литература из следующих источников: