Lenovo Thinkpad X270 issue with NVMe disk

3

I bought a Lenovo Thinkpad X270 2 month ago and I needed to use Windows and OpenBSD on 2 differents hard drive. Fortunately, this Thinkpad had a free PCI-e port available NVMe compatible (M.2 2242 format), I bought a Transcend TS256GMTS400.

After 3 weeks without any kind of issue, the Transcend seemed defectuous and after a simple smartctl test, my system (running OpenBSD at this time) crashed. The Transcend hard disk was not usable anymore and my OpenBSD data was gone.

I decided to try another brand, I bought this time a Toshiba RC100 240G. I installed OpenBSD on it for a first time, but, this new disk did not appear when I press the F12 key at startup for choosing the boot device. Strange thing, because the transcend was present on the boot list. So, I decided to try to reinstall OpenBSD a second time: same issue. I tried to install Linux Mint and... I still can't see the disk on the boot device list!

After that I:

  • installed OpenBSD (1) with Full Disk Encryption (FDE) with UEFI support
  • installed OpenBSD (2) without FDE with UEFI support
  • installed OpenBSD (3) without UEFI support (classical installation)
  • installed Linux Mint (classical installation)
  • updated the BIOS firmware
  • updated the Toshiba firmware to the last version
  • plugged/unplugged the Toshiba SSD (2 times)
  • installed the Toshiba SSD Utility tool: all is good
  • after installed Linux on the toshiba hard drive, the default boot loader is not windows anymore, but grub, I don't know why
  • reset the BIOS with default configuration
  • sent a hater tweet and waiting for some computer gods (should I sacrify something?!)
  • after another reboot, I can now see a "ubuntu" in the boot list. To be honest, I don't know what I did... We'll see if another OpenBSD installation will change something.
  • used installboot(8) manually on the toshiba hard drive

For your information, if I plug an USB drive, I can see it on the boot device list, I can also the other NVMe disk (samsung), my first transcend disk was also present on this list.

The disk is present during the BIOS diagnostic at startup, but I cannot choose it when I want to select my bootable device. I tried different configuration on the BIOS with UEFI, Legacy method and nothing work.

Do you have an idea why? Maybe I missed something during the configuration or NVMe devices are not seen like a disk by the bios?

Installing bootstrap on first NVMe disk

I don't find a clean solution, and does't solve my first issue: where is my NVMe hard drive in the boot list, but it gives the opportunity to switch from windows to OpenBSD on the UEFI boot list.

On Windows, I used diskpart tool to mount the EFI partition and remove ubuntu directory, moved also Boot directory to Boot.old. I did not touch the Windows directory.

C:\> DISKPART
DISKPART> sel disk 0
DISKPART> sel volume 2
DISKPART> assign letter Z:

On OpenBSD, or whatever unix system, I created a Boot directory in EFI partition and copied the file bootx64.efi in it. I can now boot on the Toshiba hard drive with the Samsung one. I did the same with an USB flash drive, and work.

# mount /dev/sd2i /mnt
# cd /mnt/EFI
# mv Boot Boot.old
# rm -rf ubuntu
# mkdir Boot
# cp /usr/mdec/BOOTX64.EFI Boot

At boot, you should see the OpenBSD bootprompt, you must set manually your booting device, sr drive for NVMe. Here the code sample:

boot> set device sr0a
boot> boot

Only one NVMe disk can boot

If you have 2 NVMe disks on your Thinkpad X270, it seems you can only boot on one of them, here the solution given by incidentflux on the Lenovo Forum:

A dual drive SSD config is possible as follows:

Option 1 - 500MBps/Value - SATA (AHCI)

With SATA (AHCI) cable: 1. Drive 1 in 2.5 inch bay: 2.5 inch SSD with SATA connector cable 2. Drive 2 in WWAN slot: m.2 2242 SSD (look up B or M keying)

FRUs Required: 01HW968, CRU ID:2, FRU HDD Cable for SATA HDD/SSD, 01HY565 CRU ID:N FRU M.2 Adapter&HDD Bracket ASM

Option 2 - Fastest/Pricey - m.2 (PCIe) Or with an M.2 (PCIe) cable:

  1. Drive 1 in 2.5 inch bay: m.2 NVMe (m.2 cradle inside a 2.5" caddy)
  2. Drive 2 in WWAN slot: m.2 2242 SSD (look up it's B or M keying)

FRUs Required: 01HW969, CRU ID:2, - FRU HDD Cable for PCIe SSD, 01HY565 CRU ID:N FRU M.2 Adapter&HDD Bracket ASM

When ordering, the SATA or m.2 NVMe option, the cable Lenovo provides, for m.2 nvme SSD is key to your future expansion.

SATA cable is provided with SATA Webstore option and m.2 cable is provided with m.2 Webstore option.

I think that's why its not in self service (See pages 55, 56, 77, 78 of HMM). Major FRU Part numbers 8a, 8b, 9a, 9b, 10a, 10b.

Does not answer my question, but give you some hints of you need to buy a Lenovo Thinkpad X270 and add another drive. Anyway, if you are like me and don't really understand what is B or M keying, you can find more information about that on Republic of Gamers website. The big picture: it is the numbers of pins (socket) on the PCI-e connector of your NVMe SSD.

enter image description here

Mathieu Kerjouan

Posted 2019-01-28T18:06:56.373

Reputation: 131

Answers

1

I would check the X270 Hardware Maintenance Manual. It seems that it is possible to have 2 NVMe, a person has described his solution on Lenovo Forums site here.

Victor Ivanov

Posted 2019-01-28T18:06:56.373

Reputation: 74

1You're right, my first Transcend SSD was not NVMe but was using SATA interface. I don't have another M.2 2242 format to test that. I will correct my question, thanks. – Mathieu Kerjouan – 2019-01-29T15:04:44.143

1Only a partial answer. their no solution actually to boot with 2 NVMe disk, so their no solution actually. But I will add a summary of the link. – Mathieu Kerjouan – 2019-01-31T08:28:57.527

Thank you for exploring the case, and adding the summary, Mathieu! I would have done it, but my laptop is not X270, so I restrained myself from giving advises that could proof useless afterwards. – Victor Ivanov – 2019-01-31T14:31:14.860

It seems the WWAN port does NOT support nvme. Can anyone confirm? – RichieHH – 2020-02-11T20:51:06.103