Могу ли я обновить BIOS внутри виртуальной машины?

Могу ли я обновить BIOS внутри виртуальной машины?

У меня Lenovo Y510P, и он работает под управлением Linux (Antergos). Я читал, что для обновления BIOS мне нужно запустить Windows.

Полагаю, что нет, поскольку это изолированная среда, но я хочу быть уверен, поскольку у меня было много проблем с загрузочными меню при установке новых ОС.

решение1

Технически да, это возможно. Практически — ни с одной виртуальной машиной, которую я пробовал.

Проблема в том, что вам нужно

  1. Узнайте, на какие аппаратные устройства программа обновления BIOS записывает данные (например, на некоторые устройства NVRAM).
  2. Сделайте так, чтобы ваша хостовая ОС знала об этом оборудовании. (Например, поместив их в файл /dev/. Драйвер требуется только для устройств, к которым он подключен… например, шина.)
  3. Настройте свою виртуальную машину так, чтобы она передавала эти устройства гостю.

Если в качестве хоста используется Linux, шаги 1 и 2 должны быть выполнимы, если оборудование не является чем-то фирменным или очень экзотическим. (Например, NVRAM — это просто.) Проблема в том, что ни одна известная мне виртуальная машина не может пройти черезпроизвольныйАппаратное обеспечение. Они могут делать USB, PCI, диски и т. д. Но не просто любое случайное аппаратное обеспечение. Потому что, и это мой ответ: программное обеспечение виртуальной машины будеттакженужен своего рода «водитель», который будет знать, как на самом деле осуществлять проход, контролируя при этом, что разрешено клиенту.

Таким образом, на практике есть два варианта:

  1. Оборудование, которое Linux может видеть как «обычное» оборудование… Например, NVRAM может быть представлено как обычное блочное устройство, которое вы можете dd. Вам вообще не нужна виртуальная машина, и вы можете выполнить обновление прямо из Linux. (Хотя будьте осторожны, так как оригинальные программы обновления BIOS обычно выполняют некоторые очень важные проверки, например, на совместимость с оборудованием и т. д. В противном случае вы можете получить кирпич.)
  2. В любом другом случае вам придется вносить свой вклад в KVM/qemu и добавлять сквозную передачу для вашего конкретного оборудования.

TL;DR: Все возможно, если у вас есть время это сделать. Если только это не находится за пределами вашего горизонта событий. ;)

Или еще короче: Нет.

Связанный контент