Как обновить BIOS Lenovo ThinkPad X390 с USB‑флешки — пошаговая инструкция

Введение

У вас Lenovo X390 и нужно обновить BIOS, но вы не используете Windows, а на сайте производителя доступен только ISO9660 CD-образ. Это особенно неприятно для ноутбука без CD‑привода — многие инструменты показывают образ пустым, а извлечь файлы не удаётся.

Ниже — рабочий способ достать файлы обновления из такого «проклятого» CD-образа: мы найдём скрытый EFI‑раздел внутри ISO, извлечём его как FAT32‑образ, смонтируем в loopback и скопируем файлы для записи на USB. В тексте сохранены команды, пример вывода и важные цифры.

Проблема: BIOS-обновление в ISO без CD‑привода

Lenovo предоставляет обновление BIOS в виде ISO9660 CD image, который ожидает CD‑привод. Для ноутбука без привода такой образ бесполезен, если не извлечь содержащиеся в нём файлы. Стандартные утилиты часто показывают ISO «пустым», поскольку нужные файлы спрятаны в EFI‑разделе внутри образа.

Поэтому нужно найти и извлечь именно этот EFI‑раздел (FAT32), смонтировать его и скопировать файлы обновления (.PAT, .efi и др.). Ниже — последовательность действий и примеры команд.

Краткое решение

Идея: с помощью dd вырезать из ISO кусок, соответствующий FAT32 (EFI) разделу, сохранить его как отдельный файл, затем смонтировать в loopback как vfat и скопировать файлы. После этого запись этих файлов на FAT32‑флешку и загрузка в EFI позволят выполнить обновление BIOS.

В примере автора EFI‑раздел начинался на секторе 140, поэтому использована команда dd с skip=140. У вас смещение может отличаться — см. раздел про поиск смещения ниже.

Пошаговая инструкция: извлечение файлов из ISO (пример)

1) Вырезаем FAT32‑образ из ISO

В примере использовалась команда dd, которая пропускает первые N секторов и сохраняет оставшуюся часть как отдельный файл fat32-image. Для автора смещение было 140 секторов.

> dd if=n2jur42w.iso of=fat32-image skip=140

2) Монтируем образ и копируем файлы

Далее создаём точку монтирования, монтируем fat32‑образ в loopback и копируем содержимое в папку extracted-files. После этого можно просмотреть список файлов.

> mkdir mountpoint
> sudo mount -t vfat fat32-image mountpoint
> cp -r mountpoint extracted-files
> cd extracted-files
> find . -type f | sort

Пример найденных файлов (сохранён из оригинального примера):

./EFI/Boot/BootX64.efi
./FLASH/806EB.PAT
./FLASH/806EC.PAT
./FLASH/906EA.PAT
./FLASH/906EC.PAT
./FLASH/906ED.PAT
./FLASH/A0660.PAT
./FLASH/BCP.evs
./FLASH/N2JETA7P/$0AN2J00.FL1
./FLASH/N2JETA7P/$0AN2J00.FL2
./FLASH/N2JETA7W/$0AN2J00.FL1
./FLASH/N2JETA7W/$0AN2J00.FL2
./FLASH/N2SET36P/$0AN2S00.FL1
./FLASH/N2SET36P/$0AN2S00.FL2
./FLASH/N2SET36W/$0AN2S00.FL1
./FLASH/N2SET36W/$0AN2S00.FL2
./FLASH/NoDCCheck_BootX64.efi
./FLASH/README.TXT
./FLASH/SHELLFLASH.EFI

Запись на USB и выполнение обновления BIOS

Скопируйте файлы из extracted-files на FAT32‑раздел USB‑накопителя (просто обычное копирование). Включите EFI boot в BIOS ноутбука и загрузитесь с этой флешки.

Файлы BootX64.efi и SHELLFLASH.EFI вместе с .PAT файлам позволяют выполнить обновление в среде EFI. В примере обновление прошло успешно.

Если EFI‑раздел не начинается на секторе 140: как найти смещение

У разных образов смещение EFI‑раздела может отличаться. Если монтирование fat32‑image не работает, нужно найти начало сектора с FAT32. Для этого используйте hexdump/xxd и ищите «магическое» значение eb58 — сигнатуру начала MBR/VBR FAT.

> xxd n2jur42w.iso | less

Пример найденного фрагмента в оригинальном образе:

000117e0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000117f0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00011800: eb58 904d 5344 4f53 352e 3000 0202 3e18  .X.MSDOS5.0...>.
00011810: 0200 0000 00f8 0000 2000 4000 2000 0000  ........ .@. ...
00011820: 0000 0400 e103 0000 0000 0000 0200 0000  ................

В примере xxd показывает, что магическое значение находится по смещению 0x11800 (в байтах). Переводим это в сектора (размер сектора 512 байт):

> python
>>> 0x11800/512
140.0
>>>

Полученное значение 140 и используется как skip=140 в команде dd. Для вашего образа значение может быть другим — найдите смещение eb58 и разделите на 512.

Важные файлы, примечания и совместимость

В извлечённой структуре важными являются EFI/Boot/BootX64.efi, FLASH/SHELLFLASH.EFI и файлы .PAT (например 806EB.PAT и 906EA.PAT). Также присутствуют README.TXT и специфичные FL1/FL2 файлы для разных моделей.

Этот метод может работать и для других моделей Lenovo. В оригинальном описании указано, что при желании можно скачать готовую версию 1.85 вместо самостоятельного извлечения; при самостоятельном извлечении учтите, что начало EFI‑раздела может отличаться от сектора 140.

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *