SYS$EFI.SYS is the core bootstrap partition found on OpenVMS I64,
and it is comprised of a FAT partition containing various files.
The location of this file must be registered in the bootblock
structures using the DCL command SET BOOTBLOCK or by invoking the
sys$setboot.exe image.
This section contains both an example and a detailed description.
1 – Example
$ RUN SYS$SYSTEM:EFI$CP EFI$CP> initialize sys$common:[sys$ldr]sys$efi.tmp - /device_alias=efi:/create/size=256000/contiguous - vmsefi /nolog EFI$CP> mount sys$common:[sys$ldr]sys$efi.tmp - /device_alias=efi: vmsefi %EFI-I-SEEKMBR, searching for Master Boot Record %EFI-I-ONEPART, single- partition volume; no Master Boot Record partitioning %EFI-I-SEEKBPB, searching for BIOS Parameter Block %EFI-I-SEEKBPBOK, valid BIOS Parameter Block detected %EFI-I-MOUNTED, FAT volume VMSEFI has been mounted -EFI-I-NOPARTITION, the target volume is not partitioned EFI$CP> CREATE/DIRECTORY EFI:\EFI\ EFI$CP> CREATE/DIRECTORY EFI:\EFI\VMS\ EFI$CP> COPY VMS_LOADER.EFI EFI:\EFI\VMS\ EFI$CP> COPY IPB.EXE EFI:\EFI\VMS\ EFI$CP> DISMOUNT EFI: EFI$CP> EXIT $ SET FILE/NOMOVE SYS$COMMON:[SYS$LDR]SYS$EFI.TMP $ SET BOOTBLOCK SYS$SYSDEVICE:/I64
2 – Description
The example creates, initializes and populates the SYS$EFI.TMP
bootstrap partition with the two core directories and the two
core files IPB.EXE and VMS_LOADER.EFI. (The actual bootstrap
partition name is SYS$EFI.SYS.)
The above example deliberately shows the hypothetical partition
filename SYS$EFI.TMP and not the actual SYS$EFI.SYS partition
filename. Corruption of the actual bootstrap partition will
likely prevent OpenVMS I64 from bootstrapping.
When a new bootable partition is created on the system disk or
when an existing bootable partition is relocated on the system
disk, use the SET BOOTBLOCK command or invoke the sys$setboot
image directly to update the OpenVMS I64 bootblock and related
structures accordingly. An existing bootable partition need not
be re-registered, whether or not the partition contents have
been modified. Use the SET FILE/NOMOVE command to prevent a
defragmentation tool from erroneously relocating the file.