BIOS 選項理論上應該是儲存在 NVRAM 裡,UEFI Shell 有一個 command "dmpstore",我們可以利用它來看目前有那些變數。
另外,也許可以利用下面服務及 function 來動態存取變數。
    //
    // Variable Services
    //
    Status = RowPointer ( SocketFD,
                          pPort,
                          "GetVariable",
                          (VOID *)gRT->GetVariable,
                          NULL );
    if ( EFI_ERROR ( Status )) {
      break;
    }
    Status = RowPointer ( SocketFD,
                          pPort,
                          "GetNextVariableName",
                          (VOID *)gRT->GetNextVariableName,
                          NULL );
    if ( EFI_ERROR ( Status )) {
      break;
    }
    Status = RowPointer ( SocketFD,
                          pPort,
                          "SetVariable",
                          (VOID *)gRT->SetVariable,
                          NULL );
    if ( EFI_ERROR ( Status )) {
      break;
    }
這篇文章是 kurtqiao 介紹如何調整 BootOrder 的文章,可以參考。
2019/06/19 更新
可以參考我的最新實驗。
