1

I have a Lenovo Y510P, and it's running Linux (Antergos). I've read that I need to have windows running to update the BIOS. I'm guessing it's a no because it is a sandboxed environment, but I want to be sure because I've had a lot of trouble with the boot menus installing new OSes.

10
  • 1
    Why do you even want to upgrade the firmware? Are you experiencing any problems?
    – Daniel B
    Feb 3, 2018 at 16:15
  • I do a lot of distro swapping and my older bios is missing some features, at least I think it is. It's blocking me from switching priority between UEFI and legacy as well, so I'm hoping to refresh it with a different version.
    – user869075
    Feb 3, 2018 at 16:19
  • 2
    There should be ways to update the BIOS outside of the installed OS. Not everyone runs Windows. Feb 3, 2018 at 16:20
  • Have you seen Y510p bios update without Windows? (It says "no" and the linked thread explains what to do.) Feb 3, 2018 at 16:21
  • 2
    Well, that’s not going to happen, sorry. It’s super rare for hardware manufacturers to add features to BIOS/UEFI. // You could probably use Windows PE to do this. For example start the Windows Setup, bring up a command prompt and do the update from there.
    – Daniel B
    Feb 3, 2018 at 16:22

1 Answer 1

0

Technically, yes, it is possible. Practically, not with any VM I’ve tried.

The problem is, that you need to

  1. Know which hardware devices the BIOS updater writes to. (Like some NVRAM device.)
  2. Make your host OS aware of that hardware. (Like having them as a file in /dev/. A driver is only required for devices it is attached to… like a bus, for example.)
  3. Make your VM pass these devices through to the guest.

With Linux as the host, steps 1 and 2 should be doable, if the hardware is not something proprietary or very exotic. (E.g. NVRAM is easy.) The problem is that no VM I know of can pass through arbitrary hardware. They can do USB and PCI and drives, etc. But not just any random piece of hardware. Because, and that is my answer: The VM software would also need a kind of “driver” to know how to actually do the passing through while policing what the client is allowed.

So in practice, there are two choices:

  1. Hardware that Linux can see as “normal” hardware… E.g. NVRAM may be presented as just a normal block device that you can dd to. You don’t need a VM at all, and can do the update straight from Linux. (Though beware, as the original BIOS updaters usually do some very important checks, like it being actually compatible with the hardware, etc. Otherwise you may end up with a brick.)
  2. Anything else, where you’d have to contribute to KVM/qemu and add passthrough for your specific hardware.

TL;DR: Everything is possible, if you’ve got all the time to do it. Unless it’s outside of your event horizon. ;)

Or even shorter: No.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.