EFIShell Bootloop Issue with NVMe Card Installed on pfSense (FreeBSD) Mainboard
If you have installed a new NVMe card on your pfSense (FreeBSD) mainboard and are facing a bootloop issue, this article will guide you through the process of resolving it. The issue arises because the BIOS does not have drivers for NVMe, and the system gets stuck in a bootloop. One solution is to install an EFI shell and a SATA disk, but let's dive deeper into the topic.
Understanding the Issue
The bootloop issue occurs when the BIOS is unable to recognize the NVMe card. This is because BIOS does not have built-in drivers for NVMe cards. The system gets stuck in a loop, trying to boot from the NVMe card and failing each time. To resolve this issue, you can follow the steps outlined below.
Installing an EFI Shell
The EFI shell is a command-line interface that allows you to perform various tasks before the operating system starts. You can use the EFI shell to boot from a different device, such as a SATA disk, instead of the NVMe card. Here are the steps to install an EFI shell:
Download an EFI shell from a trusted source, such as the UEFI Forum.
Transfer the EFI shell to a USB drive or a SATA disk.
Restart your system and enter the BIOS setup.
Enable the EFI shell and set it as the first boot device.
Save the settings and exit the BIOS setup.
Installing a SATA Disk
Once you have installed the EFI shell, the next step is to install a SATA disk. This disk will be used to boot the system instead of the NVMe card. Here are the steps to install a SATA disk:
Shut down your system and install a SATA disk in an available bay.
Connect the SATA disk to the SATA port on the motherboard.
Power on your system and enter the EFI shell.
Use the
fs0: command to access the SATA disk.Use the
dircommand to list the files on the SATA disk.Use the
fs0:\efi\boot\bootx64.eficommand to boot from the SATA disk.
Installing pfSense on the SATA Disk
Now that you have installed a SATA disk and booted from it, the next step is to install pfSense on the SATA disk. Here are the steps to install pfSense on the SATA disk:
Download the pfSense installer from the pfSense website.
Transfer the pfSense installer to a USB drive or a CD.
Restart your system and enter the EFI shell.
Use the fs0: command to access the USB drive or CD.
Use the dir command to list the files on the USB drive or CD.
Use the fs0:\boot\bootia32.efi or fs0:\boot\bootx64.efi command to boot from the USB drive or CD.
Follow the prompts to install pfSense on the SATA disk.
In this article, we discussed the bootloop issue that occurs when you install an NVMe card on a pfSense (FreeBSD) mainboard. We provided a solution that involves installing an EFI shell and a SATA disk. We then walked through the process of installing pfSense on the SATA disk. By following these steps, you should be able to resolve the bootloop issue and use your NVMe card with pfSense (FreeBSD).
References
UEFI Forum: https://uefi.org/
pfSense: https://www.pfsense.org/