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.
- Samsung NVMe SSD with Windows 10
- Transcend SATA SSD with OpenBSD-current (FDE + UEFI support)
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:
- Drive 1 in 2.5 inch bay: m.2 NVMe (m.2 cradle inside a 2.5" caddy)
- 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.
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