OPNsense on Older Lenovo ThinkCentre Error 1962 – No Operating System Found

Started by roshan.uddika, September 21, 2026, 04:41:51 PM

Previous topic - Next topic
Problem

OPNsense installs successfully to the internal SATA SSD, but after removing the USB installer the Lenovo stops with "Error 1962: No operating system found." The SSD is visible in BIOS and Windows can install and boot from the same SSD, so the storage hardware itself is not necessarily faulty.

What did not solve it

Normal ZFS installation using the installer's GPT/UEFI Hybrid layout.

Normal UFS installation using the GPT/UEFI Hybrid layout.

Changing only the BIOS boot order.

Using CSM/Legacy settings while leaving the disk in the installer's normal GPT layout.

Creating an MBR installation without ensuring the FreeBSD slice was marked active and legacy boot code was written.

Working solution

The successful configuration used an MBR disk, a FreeBSD/BSD slice containing a UFS root filesystem, the FreeBSD slice marked ACTIVE, and legacy boot code written to both the disk MBR and the BSD slice.

1. BIOS settings used

Setting - - Value

CSM -- Enabled
Boot Mode - Auto
Boot Priority - Legacy First
Secure Boot --Disabled
SATA Mode --AHCI

2. Create the MBR/UFS layout

1. Boot the OPNsense installation USB and start the installer.

2. Choose Other Modes → Manual (Manual Disk Setup).

3. Identify the internal SSD carefully. In this case it was ada0 (Lexar SSD NS100 256 GB). Do not modify the USB installer disk.

4. Delete the existing GPT layout on the target SSD.

5. With the target SSD selected, choose Create → MBR (DOS Partitions).

6. Select the MBR disk and Create a partition of Type: freebsd using the disk capacity.

7. Select the new BSD slice (for example ada0s1) and create a freebsd-ufs partition.

8. Set the UFS partition mount point to / (root).

9. Finish the installation.

3. Repair the legacy boot chain from the OPNsense USB

If the Lenovo still reports Error 1962, boot the OPNsense USB again, log in as root, choose console option 8 (Shell), and first verify the target disk:

gpart show ada0

gpart set -a active -i 1 ada0

gpart show ada0

gpart bootcode -b /boot/mbr ada0

gpart bootcode -b /boot/boot ada0s1

After setting the active flag, gpart show ada0 should show the FreeBSD partition with [active]. The exact disk/slice names may differ on another machine; verify them before running any write command.

4. Power off and test

sync

shutdown -p now

After shutdown, remove the installation USB and start the Lenovo from the internal SSD. With the tested machine, OPNsense then booted successfully.

Why this happened

The evidence points to a firmware/boot-layout compatibility problem rather than an SSD failure. Older Lenovo systems are known to produce Error 1962 with some FreeBSD/OPNsense GPT boot layouts. The successful workaround was to use the older BIOS/MBR boot path and explicitly complete the FreeBSD legacy boot chain.

Important safety notes

These steps erase the selected target disk.

Never assume the internal disk is ada0; verify it on the machine being repaired.

Never run the bootcode commands against the USB installer by mistake.

This is a workaround for affected legacy Lenovo firmware; modern UEFI systems should normally use the standard OPNsense installer layout.

Record the OPNsense version and exact Lenovo model/BIOS version when publishing results, because installer and firmware behavior can change.

Suggested community post title

[SOLVED] OPNsense Error 1962 / No Operating System Found on Lenovo ThinkCentre – MBR + Active Slice + Legacy Bootcode

Short post summary

OPNsense installed normally to an internal SSD but an older Lenovo ThinkCentre returned Error 1962 after reboot. The SSD was confirmed good by installing and booting Windows. Standard GPT/UEFI Hybrid ZFS and UFS installs did not solve it. The working solution was an MBR installation with a FreeBSD BSD slice/UFS root filesystem, marking the FreeBSD MBR slice active, then writing /boot/mbr to the disk and /boot/boot to the BSD slice using gpart. After removing the USB, OPNsense booted normally.

Reference links to include in the community post

OPNsense Forum – existing Lenovo ThinkCentre Edge 72 Error 1962 discussion

FreeBSD Forums – Lenovo Error 1962 / GPT versus MBR discussion

OPNsense Tutorials and FAQs – suitable section for a polished HOWTO

Community troubleshooting note • Created from a successful real-world recovery • September 2026

Can't you just update the BIOS/UEFI and be done with it ?!

Not that I have anything against manual partitioning ofcourse :)
Weird guy who likes everything Linux and *BSD on PC/Laptop/Tablet/Mobile and funny little ARM based boards :)

If you booted into the USB through the CSM, it would make sense the installer would format the system meant to start the same way. The UEFI boot method has worked fine for me these past several releases.

I tend to shut off the CSM completely, disable secure boot and format the USB for strictly booting in UEFI mode.

In the installer, I think I chose the option ZFS UEFI Mode, no hybrid. It may be an advanced option. I also opt out of creating a swap partition. I haven't installed from ISO in a while since I setup the system in a VM and upgrade it there. Afterward, I use DD to put the the working system to a new disk and resize.

Quote from: yourfriendarmando on Today at 05:50:50 PMAfterward, I use DD to put the the working system to a new disk and resize.
Mind your SSD's partition alignment to avoid write amplification :)
Weird guy who likes everything Linux and *BSD on PC/Laptop/Tablet/Mobile and funny little ARM based boards :)

I have not seen ONE installer that cares about disk partition alignment, and they all tend to default to 8 byte alignment.

This part is complicated, and probably the huge reason I avoid installing from ISO unless a lot has changed across releases.

In a VM environment:

Install normally like I described above.

- Prepare a normal OPNsense installation as I described above, installed in a VM, to a VDisk of 14GB
- Confirm in /etc/fstab, that the only mountpoint is correctly using the GPT label, instead of block device:
  NO:  /dev/vt...p1 OR /dev/ada0p1 ... ...
  YES: /dev/gpt/efiboot0    /boot/efi msdosfs    rw    2    2
- prepare another Vdisk, partition with gdisk. I usually use a Linux-based distro, the utilities on them tend to not get in my way when partitioning.
- Start the first partition, EFI type, at 1MB into the disk, with size 255MB.
- Create a 2nd partition, FreeBSD-pZFS type (a504 on gdisk), size of about 15GB.
  - @nero355 It will start Aligned at 256MB.
- Still in Gdisk, Copy the names of the original partitions, efiboot0 and zfs0, respectively.
- I don't think FreeBSD cares about the File system labels as much as a Linux-based distro might.
- Format the EFI partition, mount both original and new EFI partitions, copy the contents of the original, over to the new one.
  - I even add a separate installation of Memtest86+ with grub, attached with various menu options and serial output for headless firewalls.
- dd the original ZFS partition, over to the new one.
- Disconnect both Vdisks, and start the VM with the Newly created Vdisk.
- Use zpool -e zOPN /dev/vtblk0p2 to expand the ZFS pool to use the remaining space above the original 14GB.

Customize your VM Firewall as much as you need, to avoid repeat work for multiple deployments

compress the image, and now you have an aligned image, ready for deployment of course in the config, replace references to vtblkX to ataX/nvmeX, and vtnetX... to igbX etc, that way the newly deployed hardware starts up with the correct interfaces ready to go. You can use the same EFI partition to store some configs from a more familiar OS to you, log into the console, copy the config.xml to /conf and reboot immediately.