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.zip
just choose the one with the same name.
After decompression, find \EFI\CLOVER\drivers\off\NvmExpressDxe.efi
and 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 EFI
and put the decompressed files into this partition.
Make sure there is EFI
a 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.plist
copy and rename it config.plist
.
Modify config.plist
configuration, 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 Timeout
set 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
, Volume
these can EFI/CLOVER/misc/preboot.log
be 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-boot
booted 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 refresh
to 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