New installation on PCi NVMe including boot.

Finally started installation on my newly acquired HP Z640 with 2TB NVMe on PCi card. The system at present has small SSD drive with windoze 10 installed. I have installed the NVMe card in the PCi x4 slot and am getting ready to do a network installation of Leap 15.3 on the NVMe. How do I enable the BIOS to boot from NVMe and how may I allow installation to incorporate windoze in the usual way for a dual boot.

The machine has a slot for an hard drive but it is only for SATA drives. I have a spare 2TB SAS drive so am thinking of putting in a SAS controller. There are many HP add in cards for hard drives. What is the HP number of the best card for my purposes. I do not need raid but if a raid card is available I can compare prices of what is available on line. Grateful for some advice please.

Assuming windoze was installed in UEFI mode, and assuming the PC BIOS allows to boot directly from NVME:

  1. disable CSM entirely in BIOS, so that only booting in UEFI mode is possible.
  2. Strike the F9 or ESC or other key as appropriate during POST to call up the BBS menu
  3. Select installation media for boot
  4. During the partitioning step, check the box for Grub to “probe foreign OS” to include windoze in Grub’s boot menu
    *]Complete installation

Or just unplug the device and leave windows to it’s own efi and create efi on the nvme partition… then post install use efibootmgr to ensure openSUSE is the default. Power down hook up the ssd and rock on…

My HP Z440;

efibootmgr -v 
BootCurrent: 000A
Timeout: 0 seconds
BootOrder: 000A,0000

Boot0000* Windows Boot Manager	HD(1,GPT,,75fb0599-....

Boot000A* opensuse	HD(1,GPT,730923e6-.....

Windows 10 Pro

sdb           8:16   0 111.8G  0 disk 
├─sdb1        8:17   0   260M  0 part 
├─sdb2        8:18   0    16M  0 part 
└─sdb3        8:19   0 111.5G  0 part

openSUSE Tumbleweed

nvme0n1     259:0    0 476.9G  0 disk 
├─nvme0n1p1 259:1    0   248M  0 part /boot/efi
├─nvme0n1p2 259:2    0    56G  0 part /
├─nvme0n1p3 259:3    0    19G  0 part /home
├─nvme0n1p4 259:4    0    14G  0 part /opt
├─nvme0n1p5 259:5    0    14G  0 part /usr/local
├─nvme0n1p6 259:6    0   139G  0 part /data
├─nvme0n1p7 259:7    0   139G  0 part /var/lib/docker
├─nvme0n1p8 259:8    0    94G  0 part /var/lib/libvirt
└─nvme0n1p9 259:9    0   1.7G  0 part [SWAP]

Many thanks to both. I asked because my other machines could not boot from NVMe but I from Malcolm that his Z440 can but he had to make some changes. What is the setting that I need for NVMe boot on the HP?
Also what SAS card for the Z640?

Nothing to change in the BIOS for my X4 (742006-004 HP Z Series Workstation Z440 Z640 Z840 MS-4365 Z Turbo G2 M.2 PCI-e) card and NVME device, I just went into the advanced section slot config and see it’s active in the slot and set to auto.

As for the RAID device, you need to look in the tech info (you have a link in one of the other posts) on supported SAS (I see only in the quickspecs for a HP Z440 - LSI 9217-4i4e 8-port SAS) cards.

Can you also advise the model of the NVME device? I know that the WDC NVME device I tried did not work as it has a funky controller…

Hi, not rocking yet. Installation went OK and using F9 I was able to select the NVMe on slot 3 and booting went fine but when I tried to use efibootmgr I had an error message:-

EFI variables are not supported on this system

What next please?

That usually means installation occurred in CSM mode (non-UEFI), because you booted installation media in CSM mode by choosing the wrong USB device from the F9 menu. :frowning: Most UEFI BIOS will present a UEFI bootable USB device twice, once for UEFI mode, the other for CSM/legacy/other.

I have secure and legacy boot disabled in my system via the BIOS settings… but F9 should give the option to boot in efi mode.

I think inadvertently I failed to take mrmazda’s advice. BIOS was so different from what I am used to with the IBMs and think I did it wrong. Am starting over. My mistake.

Then it’s likely you installed windows in legacy mode as well?

OK so FYI the NVMe card is a x4 PCI Express to M.2 PCIe SSD Adapter and the memory is Kingston SNVS/2000G. I used this setup on the old IBM servers to bring them into this decade and I have only just ben able to start on the new brilliant HP Z640 machine after a bumpy start.

The machine now looks like this:-

alastair@localhost:~> inxi -Fxxz
  Kernel: 5.3.18-59.24-default x86_64 bits: 64 compiler: gcc v: 7.5.0 
  Desktop: KDE Plasma 5.18.6 tk: Qt 5.12.7 wm: kwin_x11 dm: SDDM 
  Distro: openSUSE Leap 15.3 
  Type: Desktop System: Hewlett-Packard product: HP Z640 Workstation v: N/A 
  serial: <filter> Chassis: type: 6 serial: <filter> 
  Mobo: Hewlett-Packard model: 212A v: 1.01 serial: <filter> UEFI: Hewlett-Packard 
  v: M60 v02.57 date: 05/21/2021 
  Topology: 6-Core model: Intel Xeon E5-2620 v3 bits: 64 type: MT MCP arch: Haswell 
  rev: 2 L2 cache: 15.0 MiB 
  flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx bogomips: 57463 
  Speed: 1424 MHz min/max: 1200/3200 MHz Core speeds (MHz): 1: 2340 2: 2379 3: 2030 
  4: 2133 5: 2003 6: 1911 7: 1932 8: 2137 9: 2283 10: 2565 11: 1997 12: 1884 
  Device-1: NVIDIA G98 [Quadro NVS 295] driver: nouveau v: kernel bus ID: 02:00.0 
  chip ID: 10de:06fd 
  Display: x11 server: 1.20.3 compositor: kwin_x11 driver: nouveau 
  unloaded: fbdev,modesetting,vesa alternate: nv,nvidia 
  resolution: <xdpyinfo missing> 
  OpenGL: renderer: NV98 v: 3.3 Mesa 20.2.4 direct render: Yes 
  Device-1: Intel C610/X99 series HD Audio vendor: Hewlett-Packard 
  driver: snd_hda_intel v: kernel bus ID: 00:1b.0 chip ID: 8086:8d20 
  Sound Server: ALSA v: k5.3.18-59.24-default 
  Device-1: Intel Ethernet I218-LM vendor: Hewlett-Packard driver: e1000e v: 3.2.6-k 
  port: 3040 bus ID: 00:19.0 chip ID: 8086:15a0 
  IF: eth0 state: up speed: 1000 Mbps duplex: full mac: <filter> 
  Local Storage: total: 2.73 TiB used: 1.09 TiB (39.9%) 
  ID-1: /dev/nvme0n1 vendor: Kingston model: SNVS2000GB size: 1.82 TiB 
  speed: 31.6 Gb/s lanes: 4 serial: <filter> 
  ID-2: /dev/sda vendor: Western Digital model: WD1003FBYX-23 43W7629 42C0401IBM 
  size: 931.51 GiB speed: 6.0 Gb/s serial: <filter> 
Use of uninitialized value $row{"type"} in string eq at /usr/bin/inxi line 13420.
Can't use an undefined value as an ARRAY reference at /usr/bin/inxi line 13447.

Booting is fine but I am not sure what was meant by default.

This is what I have for booting:-

alastair@localhost:~> sudo efibootmgr -v
[sudo] password for root: 
BootCurrent: 000C
Timeout: 5 seconds
BootOrder: 000C,000E,000F,0009,0010,000D,000A,0013,0000,0001,0002,0003,0004,0005,0006,0007,0008,000B,0012
Boot0000  Startup Menu  FvVol(cdbb7b35-6833-4ed6-9ab2-57d2acddf6f0)/FvFile(9d8243e8-8381-453d-aceb-c350ee7757ca)....ISPH
Boot0001  System Information    FvVol(cdbb7b35-6833-4ed6-9ab2-57d2acddf6f0)/FvFile(9d8243e8-8381-453d-aceb-c350ee7757ca)......ISPH
Boot0002  Bios Setup    FvVol(cdbb7b35-6833-4ed6-9ab2-57d2acddf6f0)/FvFile(9d8243e8-8381-453d-aceb-c350ee7757ca)......ISPH
Boot0003  3rd Party Option ROM Management       FvVol(cdbb7b35-6833-4ed6-9ab2-57d2acddf6f0)/FvFile(9d8243e8-8381-453d-aceb-c350ee7757ca)......ISPH
Boot0004  System Diagnostics    FvVol(cdbb7b35-6833-4ed6-9ab2-57d2acddf6f0)/FvFile(9d8243e8-8381-453d-aceb-c350ee7757ca)......ISPH
Boot0005  System Diagnostics    FvVol(cdbb7b35-6833-4ed6-9ab2-57d2acddf6f0)/FvFile(9d8243e8-8381-453d-aceb-c350ee7757ca)......ISPH
Boot0006  System Diagnostics    FvVol(cdbb7b35-6833-4ed6-9ab2-57d2acddf6f0)/FvFile(9d8243e8-8381-453d-aceb-c350ee7757ca)......ISPH
Boot0007  System Diagnostics    FvVol(cdbb7b35-6833-4ed6-9ab2-57d2acddf6f0)/FvFile(9d8243e8-8381-453d-aceb-c350ee7757ca)......ISPH
Boot0008  Boot Menu     FvVol(cdbb7b35-6833-4ed6-9ab2-57d2acddf6f0)/FvFile(9d8243e8-8381-453d-aceb-c350ee7757ca)......ISPH
Boot0009  USB:          BBS(65535,,0x0)/PciRoot(0x0)/Pci(0x1d,0x0)......ISPH
Boot000A* WD1003FBYX-23 43W7629 42C0401IBM      BBS(HD,Harddisk1,0x400)/PciRoot(0x0)/Pci(0x11,0x4)......ISPH
Boot000B  Network Boot  FvVol(cdbb7b35-6833-4ed6-9ab2-57d2acddf6f0)/FvFile(9d8243e8-8381-453d-aceb-c350ee7757ca)......ISPH
Boot000C* opensuse      HD(2,GPT,2a324073-6a4a-479d-8b55-835a8ed62472,0x4800,0x100000)/File(\EFI\opensuse\grubx64.efi)
Boot000D* IBA GE Slot 00C8 v1550        BBS(Network,Network1,0x0)/PciRoot(0x0)/Pci(0x19,0x0)......ISPH
Boot000E  USB:          PciRoot(0x0)/Pci(0x1d,0x0)N.....YM....R,Y.....ISPH
Boot000F* hp PLDS DVDRW DU8AESH         PciRoot(0x0)/Pci(0x1f,0x2)/Sata(0,0,0)N.....YM....R,Y.....ISPH
Boot0010* hp PLDS DVDRW DU8AESH         BBS(CDROM,CDROM1,0x400)/PciRoot(0x0)/Pci(0x1f,0x2)......ISPH
Boot0012  HP Recovery   FvVol(cdbb7b35-6833-4ed6-9ab2-57d2acddf6f0)/FvFile(9d8243e8-8381-453d-aceb-c350ee7757ca)......ISPH
Boot0013* NVMe Slot 3   BBS(HD,Harddisk1,0x400)/PciRoot(0x0)/Pci(0x1c,0x4)/Pci(0x0,0x0)......ISPH

Before I put the SSD hard drive back, which has the windoze system installed, what should I do to have the windoze drive recognised and added to grub?
The WD drive is a SATA drive I had available. Cannot use the SAS 2TB as this machine needs card for SAS, hence my question. Available on line but no funds for a bit!
Other than this the new system is quite fast but I have some work to do on the Kensington Expert mouse because the slightest touch on the scroll wheel tends to jump between windows when only using console. Seems fine when in full screen browser. Not found any good documentation yet.
Also will have to tweak screen resolution. The script is so tiny I shall need specs soon!

Just shutdown and connect the SSD and boot, the openSUSE entry is the default (000C), then fire up YaST bootloader and make sure the probe foreign os is checked, make a change to say the timeout to 7 seconds and save. Check the output from efibootmgr again to ensure the windows entry is there… If it decides to boot direct into Windows, just reboot and press either F10 to go into the BIOS and change the boot order, or F9 to select openSUSE and use the above YaST step.

Hi Malcolm,
almost there. Everything working as expected except that the 1TB SATA drive which I put in for multimedia does not show using the yast partitioner.
I am looking for /dev/sda which is showing fine below but what I had intended was to format it with xfs as a precursor to mounting it in my Leap system.
Where has it gone when using partitioner?

alastair@localhost:~> sudo fdisk -l
[sudo] password for root: 
Disk /dev/nvme0n1: 1.82 TiB, 2000398934016 bytes, 3907029168 sectors
Disk model: KINGSTON SNVS2000GB                     
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: DE9B41E3-E61F-48E0-8507-16E59543B59D

Device              Start        End    Sectors  Size Type
/dev/nvme0n1p1       2048      18431      16384    8M BIOS boot
/dev/nvme0n1p2      18432    1067007    1048576  512M EFI System
/dev/nvme0n1p3 3902834688 3907029134    4194447    2G Linux swap
/dev/nvme0n1p4    1067008 3902834687 3901767680  1.8T Linux filesystem

Partition table entries are not in disk order.

Disk /dev/sda: 931.51 GiB, 1000204886016 bytes, 1953525168 sectors
Disk model: WD1003FBYX-23   
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk /dev/sdb: 238.47 GiB, 256060514304 bytes, 500118192 sectors
Disk model: Samsung SSD 850 
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 801192DE-C5E3-459A-BFC7-32486A44F780

Device         Start       End   Sectors   Size Type
/dev/sdb1       2048    206847    204800   100M EFI System
/dev/sdb2     206848    239615     32768    16M Microsoft reserved
/dev/sdb3     239616 499091892 498852277 237.9G Microsoft basic data
/dev/sdb4  499093504 500115455   1021952   499M Windows recovery environment

Your NVME is BIOS boot… or it’s being ignored? your sdb is UEFI boot…

For sdb is there, but you have not created a partition on the device yet?

I would have looked to see if the NVME can be configured for 4096 rather than 512?

nvme list
Node             SN                   Model                                    Namespace Usage                      Format           FW Rev  
---------------- -------------------- ---------------------------------------- --------- -------------------------- ---------------- --------
/dev/nvme0n1     xx                   PCC M.2 PCIe SSD                        1         512.11  GB / 512.11  GB      4 KiB +  0 B   ECFM32.1

nvme list
Node             SN                   Model                                    Namespace Usage                      Format           FW Rev  
---------------- -------------------- ---------------------------------------- --------- -------------------------- ---------------- --------
/dev/nvme0n1     xx                   WDC WDS250G1B0C-00S6U0                   1         250.06  GB / 250.06  GB      4 KiB +  0 B   201000WD

Hi Malcolm, you have lost me here. AFAIK fdisk shows all that I expected, NVMe is entirely for Leap 15.3 and SSD on /dev/sdb is entirely for windoze.

Why does /dev/sda not show in the partitioner?

If I want to change the block size I shall have to reformat and install again. Is that what you suggest?

I shall try and find the earlier thread as I remember you suggesting I should use 4096. Why is this better?

Your call, but yes a fresh install (fix up the efi bit as well), on you 2TB nvme you should see a performance increase.

Have no ides for sda, did you delete the partition, or never created on… Have you tried mounting /dev/sda?

su -
mount /dev/sda /mnt
ls /mnt

What filesystem in use for / btrfs?

What is there to fix other than the block size? I didn’t think there was anything wrong with efi now.

So how do I go about changing the block size. Can I do it from the expert partitioner?

I understand your suggestion and will try mounting. I had assumed that the yast partitioning tool was similar to partition magic and it could work with bare metal.

I had a look at the hard drive in /dev/sda. It doesn’t have any partition table or anything else, so it is bare metal. I tried using gparted to create a partition table but everything I tried failed. Couldn’t create a gpt partition or a mdos partition. All failed. Out of my depth now. Is the drive at fault?

Check the cable and power connection…