Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    Upgrade from 2.7.2 to 2.8.0 Failed and now /boot/efi/ empty

    Scheduled Pinned Locked Moved Problems Installing or Upgrading pfSense Software
    30 Posts 5 Posters 5.3k Views 3 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • S Offline
      Sinfonia97 @stephenw10
      last edited by

      @stephenw10 When I run that command I currently get the following:

      512B	/boot/efi/EFI/BOOT/STARTUP.NSH
      1.0K	/boot/efi/EFI/BOOT
      1.5K	/boot/efi/EFI
      1.5K	/boot/efi
      

      When I look at the STARTUP.NSH file it references BOOTx64.efi. In my research for this issue I found that I should be able to replace the missing BOOTx64.efi file with a copied and renamed loader.efi from the /boot directory. Unfortunately I have not been able to verify that is true. It appears that typically PFSense uses the loader.efi, but my STARTUP.NSH file references BOOTx64.efi.

      So this is where I am at currently. Need to verify if I can use a copy of loader.efi to replace my BOOTx64.efi. Also just need to make sure based on the information I have provided that /boot/efi is mounted to the correct directory. In my case I believe it should be /dev/adaop1. Only other location I would consider mounting it to would be /dev/msdosfs/EFI as that is close to what @jimp posted in his fix for the space issue.

      1 Reply Last reply Reply Quote 0
      • stephenw10S Offline
        stephenw10 Netgate Administrator
        last edited by

        Hmm, without an efi binary there at all it will fail to boot. So don't reboot without copying back something!

        I would say those files are indeed identical:

        [25.07-RC][admin@6100.stevew.lan]/root: md5sum /boot/efi/efi/boot/bootx64.efi 
        aa4529badf1fe88a5ca8941c04f144cb  /boot/efi/efi/boot/bootx64.efi
        [25.07-RC][admin@6100.stevew.lan]/root: md5sum /boot/efi/efi/freebsd/loader.efi
        aa4529badf1fe88a5ca8941c04f144cb  /boot/efi/efi/freebsd/loader.efi
        [25.07-RC][admin@6100.stevew.lan]/root: md5sum /boot/loader.efi
        aa4529badf1fe88a5ca8941c04f144cb  /boot/loader.efi
        

        So you should be able to copy that across

        S 1 Reply Last reply Reply Quote 0
        • S Offline
          Sinfonia97 @stephenw10
          last edited by

          @stephenw10 Thank you, that's great to know. That takes care of one part. Now if I can verify that /dev/ada0p1 is the correct location to mount /boot/efi I will be able to finish following @jimp process.

          1 Reply Last reply Reply Quote 0
          • stephenw10S Offline
            stephenw10 Netgate Administrator
            last edited by

            The output of gpart list should confirm that. There will only be one EFI partition.

            S 1 Reply Last reply Reply Quote 0
            • S Offline
              Sinfonia97 @stephenw10
              last edited by

              @stephenw10 Thanks again. I ran gpart list before and this is the output I received and why I figured /dev/ada01p was the correct location to mount /boot/efi. Let me know if you see the same thing:

              Geom name: ada0
              modified: false
              state: OK
              fwheads: 16
              fwsectors: 63
              last: 488397127
              first: 40
              entries: 128
              scheme: GPT
              Providers:
              1. Name: ada0p1
                 Mediasize: 209715200 (200M)
                 Sectorsize: 512
                 Stripesize: 0
                 Stripeoffset: 20480
                 Mode: r1w1e2
                 efimedia: HD(1,GPT,ac1172b7-5651-11e8-b5a2-00907fd0950c,0x28,0x64000)
                 rawuuid: ac1172b7-5651-11e8-b5a2-00907fd0950c
                 rawtype: c12a7328-f81f-11d2-ba4b-00a0c93ec93b
                 label: (null)
                 length: 209715200
                 offset: 20480
                 type: efi
                 index: 1
                 end: 409639
                 start: 40
              2. Name: ada0p2
                 Mediasize: 245677162496 (229G)
                 Sectorsize: 512
                 Stripesize: 0
                 Stripeoffset: 209735680
                 Mode: r1w1e2
                 efimedia: HD(2,GPT,ac11fbb1-5651-11e8-b5a2-00907fd0950c,0x64028,0x1c99c000)
                 rawuuid: ac11fbb1-5651-11e8-b5a2-00907fd0950c
                 rawtype: 516e7cb6-6ecf-11d6-8ff8-00022d09712b
                 label: (null)
                 length: 245677162496
                 offset: 209735680
                 type: freebsd-ufs
                 index: 2
                 end: 480247847
                 start: 409640
              3. Name: ada0p3
                 Mediasize: 4172430848 (3.9G)
                 Sectorsize: 512
                 Stripesize: 0
                 Stripeoffset: 245886898176
                 Mode: r1w1e1
                 efimedia: HD(3,GPT,ac128803-5651-11e8-b5a2-00907fd0950c,0x1ca00028,0x7c591f)
                 rawuuid: ac128803-5651-11e8-b5a2-00907fd0950c
                 rawtype: 516e7cb5-6ecf-11d6-8ff8-00022d09712b
                 label: (null)
                 length: 4172430848
                 offset: 245886898176
                 type: freebsd-swap
                 index: 3
                 end: 488397126
                 start: 480247848
              Consumers:
              1. Name: ada0
                 Mediasize: 250059350016 (233G)
                 Sectorsize: 512
                 Mode: r3w3e8
              

              This was also before I did a temp mount of /boot/efi to /dev/ada0p1.

              1 Reply Last reply Reply Quote 0
              • stephenw10S Offline
                stephenw10 Netgate Administrator
                last edited by

                Yup looks good.

                Of course I'd still have a backup of the config etc! ๐Ÿ˜‰

                S 1 Reply Last reply Reply Quote 0
                • S Offline
                  Sinfonia97 @stephenw10
                  last edited by

                  @stephenw10 Perfect, thank you again. I already created a backup before the botched upgrade, so I should be good there. May take another one just in case.

                  1 Reply Last reply Reply Quote 1
                  • S Offline
                    Sinfonia97
                    last edited by

                    Wanted to provide an update on where I am at the moment. After finishing the steps from jimp I am now back to where I should have been before attempting the upgrade.

                    Output from df -hi /boot/efi

                    Filesystem     Size    Used   Avail Capacity iused ifree %iused  Mounted on
                    /dev/ada0p1    197M    646K    196M     0%       0     0     -   /boot/efi
                    

                    Output from du -ha /boot/efi

                    512B	/boot/efi/EFI/BOOT/STARTUP.NSH
                    644K	/boot/efi/EFI/BOOT/BOOTx64.efi
                    645K	/boot/efi/EFI/BOOT
                    645K	/boot/efi/EFI
                    646K	/boot/efi
                    

                    Output from geom -t

                    Geom                                                 Class      Provider
                    ada0                                                 DISK       ada0
                      ada0                                               DEV
                      ada0                                               PART       ada0p1
                        ada0p1                                           DEV
                        msdosfs.ada0p1                                   VFS
                      ada0                                               PART       ada0p2
                        ada0p2                                           DEV
                        ada0p2                                           LABEL      gptid/ac11fbb1-5651-11e8-b5a2-00907fd0950c
                          gptid/ac11fbb1-5651-11e8-b5a2-00907fd0950c     DEV
                          ffs.gptid/ac11fbb1-5651-11e8-b5a2-00907fd0950c VFS
                      ada0                                               PART       ada0p3
                        ada0p3                                           DEV
                        ada0p3                                           LABEL      gptid/ac128803-5651-11e8-b5a2-00907fd0950c
                          gptid/ac128803-5651-11e8-b5a2-00907fd0950c     DEV
                          swap                                           SWAP
                    

                    Output from gpart list

                    Geom name: ada0
                    modified: false
                    state: OK
                    fwheads: 16
                    fwsectors: 63
                    last: 488397127
                    first: 40
                    entries: 128
                    scheme: GPT
                    Providers:
                    1. Name: ada0p1
                       Mediasize: 209715200 (200M)
                       Sectorsize: 512
                       Stripesize: 0
                       Stripeoffset: 20480
                       Mode: r1w1e1
                       efimedia: HD(1,GPT,ac1172b7-5651-11e8-b5a2-00907fd0950c,0x28,0x64000)
                       rawuuid: ac1172b7-5651-11e8-b5a2-00907fd0950c
                       rawtype: c12a7328-f81f-11d2-ba4b-00a0c93ec93b
                       label: (null)
                       length: 209715200
                       offset: 20480
                       type: efi
                       index: 1
                       end: 409639
                       start: 40
                    2. Name: ada0p2
                       Mediasize: 245677162496 (229G)
                       Sectorsize: 512
                       Stripesize: 0
                       Stripeoffset: 209735680
                       Mode: r1w1e2
                       efimedia: HD(2,GPT,ac11fbb1-5651-11e8-b5a2-00907fd0950c,0x64028,0x1c99c000)
                       rawuuid: ac11fbb1-5651-11e8-b5a2-00907fd0950c
                       rawtype: 516e7cb6-6ecf-11d6-8ff8-00022d09712b
                       label: (null)
                       length: 245677162496
                       offset: 209735680
                       type: freebsd-ufs
                       index: 2
                       end: 480247847
                       start: 409640
                    3. Name: ada0p3
                       Mediasize: 4172430848 (3.9G)
                       Sectorsize: 512
                       Stripesize: 0
                       Stripeoffset: 245886898176
                       Mode: r1w1e1
                       efimedia: HD(3,GPT,ac128803-5651-11e8-b5a2-00907fd0950c,0x1ca00028,0x7c591f)
                       rawuuid: ac128803-5651-11e8-b5a2-00907fd0950c
                       rawtype: 516e7cb5-6ecf-11d6-8ff8-00022d09712b
                       label: (null)
                       length: 4172430848
                       offset: 245886898176
                       type: freebsd-swap
                       index: 3
                       end: 488397126
                       start: 480247848
                    Consumers:
                    1. Name: ada0
                       Mediasize: 250059350016 (233G)
                       Sectorsize: 512
                       Mode: r3w3e7
                    

                    I know the last 2 shouldn't have changed, which they didn't. Just wanted to put them in here to document the changes.

                    Now I just need some time to try the upgrade again, and in case everything goes completely south I have time to rebuild.

                    1 Reply Last reply Reply Quote 0
                    • stephenw10S Offline
                      stephenw10 Netgate Administrator
                      last edited by

                      Cool. Does it reboot successfully from there?

                      S 1 Reply Last reply Reply Quote 0
                      • S Offline
                        Sinfonia97 @stephenw10
                        last edited by

                        @stephenw10 Unfortunately I am going to have to wait till I can bring down the network to test. If I take it down now and it doesn't come back up I will be having some hell to pay from the family...lol. ๐Ÿ˜ƒ

                        1 Reply Last reply Reply Quote 1
                        • ? Offline
                          A Former User @Patch
                          last edited by A Former User

                          @Patch said in Upgrade from 2.7.2 to 2.8.0 Failed and now /boot/efi/ empty:

                          @Sinfonia97 Sounds like a corrupted install to me.
                          I would

                          Save pfsense configuration
                          
                          Do a clean install from a recent installer to ensure partitions are consistent with more recent requirements (v2.7.2 or 2.8 or 2.81)
                          
                          Document what low level file structure is used with a good current install so you maybe able to guess what went wrong with the prior corruption (partitions sizes, hardware failure, edge case configuration, edge case update series)
                          

                          I had the exact same issue as the OP, i don't think this is a corrupted install we just had older installs of pfSense that we kept upgrading. Mine was from 2020 and has been upgraded since.

                          It would appear that the fs for the bootloader previously was only 768kb despite the part being 200M.

                          This is a bug on netgate's end https://redmine.pfsense.org/issues/15081 that was opened over a year ago.

                          When I tried to upgrade to 2.8.1 my update failed because of this which brought me to this thread. I applied all the fixes in this thread and tried the update again and it immediately rebooted and I got a kernel panic on boot.

                          I tried to obtain a new 2.8.x install media and just restore my config, but it seems netgate has moved away from an offline installer I wasn't able to add the new installer to my cart there was no option to select vga/serial/etc.

                          This was the end for me, i've moved to OPNSense and ran a simple python script to import my pfsense config.xml

                          So long netgate, arrivederci.

                          1 Reply Last reply Reply Quote 0
                          • stephenw10S Offline
                            stephenw10 Netgate Administrator
                            last edited by

                            You can always just reinstall 2.7.2 which will give you the new larger sized EFI partition and then upgrade again from there.

                            1 Reply Last reply Reply Quote 0
                            • First post
                              Last post
                            Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.