uxer But can larger than MBR size affect BIOS/UEFI boot in this case?
As long as the secondary bootstrap (if present) is within 2TB, the BIOS should have no problem loading it. After that it's up to the OS to cope.
uxer IIUIC, for this to work, I should have partitioned and installed in a certain way with *.EFI files.
Is this the correct certain way?
Yup. But, on reflection, you don't need to converto to GPT. It's possible to get both legacy BIOS and UEFI to boot using just MBR partitioning. You can see how this is done if you see how the OpenBSD USB install image is laid out which is as follows:
$ sudo fdisk /dev/sda
Welcome to fdisk (util-linux 2.39.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help): p
Disk /dev/sda: 124 MiB, 130021888 bytes, 253949 sectors
Disk model: Flash Drive
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00000000
Device Boot Start End Sectors Size Id Type
/dev/sda1 64 1023 960 480K ef EFI (FAT-12/16/32)
/dev/sda4 * 1024 11391 10368 5.1M a6 OpenBSD
Command (m for help): q
$
You make 2 partitions:
- one a FAT with ID
0xEF
which contains the \EFI\BOOT\*.EFI
UEFI bootloader files.
- another with ID
0xA6
which is the OpenBSD partition (further subdivided using a disklabel).
After that you install the bootstrap code using installboot
for legacy BIOS booting. UEFI BIOSes will just load the appropriate \EFI\BOOT\*.EFI
file from the EFI partition.
Can you see if installing the primary and secondary bootstraps on the disk using installboot gets you over the Non-system disk or disk error
? You could do this using the OpenBSD USB install image, but, try booting off the same drive and running the command first.
If that doesn't work, can you show the output of these commands at the bootloader prompt?
boot> machine diskinfo
boot> set
Also the output of:
fdisk sd0 # use correct disk for `sd0'
disklabel sd0 # "
Let's see if /
is the `a' partition in the disklabel (it usually is).