У меня Lenovo Y510P, и он работает под управлением Linux (Antergos). Я читал, что для обновления BIOS мне нужно запустить Windows.
Полагаю, что нет, поскольку это изолированная среда, но я хочу быть уверен, поскольку у меня было много проблем с загрузочными меню при установке новых ОС.
решение1
Технически да, это возможно. Практически — ни с одной виртуальной машиной, которую я пробовал.
Проблема в том, что вам нужно
- Узнайте, на какие аппаратные устройства программа обновления BIOS записывает данные (например, на некоторые устройства NVRAM).
- Сделайте так, чтобы ваша хостовая ОС знала об этом оборудовании. (Например, поместив их в файл /dev/. Драйвер требуется только для устройств, к которым он подключен… например, шина.)
- Настройте свою виртуальную машину так, чтобы она передавала эти устройства гостю.
Если в качестве хоста используется Linux, шаги 1 и 2 должны быть выполнимы, если оборудование не является чем-то фирменным или очень экзотическим. (Например, NVRAM — это просто.) Проблема в том, что ни одна известная мне виртуальная машина не может пройти черезпроизвольныйАппаратное обеспечение. Они могут делать USB, PCI, диски и т. д. Но не просто любое случайное аппаратное обеспечение. Потому что, и это мой ответ: программное обеспечение виртуальной машины будеттакженужен своего рода «водитель», который будет знать, как на самом деле осуществлять проход, контролируя при этом, что разрешено клиенту.
Таким образом, на практике есть два варианта:
- Оборудование, которое Linux может видеть как «обычное» оборудование… Например, NVRAM может быть представлено как обычное блочное устройство, которое вы можете
dd
. Вам вообще не нужна виртуальная машина, и вы можете выполнить обновление прямо из Linux. (Хотя будьте осторожны, так как оригинальные программы обновления BIOS обычно выполняют некоторые очень важные проверки, например, на совместимость с оборудованием и т. д. В противном случае вы можете получить кирпич.) - В любом другом случае вам придется вносить свой вклад в KVM/qemu и добавлять сквозную передачу для вашего конкретного оборудования.
TL;DR: Все возможно, если у вас есть время это сделать. Если только это не находится за пределами вашего горизонта событий. ;)
Или еще короче: Нет.