Unable to upgrade from 2.7.1 to 2.7.2 | Unmounting /boot/efi... done. | failed.
-
I opened a Redmine so we can look into an automated way to address this since it seems to be a lot more common than expected:
-
@jimp said in Unable to upgrade from 2.7.1 to 2.7.2 | Unmounting /boot/efi... done. | failed.:
Yeah, those must be rather old installations to have an EFI partition that small. I thought we made them significantly larger several years ago.
My first use of PFSense on this device (BYOD) started in April 2020 with whatever version was stable at that time.
From that point on I have only done in-place upgrades. This is the first time I run into issues.
Not sure what is considered to be old, but this doesn't seem that old to me.
The commands from your post did fix it. -
@jimp thanks :) I have a pfSense box about 6,000 miles away, I owe you a beer!
-
@jimp You are a star. Thank you
-
-
-
same here:
intel appliance, installed on November 2019:Filesystem Size Used Avail Capacity iused ifree %iused Mounted on
/dev/msdosfs/EFISYS 780K 387K 393K 50% 3 509 1% /boot/efi -
Best option is reinstall.
If you're unable to do that then follow jimp's instructions here: https://forum.netgate.com/post/1140955 -
@jimp Brilliant! Worked a treat. Thanks!
P.S. This was an old-ish UFS install, probably originally 2.6.0. Originally installed in early 2021, most likely.
-
Hi, I posted the same problem (In the "heat of the moment" I missed to search first of course...)
Was the installation affected / changed when getting this error? Do I dare to reboot?
https://forum.netgate.com/topic/184815/failed-pfsense-boot-2-7-1-2-7-2-pfsense-core-boot-efi-efi-boot-ins-uwm1ln-input-output-error
Checking integrity... done (0 conflicting) The following 1 package(s) will be affected (of 0 checked): Installed packages to be UPGRADED: pfSense-boot: 2.7.1 -> 2.7.2 [pfSense-core] Number of packages to be upgraded: 1 [1/1] Upgrading pfSense-boot from 2.7.1 to 2.7.2... [1/1] Extracting pfSense-boot-2.7.2: .......... done Updating the EFI loader install: //boot/efi/efi/boot/INS@uwM1LN: Input/output error pkg-static: POST-INSTALL script failed failed. Failed
-
@iorx I remember seeing the same screen output when I first attempted the update and it failed.
I did not reboot and instead searched, found, and followed @jimp's fix above, then re-attempted the upgrade (successfully) all in the same session.
I don't think you will have problems if you reboot at this point, since the upgrade did not get beyond downloading files and I haven't seen anyone else say they had problems, or bricked their server. However, I cannot say with 100% certainty.
-
Worked awesomely! Thank you for the swift response.
If anyone curios of the event:
My EFISYS was obiously matching here.
[2.7.1-RELEASE]/: mkdir -p /boot/efi [2.7.1-RELEASE]/: mount_msdosfs /dev/msdosfs/EFISYS /boot/efi [2.7.1-RELEASE]/: mkdir -p /tmp/efitmp [2.7.1-RELEASE]/: cp -Rp /boot/efi/* /tmp/efitmp [2.7.1-RELEASE]/: ls /tmp/efitmp/efi/boot/ BOOTx64.efi startup.nsh [2.7.1-RELEASE]/: umount /boot/efi [2.7.1-RELEASE]/: newfs_msdos -F 32 -c 1 -L EFISYS /dev/msdosfs/EFISYS /dev/msdosfs/EFISYS: 403266 sectors in 403266 FAT32 clusters (512 bytes/cluster) BytesPerSec=512 SecPerClust=1 ResSectors=32 FATs=2 Media=0xf0 SecPerTrack=63 Heads=255 HiddenSecs=0 HugeSectors=409600 FATsecs=3151 RootCluster=2 FSInfo=1 Backup=2 [2.7.1-RELEASE]/: mount_msdosfs /dev/msdosfs/EFISYS /boot/efi [2.7.1-RELEASE]/: cp -Rp /tmp/efitmp/* /boot/efi/ [2.7.1-RELEASE]/: df -hi /boot/efi Filesystem Size Used Avail Capacity iused ifree %iused Mounted on /dev/msdosfs/EFISYS 197M 386K 197M 0% 0 0 - /boot/efi
updated from console:
Enter an option: 13 >>> Updating repositories metadata... Updating pfSense-core repository catalogue... Fetching meta.conf: . done Fetching packagesite.pkg: . done Processing entries: . done pfSense-core repository update completed. 4 packages processed. Updating pfSense repository catalogue... Fetching meta.conf: . done Fetching packagesite.pkg: ...... done Processing entries: .......... done pfSense repository update completed. 549 packages processed. All repositories are up to date. The following 10 package(s) will be affected (of 0 checked): Installed packages to be UPGRADED: curl: 8.4.0 -> 8.5.0 [pfSense] isc-dhcp44-relay: 4.4.3P1_3 -> 4.4.3P1_4 [pfSense] isc-dhcp44-server: 4.4.3P1_3 -> 4.4.3P1_4 [pfSense] openvpn: 2.6.7_1 -> 2.6.8_1 [pfSense] pfSense: 2.7.1 -> 2.7.2 [pfSense] pfSense-base: 2.7.1 -> 2.7.2 [pfSense-core] pfSense-default-config: 2.7.1 -> 2.7.2 [pfSense] pfSense-kernel-pfSense: 2.7.1 -> 2.7.2 [pfSense-core] pfSense-repo: 2.7.1 -> 2.7.2 [pfSense] strongswan: 5.9.11_2 -> 5.9.11_3 [pfSense] Number of packages to be upgraded: 10 **** WARNING **** Reboot will be required!! Proceed with upgrade? (y/N) y >>> Removing vital flag from php82... done. >>> Downloading upgrade packages... Updating pfSense-core repository catalogue... Fetching meta.conf: Fetching packagesite.pkg: pfSense-core repository is up to date. Updating pfSense repository catalogue... Fetching meta.conf: Fetching packagesite.pkg: pfSense repository is up to date. All repositories are up to date. Checking for upgrades (10 candidates): .......... done Processing candidates (10 candidates): .......... done Checking integrity... done (0 conflicting) The following 10 package(s) will be affected (of 0 checked): Installed packages to be UPGRADED: curl: 8.4.0 -> 8.5.0 [pfSense] isc-dhcp44-relay: 4.4.3P1_3 -> 4.4.3P1_4 [pfSense] isc-dhcp44-server: 4.4.3P1_3 -> 4.4.3P1_4 [pfSense] openvpn: 2.6.7_1 -> 2.6.8_1 [pfSense] pfSense: 2.7.1 -> 2.7.2 [pfSense] pfSense-base: 2.7.1 -> 2.7.2 [pfSense-core] pfSense-default-config: 2.7.1 -> 2.7.2 [pfSense] pfSense-kernel-pfSense: 2.7.1 -> 2.7.2 [pfSense-core] pfSense-repo: 2.7.1 -> 2.7.2 [pfSense] strongswan: 5.9.11_2 -> 5.9.11_3 [pfSense] Number of packages to be upgraded: 10 >>> Downloading pkg... No packages are required to be fetched. Integrity check was successful. >>> Upgrading pfSense-boot...>>> Unmounting /boot/efi... done. done. >>> Upgrading pfSense kernel... Checking integrity... done (0 conflicting) The following 1 package(s) will be affected (of 0 checked): Installed packages to be UPGRADED: pfSense-kernel-pfSense: 2.7.1 -> 2.7.2 [pfSense-core] Number of packages to be upgraded: 1 [1/1] Upgrading pfSense-kernel-pfSense from 2.7.1 to 2.7.2... [1/1] Extracting pfSense-kernel-pfSense-2.7.2: .......... done ===> Keeping a copy of current kernel in /boot/kernel.old >>> Removing unnecessary packages... done. System is going to be upgraded. Rebooting in 10 seconds.
and then
*** Welcome to pfSense 2.7.2-RELEASE (amd64) on fw ***
-
@iorx said in Unable to upgrade from 2.7.1 to 2.7.2 | Unmounting /boot/efi... done. | failed.:
Hi, I posted the same problem (In the "heat of the moment" I missed to search first of course...)
Was the installation affected / changed when getting this error? Do I dare to reboot?
FYI- No, nothing was harmed. The odd-looking filename is from the
install
command attempting to create a new file with the new loader contents. The way theinstall
command is invoked here it makes a new file and then only if that succeeds does it remove the old file and then rename the new file to the old name.This means that it only actually changes things if each step succeeds, which is the safest method. Since the creation of the new file failed, it didn't end up changing anything, so it stopped processing at that point.
-
-
I borked this upgrade badly. I was down literally for an hour. I gave up and just installed fresh and loaded my backup. All good now.
-
Thanks @jimp! Increasing the EFI filesystem size fixed the issue for me as well. My version started out as a 2.4.4 version back in the days.
-
@jimp said in Unable to upgrade from 2.7.1 to 2.7.2 | Unmounting /boot/efi... done. | failed.:
mount_msdosfs /dev/msdosfs/EFISYS /boot/efi
[2.7.1-RELEASE][admin@BlynSite.localdomain]/root: mount_msdosfs /dev/msdosfs/EFISYS /boot/efi
mount_msdosfs: /dev/msdosfs/EFISYS: Device busyWell crap! This box is about 300 miles away from me.
Guess is shall stay on 2.7.1 for now.Just tried again and it appears that it has now worked.. whew!!
-
@jimp Just like to say I can neither cofirm nor deny if this fix worked for my 3 installs that started with a blistering 900k partition. If it worked, thank you I now have 200mb, if not I don't have a firewall.
I think the system I inherited started out as a 2.4 (Physical Server built from an ISO)Cheers
Elfranko
-
@jimp Thank you! Worked perfectly for me.
-
@jimp this fixed it for me too. thanks
-
@slu Exactly the same issue, here...
-
This post is deleted! -
@jimp said in Unable to upgrade from 2.7.1 to 2.7.2 | Unmounting /boot/efi... done. | failed.:
WARNING: These commands may cause unintended harm to your installation, your state of being, aura, personal wellness, sanity, favorite sports team, and/or pets. Use with caution. Have backups and installation media nearby.
If it's a VM, snapshot it before proceeding.
Assuming your EFI partition is
/dev/msdosfs/EFISYS
, this should work. If it's not, substitute in the proper path (e.g./dev/gpt/EFISYS
or maybe/dev/vtbd0p1
for example.)# mkdir -p /boot/efi # mount_msdosfs /dev/msdosfs/EFISYS /boot/efi # mkdir -p /tmp/efitmp # cp -Rp /boot/efi/* /tmp/efitmp # umount /boot/efi # newfs_msdos -F 32 -c 1 -L EFISYS /dev/msdosfs/EFISYS # mount_msdosfs /dev/msdosfs/EFISYS /boot/efi # cp -Rp /tmp/efitmp/* /boot/efi/
Afterwards you should have an EFI filesystem that is the full size of the partition, which is roughly 200M.
The upgrade should proceed after that.
If it doesn't work, roll back or reinstall. You never saw this post. That torpedo did not self-destruct. You heard it hit the hull. I was never here.
@jimp Thanks, this did the trick. Reinstalling wasn't really a viable option, as I have no physical access to the system without stepping into a plane and taking a long trip...