Last week I bought a refurbished Dell XPS 8930 desktop. It’s got an Nvidia RTX 2060 graphics card (arguably the most cost-effective GPU for deep learning right now) and a 9th gen i7 CPU, and I was excited to get stuck in.
The downside is that it comes with Windows and isn’t officially certified for Ubuntu… and this turned out to be a much bigger issue than expected! After a few days of trial-and-error and trawling support threads I did manage to get it working though! I’m putting these instructions up here for anyone who finds themselves in the same situation I was in last week, hope someone ends up finding it useful 🙂
I’ll be assuming you want to dual-boot Ubuntu and Windows. If you just want Ubuntu, you can skip some of these steps.
Prepare/back up data
Before doing anything, back up any data on your system that you wouldn’t want to lose. I skipped this since it was a new pc and I didn’t have any data on it yet, but I did create a Windows Recovery Drive in case that would turn out to be useful later.
You’ll also want to make a note of the current partition structure on the disk Windows is running on, as that might be useful for troubleshooting later on.
Once that’s done, create a bootable USB stick with Ubuntu on it using this guide.
Follow the Ubuntu guide for booting and installing from this USB stick. If you’re lucky, maybe this just works for you!
Disable TPM and Secure Boot
You might get one of these two errors before Ubuntu manages to boot: [Firmware Bug]: Failed to parse event in TPM Final Events Log
, or Couldn't get size: 0x800000000000000e
. If so, you need to turn off TPM and Secure Boot in the BIOS*:
- Reboot
- Hold F12 while booting to enter the boot menu
- Disable Firmware TPM and TPM under the security tab, and Securet Boot under the boot tab (see images below
* I don’t know what TPM or Secure Boot do or what the implications of turning it off are, other than that I can now install Ubuntu. You might want to do some of your own research here.
Change Storage Controller to AHCI
Continue with the guide. You should now be able to boot into Ubuntu, but it might not let you install it. It’s likely that at this point, the installer pops up an error message and directs you to help.ubuntu.com/rst. If you read through that thread, you’ll see a long set of instructions along with several Dell users saying that they didn’t work. Instead of following these instructions, do the following (this worked for me and several other Dell users who commented on that page):
- Run
bcdedit /set {current} safeboot minimal
in Windows as administrator - Reboot into BIOS setup and change storage controller to AHCI (i.e., change ‘SATA Operation’ from ‘RAID on’ to ‘AHCI’ – see image below)
- Continue to boot in Windows safemode and run
bcdedit /deletevalue {current} safeboot
as administrator - Reboot back into Windows.
This changes your storage controller from RST to AHCI, and allows Ubuntu to understand the disk layouts. Before this change, your device manager shows these storage controllers:
And after the change, you should see this:
Make space for Ubuntu
My XPS 8930 came with an SSD and a normal hard disk. You’ll want Ubuntu running on the SSD, as that’s much faster. In order to do this you need to shrink the Windows partition in Disk Management:
I allocated 300gb for my Ubuntu partition, and ended up with this:
Finish installing Ubuntu
Now that this is all done, you can boot off the flash disk again and install Ubuntu on the new partition you created. Make sure you specify that partition as ‘Ext4 journaling file system’ and set the mount point as ‘/’.
…and we’re done! This was a lot more involved than expected, but past this point Ubuntu 20.04 has been great – the Nvidia drivers were already there, so installing CUDA was just a one-liner.
This is very helpful! Would it be possible that you provide a Paypal account? I want to donate a cup of coffee.
That’s really kind, thank you! I’m glad I managed to save you some time.
I haven’t got around to adding a donation button to my blog yet – would you consider donating to GiveDirectly instead? https://donate.givedirectly.org
That’s even a cooler idea, I didn’t know this website. I have donated $10 in your name!