How to update the BIOS on a Dell laptop running Linux
For models not supported by lvfs
Completed successfully on a Dell Inspiron 3595 running Manjaro
This fix does not require Manjaro, it should work on any distro.
It took me a looong time to figure out how to do this for various reasons, and there are a lot of forum posts on the net about this exact problem. So for posterity I offer up this guide for any future googlers.
TLDR for advanced users: Use Ventoy to boot the Windows 10 installer and open the command prompt in the "Repair my PC" menu to launch the Dell BIOS update executable from a second USB.
- Grab two USBs that are at least 8 GB in capacity.
- Download the BIOS update file from the Dell support website.
- Copy it to the first USB. Mine was formatted as NTFS but I don't think it's critical to the process.
- Download Ventoy. If you've never heard of this, spend a minute reading about it. It's a cool tool.
- Flash Ventoy to your second USB.
- Acquire an .iso of Windows 10. I chose Windows 10 because Windows 7 didn't boot on my laptop (not sure why), and Windows 11 was too heavy for the CPU. I also tried Freedos but my laptop only has UEFI boot enabled, and no legacy option, which is apparently not supported. Note - you don't actually need to install or activate Windows in any way so I didn't feel it was necessary to be too picky about how I acquired the image.
- Copy the Windows 10 .iso file to your Ventoy USB.
- Boot from the Ventoy USB and select Windows 10. (F12 on most Dell laptops to interrupt the boot sequence)
- Click "Repair my PC" in the bottom left hand corner - DO NOT install.
- Click on the "Use command prompt" option which should be in the "Troubleshoot" menu.
- Insert your first USB with the Dell BIOS update file on it.
- Change directory to your first USB.
It automatically mounted mine as
D:
Simply type the name of the drive to change to it. - Type the name of the BIOS update file to execute.
For example:
Inspiron_3595_1.5.0.exe
If you forget the name of the file, typedir
to get a list of files in the current directory. - Watch the magic happen and don't freak out if it reboots more than once - just let it do its thing until it's finished.
- (Optional) boot into the BIOS to confirm that the update has been successful (check the version number).
The entire process was fairly quick, less than 5 mintes, and it automatically rebooted twice. The only indication I had that it was finished was that on the third reboot it booted back into Linux. I went back into the BIOS later to confirm that the BIOS version number matched the version number on the Dell website (in this case, 1.5.0).
tl;dr boot Windows. 🙄
😂😂🤣🤣 (no)
The command prompt to be exact. Which is presumably a version of MS-DOS. Which makes me wonder if you can't simply boot MS-DOS or FreeDOS — assuming you can find a copy that boots under UEFI. It's certainly lighter then a whole Windows iso and you can include the firmware with it on a tiny FAT partition.
Windows hasn't been based on DOS for over 2 decades at this point...
Windows hasn't but the command prompt they put on the ISO could still be DOS. It's perfect for this use case, it's single process and lightweight.