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.