I have a Dell Optiplex 3040MT which runs Ubuntu 19.04 from an HDD via UEFI. I installed a NVMe SSD through a PCIe card adapter; Ubuntu sees it and I have R/W acccess. I want to use the SSD as my main drive, but the computer does not support booting to a NVMe SSD. The BIOS does not see the drive in the Boot or Hard Drive section. Under the expansion ports it see it as Storage, but does not see it as a boot device.

On a Raspberry Pi there is a process to boot from one drive but run the OS from another drive.


I tried that with Ubuntu, but it is still running from the HDD. How do I get Ubuntu to boot from the HDD and run from the NVMe SSD?

Response to questions:

The NVMe adapter is this one http://www.qnine99.com/goods.php?id=39

The SSD is a Toshiba 05DFH6 - PCIe Gen 3 4 lanes

doby - Last night I installed Ubuntu again trying what you said to do. I put the boot partition on the HDD and put the root partition on the SSD. After the install I rebooted and it came up to a grub prompt. I have no idea what to do there to get it to boot into Ubuntu.

Another round of installs, still only booting to the grub prompt. Here is what I tried. 1. Install from USB and created the following partitions: / on NVME biosgrub on HDD efi on HDD

I tried installing the bootloader to the biosgrub partition on the HDD. I tried installing the bootloader to the efi partition on the HDD. I tried installing the bootloader to the /dev/sda the HDD.

Each time after the install it reboots back to the grub prompt.

What am I doing wrong?

More snooping I find that I can see both the SSD and the HDD from the grub prompt. I can see the following when I run 'ls' at the grub prompt: (proc) (hd0) (hd0,gpt2) (hd0,gpt1) (hd1)

(hd0) is the HDD it has 2 partitions

(hd1) might be the SSD. But the Total size is very small, so I don't know.

(hd0) partition (hd0,gpt2) - Filesystem type fat - Total size 976896KiB

(hd0) partition (hd0,gpt1) - Filesystem type fat - Total size 96256KiB

(hd1) Device hd1: No known filesystems detected - Total size 514KiB

Can someone tell me, is (hd1) my SSD? If not, what is it and how do I get grub to detect my SSD?

  • It's easiest pulling out HDD temporarily leaving and doing all the work on the SSD to get computer booting off it and loading operating system. Afterwards put the HDD back in. Oct 14, 2019 at 22:25
  • 1
    If you have a NVMe drive, system should support booting from it. You may need to update UEFI from Dell, update SSD firmware & since Dell change RAID/Intel RST to AHCI mode in UEFI for drives to be seen. If dual booting with Windows, first install AHCI driver into Windows.
    – oldfred
    Oct 14, 2019 at 22:38
  • Are you using legacy boot? Seems that some NVME SSD do not support boot over legacy bios (eg Samsung 970 EVO)
    – jsalatas
    Oct 15, 2019 at 0:52
  • Dell documentation says that the Optiplex 3040 does not support booting from NVMe. So taking the HDD out does no good. The system has the latest firmware, but still no support for booting from NVMe. I tried both UEFI and Legacy, no go.
    – KevinW
    Oct 15, 2019 at 3:28
  • @KevinW 1) What's the make and model of your PCIe -> NVMe add-in card? 2) Do you have a URL for their manual? 3) Please run parted -l 4) Please click edit and add all that info into your question so all may see it. Please don't use Add Comment; instead, use edit.
    – K7AAY
    Oct 15, 2019 at 14:47

2 Answers 2


You will need to install Ubuntu to the NVMe drive, but install grub to the boot sector of the SATA drive. Then you should boot from the SATA drive with the NVMe as the main storage medium while running Ubuntu.

You likely will also need to have the /boot partition with the kernel and initrd on the SATA drive, in case grub also cannot not see the NVMe as storage.

  • You might need to put /boot on the SATA drive and have the drivers for the NVMe in the initrd so that the NVMe is recognized by the kernel.
    – doneal24
    Oct 15, 2019 at 17:38

The manual for the Small Form Factor (3040m) version of the Optiplex 3040 states its motherboard has no NVMe support (ref.: table 25, page 42), so you would need to add an NVMe capable controller card for that drive to get it to boot.

The manual for the Mini Tower variant also shows (pg. 43) no NVMe support, only SATA support.

Which Optiplex do you have? Please refer to this chart:

Chart of Optiplex 3040 dimensions

  • 1
    I have the MT. And I have a PCIe to NVMe adapter to put the SSD into the computer. The BIOS does not see the drive in the Boot or Hard Drive section. Under the expansion ports it see it as Storage, but does not see it as a boot device.
    – KevinW
    Oct 15, 2019 at 3:32
  • @KevinW Thanks, I was kinda puzzled there.
    – K7AAY
    Oct 15, 2019 at 14:37

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.