[NVMe] Booting from NVMe drive
Installing Intel NVMe PCIe SSD Drive on Supermicro SYS-6018R (1U) system:
The Intel NVMe Drive only able to boot from the system when the BIOS is in UEFI mode, so it is necessary to set the BIOS to UFEI mode first:
Configure BIOS to UEFI mode:
- Enter BIOS by pressing DEL key at bootup
- Go to Advanced menu
- Go down to PCIe/PCI/PNP Configuration
- Enable the Above 4G Decoding
- Set NVME Driver to EFI
- For PCI Devices Option ROM setting, change all to EFI
- Change the Onboard Video OPROM to UEFI
- Go to Boot Menu
- change Boot Mode Select to Dual (optional, but will make sure the system is booting from the UEFI device, not Legacy device.)
- select Save Changes and Exit to restart the system.
Note: The Intel SSDPEDME800G4-CVMD609600Y9800BGN (our example) WILL NOT appear in the Boot device list, but will list as PCIe device.
As the system restarted, it is ready to install OS in UEFI mode.
Start the installation media in UEFI mode and continue the installation as normal.
For Windows (8, 8.1, 10), the installation is very similar to the non-UEFI installation. Only different is when it get to the partition screen, make sure to use "New" button for Windows to create all needed partition on drive (that will include a few partitions → Recovery (450MB) System (99MB), MSR-Reserved (16BM) and Primary (Remaining space of the drive.))
For Linux (centOS or Ubuntu): The installation will create the correct EFI partition (/boot/efi) in automatic partition, but for manual partition scheme, it is necessary to create the /boot/efi (efi file system, or vfat file system, size=50mb or less). the remain space will be using the Exxact Standard partition scheme.
After the installation is done, you will find a new entry in the "Boot Mode Select"
For Windows, it will be "Windows Boot Manager"
For CentOS, it will be "UEFI Hard Disk: CentOS"
For Ubuntu, it will be "UEFI Hard Disk: Ubuntu"
Select that option (or move to the top of the list) to boot the system
When the system is started with installed OS, the installation is completed.
Update for SYS-4028GR-TR2 system:
The Intel P3700 series PCIe SSD will work with Windows 10, and CentOS7.2. There are some BIOS setting need to change for that to boot.
In Boot Feature, the CSM Support need to be "Disabled"
In PCIe/PCI/PnP Configurartion, Onboard Video OPROM and the PCI-e slot for the NVMe drive need to set to "EFI"
Boot Mode Select need to "UEFI".
On reboot, an entry "UEFI Hard Disk:UEFI OS" will appear in the boot menu.
Note:
Windows 7 is not compatible with the UEFI, not NVMe.
The BIOS needs to be in UEFI mode for the NVMe to boot, but the Windows 7 will not work in UEFI mode (will not boot to desktop).
-----------------------------------
Scratched everything before.
Doing some quick research:
Windows
Windows highly prefers 8.1/10 since they have built in NVMe drivers. You could definitely see the driver at the OS level, but not so sure at the BIOS.
Also, preferably an Intel Processor released 2015 or later (Broadwell Xeons/Skylake Desktop CPU's).
EFI needs to be set on the PCIe or M.2 slot, in which the device is installed in.
Motherboard needs to support UEFI mode, some may require a BIOS update; but best if you just did a BIOS update right off the bat when setting up a system with newer components anyways.
The following Linux distys have 'out-of-box' NVMe drivers:
- RHEL 6.5/7.0 (So you can also list CentOS)
- SUSE 11 SP2
- Ubuntu 14.04 LTS
Ubuntu
Again, you can probably see it while installing the device; as long as you have the EFI set on the slot the NVMe device is installed on.
Setting the partition is the same, if you know what you're doing; a lot of instructional videos including how to setup basic Linux partitions on the NVMe device.
RHEL 7.0
'Out-of-box' drivers at least support UEFI. This article also nicely lists the naming conventions for NVMe devices:
- nvme0n1 - Device 0
- nvme0np1 - Device 0, partition 1
- nvme0np2 - Device 0, partition 2
- nvme1n1 - Device 1
- nvme1n1p1 - Device 1, partition 1
- nvme1n1p2 - Device 1, partition 2
Same article also reminds you that you can check for the device (helps if you know the manufacturer) by simply running a grep command with 'lspci'.
When partitioning these drives, make sure you are formatting the NVMe partitions to xfs.
Example:
mkfs.xfs /dev/nvme1np1
And if you know how to mount devices, the rest is pretty straightforward.