Прошивки в Linux обновляются двумя путями, и путаница между ними порождает больше всего вопросов. Драйверы видеокарт и Wi-Fi модулей поставляет пакет linux-firmware и обычное обновление репозиториев, а встроенное ПО устройств — BIOS, контроллеры заряда, док-станции, Thunderbolt — обновляет демон fwupd, работающий с каталогом LVFS. Разберём полный цикл: обзор устройств, установка обновлений, UEFI-капсулы, откат и диагностика.

Установка и обзор устройств

На Debian, Ubuntu и Linux Mint демон ставится из основного репозитория; для обновления UEFI через капсулы дополнительно нужен пакет fwupd-efi.

sudo apt install fwupd fwupd-efi
systemctl status fwupd --no-pager
fwupdmgr get-devices
fwupdmgr get-devices > ~/fwupd-before.txt

Команда выводит дерево устройств с текущими версиями прошивок. Сохранённый снимок понадобится дважды: чтобы убедиться, что обновление реально применилось, и чтобы быстро собрать отчёт, если после обновления что-то перестанет работать. В выводе смотрите на поля Version и UpdateState: значение up-to-date означает, что обновлений для устройства нет.

Отдельно проверьте состояние защищённой загрузки:

fwupdmgr security
fwupdmgr --version
systemctl is-active fwupd

Отчёт по безопасности показывает четыре проверки: подпись загрузчика, защиту системного раздела, поддержку UEFI-капсул и состояние защищённых переменных. На машинах без Secure Boot часть показателей получит оценку «Caution» — это норма, а не неисправность.

Проверка и установка обновлений

sudo fwupdmgr refresh --force
fwupdmgr get-updates
sudo fwupdmgr update
fwupdmgr history

Шаг refresh скачивает метаданные LVFS, а флаг --force нужен, если кэш устарел или вы только что сменили зеркало. Дальше get-updates показывает список доступного, update ставит всё разом; точечно — по идентификатору из первого столбца: sudo fwupdmgr update 1234abcd. После завершения сравните результат с сохранённым снимком и загляните в fwupdmgr history — там видно, что именно менялось и когда.

Откат тоже предусмотрен. Если новая прошивка устройства вызвала проблемы, список прошлых версий вызывается командой fwupdmgr downgrades, а установка конкретной — sudo fwupdmgr downgrade. Перед откатом проверьте журнал: journalctl -u fwupd --since -1day покажет, на каком шаге возникла ошибка — часто причина видна там, без обращения к форумам. Откатывайте только на полной зарядке и не прерывайте операцию: для контроллера заряда и встроенного контроллера ноутбука прерывание — единственный способ превратить машину в неработающий блок.

UEFI-капсулы: обновление до входа в систему

BIOS обновляется по особой схеме: система скачивает файл-капсулу, кладёт его в системный раздел ESP и перезагружается — прошивкой занимается сам загрузчик ещё до старта операционной системы.

mount | grep -E "/boot/efi|/efi"
sudo fwupdmgr get-updates
sudo fwupdmgr update
sudo reboot

После перезагрузки версия должна измениться: fwupdmgr get-devices | grep -A2 "System Firmware". Частые причины неудач:

  • «UEFI capsule update not supported» — в настройках прошивки отключены «UEFI Capsule Updates» или обновление через WMI; включите их (так встречается на Dell, Lenovo и части материнских плат).
  • Капсула не создаётся: не смонтирован /boot/efi либо в ESP не хватает места — держите запас в пятьдесят мегабайт.
  • После ребута версия прежняя: обновление было прервано или загрузчик не применил капсулу. Смотрите журнал прошлой загрузки: journalctl -b -1 -u fwupd.
  • Ноутбук не стоит отключать от розетки: fwupd сам предупредит о низком заряде, но игнорировать это предупреждение нельзя.

Когда устройство не появляется

lsusb
journalctl -u fwupd -f
sudo fwupdmgr refresh -v
ls /etc/fwupd/remotes.d/ /usr/share/fwupd/remotes.d/

Причины проверяются по порядку. Устаревший демон: сверьте fwupdmgr --version с версией в репозитории. Отключённый репозиторий: в файле lvfs.fwupd должна стоять строка Enabled=true. Невидимые устройства: часть из них не поддерживает fwupd в принципе — такие выводятся отдельно, если добавить --show-devices-unsupported. USB-устройства стоит проверить и на уровне ядра: dmesg | tail -30 покажет, подключался ли контроллер вообще.

Прошивку можно поставить и из локального файла: sudo fwupdmgr install файл.cab ставит обновление из кабинета, скачанного заранее — удобно, когда доступ к LVFS закрыт. Подробности конкретного пакета смотрятся так: fwupdmgr get-details 1234abcd — там перечислены размер, требование перезагрузки и обратная совместимость.

Категории устройств и отдельные сценарии

В дереве get-devices встречаются разные классы, и у каждого свой сценарий. Системная прошивка (System Firmware) обновляется через капсулы и требует перезагрузки. Контроллеры заряда и встроенный контроллер ноутбука меняются на лету: после установки они переподключаются сами, перезагрузка нужна только для части батарейных прошивок. Док-станции и внешние доки с Thunderbolt обновляются при подключённом питании, а накопители NVMe — только когда в системе нет активной записи на диск.

fwupdmgr get-devices | grep -B2 -A6 "UpdateState"
journalctl -u fwupd -n 50
sudo fwupdmgr activate 1234abcd
cat /etc/fwupd/fwupd.conf

Файл /etc/fwupd/fwupd.conf хранит поведение демона: интервал обновления метаданных, зеркала LVFS и параметр AutomaticRefresh, который разрешает фоновую проверку обновлений. На серверах его обычно выключают, оставляя ручной запуск по расписанию, а на рабочей станции включают — так вы не пропустите исправление для контроллера заряда или SSD. Установленная прошивка попадает в историю и остаётся в системе до явной отмены: fwupdmgr history работает и как журнал, и как источник данных для отчёта.

Чек-лист перед обновлением

  1. Ноутбук подключён к розетке, настольный ПК — к стабильному источнику питания.
  2. Смонтирован раздел ESP, свободного места больше пятидесяти мегабайт.
  3. Сохранён снимок fwupdmgr get-devices до обновления.
  4. Время и дата в системе верны — неверные часы ломают проверку подписи метаданных.
  5. После ребута выполнено сравнение версий и записано в fwupdmgr history.

Итог

fwupd закрывает всё встроенное ПО устройств: обновление начинается с get-devices и снимка версий, продолжается refresh и update, а заканчивается перезагрузкой для UEFI-капсул и повторной проверкой. Пакет linux-firmware к fwupd отношения не имеет — не ищите драйверы Wi-Fi в LVFS. Основные аварии случаются из-за несмонтированного ESP, отключённых капсул в прошивке и прерванного питания; если держать в уме эти три пункта, обновление прошивки становится рутинной операцией.

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка 0 / 5. Количество оценок: 0

Оценок пока нет. Поставьте оценку первым.

Поделиться: Telegram ВКонтакте