efi variable entries in /sys/firmware/efi/efivars/

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP











up vote
2
down vote

favorite












What are entries in /sys/firmware/efi/efivars/?



I see that they are small binary files. Are these addresses and the contents of the address? For example /sys/firmware/efi/efivars/BootFromUSB-ec87d643-eba4-4bb5-a1e5-3f3e36b20da9 in hexadecimal shows



000000000: 0700 0000 00 ....


What does it mean?







share|improve this question
























    up vote
    2
    down vote

    favorite












    What are entries in /sys/firmware/efi/efivars/?



    I see that they are small binary files. Are these addresses and the contents of the address? For example /sys/firmware/efi/efivars/BootFromUSB-ec87d643-eba4-4bb5-a1e5-3f3e36b20da9 in hexadecimal shows



    000000000: 0700 0000 00 ....


    What does it mean?







    share|improve this question






















      up vote
      2
      down vote

      favorite









      up vote
      2
      down vote

      favorite











      What are entries in /sys/firmware/efi/efivars/?



      I see that they are small binary files. Are these addresses and the contents of the address? For example /sys/firmware/efi/efivars/BootFromUSB-ec87d643-eba4-4bb5-a1e5-3f3e36b20da9 in hexadecimal shows



      000000000: 0700 0000 00 ....


      What does it mean?







      share|improve this question












      What are entries in /sys/firmware/efi/efivars/?



      I see that they are small binary files. Are these addresses and the contents of the address? For example /sys/firmware/efi/efivars/BootFromUSB-ec87d643-eba4-4bb5-a1e5-3f3e36b20da9 in hexadecimal shows



      000000000: 0700 0000 00 ....


      What does it mean?









      share|improve this question











      share|improve this question




      share|improve this question










      asked Jan 4 at 16:18









      infoclogged

      299111




      299111




















          2 Answers
          2






          active

          oldest

          votes

















          up vote
          1
          down vote



          accepted










          These are files in the efivars file system, which give you access to UEFI variables. For each UEFI variable there is one file in /sys/firmware/efi/efivars/.



          Your example BootFromUSB-ec87d643-eba4-4bb5-a1e5-3f3e36b20da9 has the Name BootFromUSB and the VendorGuid ec87d643-eba4-4bb5-a1e5-3f3e36b20da9. The GUID makes sure that variables with the same name but from different vendors don't interfere. Some variables are defined in the UEFI specification, but not this one.



          The first four bytes of the contents are attributes, which are also defined in the UEFI specification. The most important are



          #define EFI_VARIABLE_NON_VOLATILE 0x00000001
          #define EFI_VARIABLE_BOOTSERVICE_ACCESS 0x00000002
          #define EFI_VARIABLE_RUNTIME_ACCESS 0x00000004


          so your variable is non-volatile and can be accessed both at boot and at runtime.



          Any remaining bytes are the value of the variable. In this case there is a single byte with the value 0.



          You can use UEFI variables to influence the boot process. For example, we have used such a variable to switch the next boot to an alternative recovery firmware, when the standard firmware is not functioning.



          Note that the efivars file system allows you to write to EFI variables by writing to the files. Be careful when you do this, as overwriting some variables may brick your system.






          share|improve this answer





























            up vote
            0
            down vote













            EFIvars are part of the UEFI specification where some variable names have special meaning but most of them can be anything your UEFI firmware developer decided them to be.






            share|improve this answer




















              Your Answer







              StackExchange.ready(function()
              var channelOptions =
              tags: "".split(" "),
              id: "106"
              ;
              initTagRenderer("".split(" "), "".split(" "), channelOptions);

              StackExchange.using("externalEditor", function()
              // Have to fire editor after snippets, if snippets enabled
              if (StackExchange.settings.snippets.snippetsEnabled)
              StackExchange.using("snippets", function()
              createEditor();
              );

              else
              createEditor();

              );

              function createEditor()
              StackExchange.prepareEditor(
              heartbeatType: 'answer',
              convertImagesToLinks: false,
              noModals: false,
              showLowRepImageUploadWarning: true,
              reputationToPostImages: null,
              bindNavPrevention: true,
              postfix: "",
              onDemand: true,
              discardSelector: ".discard-answer"
              ,immediatelyShowMarkdownHelp:true
              );



              );








               

              draft saved


              draft discarded


















              StackExchange.ready(
              function ()
              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f414799%2fefi-variable-entries-in-sys-firmware-efi-efivars%23new-answer', 'question_page');

              );

              Post as a guest






























              2 Answers
              2






              active

              oldest

              votes








              2 Answers
              2






              active

              oldest

              votes









              active

              oldest

              votes






              active

              oldest

              votes








              up vote
              1
              down vote



              accepted










              These are files in the efivars file system, which give you access to UEFI variables. For each UEFI variable there is one file in /sys/firmware/efi/efivars/.



              Your example BootFromUSB-ec87d643-eba4-4bb5-a1e5-3f3e36b20da9 has the Name BootFromUSB and the VendorGuid ec87d643-eba4-4bb5-a1e5-3f3e36b20da9. The GUID makes sure that variables with the same name but from different vendors don't interfere. Some variables are defined in the UEFI specification, but not this one.



              The first four bytes of the contents are attributes, which are also defined in the UEFI specification. The most important are



              #define EFI_VARIABLE_NON_VOLATILE 0x00000001
              #define EFI_VARIABLE_BOOTSERVICE_ACCESS 0x00000002
              #define EFI_VARIABLE_RUNTIME_ACCESS 0x00000004


              so your variable is non-volatile and can be accessed both at boot and at runtime.



              Any remaining bytes are the value of the variable. In this case there is a single byte with the value 0.



              You can use UEFI variables to influence the boot process. For example, we have used such a variable to switch the next boot to an alternative recovery firmware, when the standard firmware is not functioning.



              Note that the efivars file system allows you to write to EFI variables by writing to the files. Be careful when you do this, as overwriting some variables may brick your system.






              share|improve this answer


























                up vote
                1
                down vote



                accepted










                These are files in the efivars file system, which give you access to UEFI variables. For each UEFI variable there is one file in /sys/firmware/efi/efivars/.



                Your example BootFromUSB-ec87d643-eba4-4bb5-a1e5-3f3e36b20da9 has the Name BootFromUSB and the VendorGuid ec87d643-eba4-4bb5-a1e5-3f3e36b20da9. The GUID makes sure that variables with the same name but from different vendors don't interfere. Some variables are defined in the UEFI specification, but not this one.



                The first four bytes of the contents are attributes, which are also defined in the UEFI specification. The most important are



                #define EFI_VARIABLE_NON_VOLATILE 0x00000001
                #define EFI_VARIABLE_BOOTSERVICE_ACCESS 0x00000002
                #define EFI_VARIABLE_RUNTIME_ACCESS 0x00000004


                so your variable is non-volatile and can be accessed both at boot and at runtime.



                Any remaining bytes are the value of the variable. In this case there is a single byte with the value 0.



                You can use UEFI variables to influence the boot process. For example, we have used such a variable to switch the next boot to an alternative recovery firmware, when the standard firmware is not functioning.



                Note that the efivars file system allows you to write to EFI variables by writing to the files. Be careful when you do this, as overwriting some variables may brick your system.






                share|improve this answer
























                  up vote
                  1
                  down vote



                  accepted







                  up vote
                  1
                  down vote



                  accepted






                  These are files in the efivars file system, which give you access to UEFI variables. For each UEFI variable there is one file in /sys/firmware/efi/efivars/.



                  Your example BootFromUSB-ec87d643-eba4-4bb5-a1e5-3f3e36b20da9 has the Name BootFromUSB and the VendorGuid ec87d643-eba4-4bb5-a1e5-3f3e36b20da9. The GUID makes sure that variables with the same name but from different vendors don't interfere. Some variables are defined in the UEFI specification, but not this one.



                  The first four bytes of the contents are attributes, which are also defined in the UEFI specification. The most important are



                  #define EFI_VARIABLE_NON_VOLATILE 0x00000001
                  #define EFI_VARIABLE_BOOTSERVICE_ACCESS 0x00000002
                  #define EFI_VARIABLE_RUNTIME_ACCESS 0x00000004


                  so your variable is non-volatile and can be accessed both at boot and at runtime.



                  Any remaining bytes are the value of the variable. In this case there is a single byte with the value 0.



                  You can use UEFI variables to influence the boot process. For example, we have used such a variable to switch the next boot to an alternative recovery firmware, when the standard firmware is not functioning.



                  Note that the efivars file system allows you to write to EFI variables by writing to the files. Be careful when you do this, as overwriting some variables may brick your system.






                  share|improve this answer














                  These are files in the efivars file system, which give you access to UEFI variables. For each UEFI variable there is one file in /sys/firmware/efi/efivars/.



                  Your example BootFromUSB-ec87d643-eba4-4bb5-a1e5-3f3e36b20da9 has the Name BootFromUSB and the VendorGuid ec87d643-eba4-4bb5-a1e5-3f3e36b20da9. The GUID makes sure that variables with the same name but from different vendors don't interfere. Some variables are defined in the UEFI specification, but not this one.



                  The first four bytes of the contents are attributes, which are also defined in the UEFI specification. The most important are



                  #define EFI_VARIABLE_NON_VOLATILE 0x00000001
                  #define EFI_VARIABLE_BOOTSERVICE_ACCESS 0x00000002
                  #define EFI_VARIABLE_RUNTIME_ACCESS 0x00000004


                  so your variable is non-volatile and can be accessed both at boot and at runtime.



                  Any remaining bytes are the value of the variable. In this case there is a single byte with the value 0.



                  You can use UEFI variables to influence the boot process. For example, we have used such a variable to switch the next boot to an alternative recovery firmware, when the standard firmware is not functioning.



                  Note that the efivars file system allows you to write to EFI variables by writing to the files. Be careful when you do this, as overwriting some variables may brick your system.







                  share|improve this answer














                  share|improve this answer



                  share|improve this answer








                  edited Jan 18 at 15:58

























                  answered Jan 18 at 15:48









                  starblue

                  427212




                  427212






















                      up vote
                      0
                      down vote













                      EFIvars are part of the UEFI specification where some variable names have special meaning but most of them can be anything your UEFI firmware developer decided them to be.






                      share|improve this answer
























                        up vote
                        0
                        down vote













                        EFIvars are part of the UEFI specification where some variable names have special meaning but most of them can be anything your UEFI firmware developer decided them to be.






                        share|improve this answer






















                          up vote
                          0
                          down vote










                          up vote
                          0
                          down vote









                          EFIvars are part of the UEFI specification where some variable names have special meaning but most of them can be anything your UEFI firmware developer decided them to be.






                          share|improve this answer












                          EFIvars are part of the UEFI specification where some variable names have special meaning but most of them can be anything your UEFI firmware developer decided them to be.







                          share|improve this answer












                          share|improve this answer



                          share|improve this answer










                          answered Jan 4 at 21:26









                          jdwolf

                          2,392116




                          2,392116






















                               

                              draft saved


                              draft discarded


























                               


                              draft saved


                              draft discarded














                              StackExchange.ready(
                              function ()
                              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f414799%2fefi-variable-entries-in-sys-firmware-efi-efivars%23new-answer', 'question_page');

                              );

                              Post as a guest













































































                              Popular posts from this blog

                              How to check contact read email or not when send email to Individual?

                              Displaying single band from multi-band raster using QGIS

                              How many registers does an x86_64 CPU actually have?