Using Clover to boot the motherboard does not support systems on NVMe solid-state drives (take starting the NVME solid-state RAID1 PVE system on the R730XD server as an example)

background

The R730XD server is quite good, but it lacks the NVME driver and cannot directly boot the system on NVME. With the help of Black Apple's commonly used boot tool: Clover, you can boot the system on NVME.

step

1. Prepare Clover

Go to github to download the latest version of Clover : CloverV2-5XXX.zipjust choose the one with the same name.
After decompression, find \EFI\CLOVER\drivers\off\NvmExpressDxe.efiand copy a copy to \EFI\CLOVER\drivers\UEFI\the directory to enable Clover's NVME driver, otherwise the NVME hard disk cannot be found .

2. Write Clover to the boot disk

Just use the hard disk/U disk that can be recognized natively by the motherboard as the boot disk. Use Diskgenius to create a new partition on the boot disk EFIand put the decompressed files into this partition.
Make sure there is EFIa directory named

3. Try to boot the system

Change the boot disk to the first priority in the BIOS, and you should be able to see the Clover interface after startup. If you can see the corresponding system at this time, just choose to start it.
If you don't see it, press the "F3" key to display all hidden boot items (usually the first item is Clover itself).
Press the "F2" key to leave a startup log for subsequent quick startup settings.
Just try to find the correct startup item.

4. Set up quick startup

If we want to start quickly, we need to adjust the configuration file first, make a \EFI\CLOVER\config-sample.plistcopy and rename it config.plist.
Modify config.plistconfiguration, official documentation .

Note: Some fields in the example configuration are marked ?, which means that the configuration is not enabled, so check it carefully and ?remove it if you want to enable it.

First Timeoutset it to 0 (the GUI will not be started at this time, it is pure text, and it will start immediately):

<key>Timeout</key>
<integer>0</integer>

If you cannot find the startup items directly, there are two ways to set the startup items. Choose either one.

1. Add custom startup items

Add a new dict directly under Custom's Entries to add a new startup item. You only need to manually start it once. Clover will start the last startup item by default.

<key>GUI</key>
<dict>
    ...
    <key>Custom</key>
    <dict>
        <key>Entries</key>
        <array>
            <dict>
                <key>Path</key>
                <string>\EFI\BOOT\BOOTX64.efi</string>
                <key>Type</key>
                <string>OS</string>
                <key>Title</key>
                <string>My Custom Boot Entry</string>
                <key>Volume</key>
                <string>HD(2,GPT,289E11B5-A439-4477-AEBE-89251F1E0F7F,0x800,0x200000)</string>
            </dict>
        </array>
    </dict>
</dict>

Importantly Path, Volumethese can EFI/CLOVER/misc/preboot.logbe found in (the file generated by pressing "F2")

2. Set DefaultLoader and DefaultVolume

DefaultVolume

<key>DefaultVolume</key>
<string>MacHDD</string>

DefaultVolume is used to specify the default startup items in the Clover GUI. It can also see DefaultLoader. It can be set to:

  • Volume Name - The name of the volume. For example, Macintosh.
  • GUID - The globally unique identifier of the volume that appears in Clover's boot, pre-boot, or debug logs. For example, 57272A5A-7EFE-4404-9CDA-C33761D0DB3C.
  • Part of the device path - also shown in Clover's logs. For example, HD(1,GPT,57272A5A-7EFE-4404-9CDA-C33761D0DB3C,0x800,0xFF000).
  • LastBootedVolume - The last booted volume will be set as the default volume in the Clover GUI.

The OS X boot disk can be used to reboot to another volume, but for subsequent reboots the DefaultVolume will be used again.

DefaultLoader

<key>DefaultLoader</key>
<string>BOOTX64.efi</string>

In addition to the DefaultVolume mentioned above, the path to the loader can be specified as DefaultLoader. This provides more precise selection of defaults for volumes with multiple loaders. The value can be a full path or a unique part like a filename.

But for some reason, I couldn't successfully boot using this method and would stay on the Clover page. Finally, I used the first method.

postscript

The PVE I used to boot using custom startup items was systemd-bootbooted instead of the common one grub. Please refer to the official documentation for the difference between the two .
You will need to change it later when you want to enable IOMMU /etc/kernel/cmdline.
Will

root=ZFS=rpool/ROOT/pve-1 boot=zfs

Change to

root=ZFS=rpool/ROOT/pve-1 boot=zfs intel_iommu=on iommu=pt

Use it again proxmox-boot-tool refreshto update and apply after restarting

References

https://blog.naturalwill.me/2020/06/13/boot-on-nvme-sdd-with-clover/
https://zhuanlan.zhihu.com/p/137604937
https://www.insilen.com/post/501.html

Guess you like

Origin blog.csdn.net/Reven_L/article/details/132794522