System update fail

It seams that the latest system update hosed my install. Said install is a vbox vm. There were two updates this morning, one for the core, and one for the system. Past experience has shown that updating the core takes a long time so I chose to install the system update first this time. That resulted in a system crash that only allows me “Shell>” prompt.

keyed in

UEFI Interactive Shell v2.2
EDK II
UEFI v2.70 (EDK II, 0x00010000)
Mapping table
bla, bla, bla
Press ESC in 1 seconds to skip startup.nsh or any other key to continue.
Shell>

Sadly I don’t have a config backup. Yea I know.

Is there any way to get my system back? Or should I just download a new vm image and start fresh?

The update was attempted from my Android phone which updated to the latest yesterday. Wouldn’t think that should matter.

Hi,

Did you manage to sort this out, I am having a similar issue!!

Hi,

I managed to solve this, if you type “exit”, you will get to a menu screen, in that menu you can choose boot settings and modify your boot sequence to start with your Hard Disk VM, After that it should always boot up to hassos. Hope that helps. :slight_smile:

8 Likes

Thanks for the info. I ended up just doing a reinstall.

:face_with_raised_eyebrow: I’m glad I responded because I needed this today :wink:

Hi. Did you come to a solution to this as i tried the above and typed in exit, went through to the boot options, selected boot from hard disk image, clicked enter, a black box popped up and went away instantly, and then left me stuck in the boot option screen still. No amount of clicking enter did anything…

Any help on fixing this would be appreciated.

Thanks

Same issue here. Did you solved it ?

unfortunately not. even tried to install a new version from fresh and restore a snapshot but it has DNS issues. I just dont get why HA is so hard sometimes! I’m not very PC savy so im still stuck on version 3.0

It seems it’s goodbye Home Assistant…

Related with this:

Workaround !!

I see the post above saying “Workaround!”, but if “recover a previous snapshot of the VM” is the workaround, it won’t really help you if you don’t have such a snapshot…

Below worked for me to fix my existing image, so lets call it workaround 2. :slight_smile:

So in my case I have Home Assistant working as Unraid VM. After last update everything seemed to work fine, but I had a power outage during the night and for some reason VM didn’t auto start… when I got to the VNC I saw the UEFI Shell.

When I went to fs0:, there was an “EFI” folder, but it was EMPTY.

I went ahead and checked the img file layout:

fdisk -l HomeAssistant.img Disk HomeAssistant.img: 22 GiB, 23622320128 bytes, 46137344 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 8CA1F3FF-2608-4EA7-9C48-63226A18DEEB

Device               Start      End  Sectors  Size Type
HomeAssistant.img1    2048    67583    65536   32M EFI System
HomeAssistant.img2   67584   116735    49152   24M Linux filesystem
HomeAssistant.img3  116736   641023   524288  256M Linux filesystem
HomeAssistant.img4  641024   690175    49152   24M Linux filesystem
HomeAssistant.img5  690176  1214463   524288  256M Linux filesystem
HomeAssistant.img6 1214464  1230847    16384    8M Linux filesystem
HomeAssistant.img7 1230848  1427455   196608   96M Linux filesystem
HomeAssistant.img8 1427456 46137310 44709855 21.3G Linux filesystem

512 block size * 2048 start of the partition gives us 1048576 for mount offset…

Then I mounted the UEFI partition to confirm what the UEFI shell was showing:
mount -t vfat -o loop,offset=1048576,umask=0000 HomeAssistant.img testFolder1

Entering the root of the drive shows the EFI folder with additional error:
/bin/ls: cannot access 'EFI': Input/output error
Getting the same error when trying to enter the UEFI folder…

So I grabbed the current image:
https://github.com/home-assistant/operating-system/releases/download/5.10/hassos_ova-5.10.qcow2.xz

Unpacked it with 7-zip to Unraid’s network share to get the file in and then converted it to img:
qemu-img convert -f qcow2 -O raw hassos_ova-5.10.qcow2 testimage.img

I did the same fdisk and mount operations on the new image and all the partition sizes and offsets matched, so I decided to try to restore just the EFI partition with dd:
dd conv=notrunc if=testimage.img of=HomeAssistant.img skip=2048 seek=2048 bs=512 count=65536

Started the VM and while I’m writing this my lights came on automatically so looks like it did the trick. :slight_smile:

At this stage looks like the last OS update might have been touching the UEFI boot files and due to the power failure the drive corrupted the UEFI partition (the failure was hours after the update). Fortunately the content didn’t change between what I had in my img file and the latest available on the release page so it worked out of the box. I hope this helps!

1 Like

Thanks gnagorsk.

This lead me into the right direction.
Today I tried upgrading to OS 5.10. My Hassio is running as a vm in ESXi 6.7.

VM never came up again. Looking to the console it was not able to boot at all. Tried changing from EFI to bios, but not change.
Changed back to EFI.

Opened the EFI Shell and write fs0:
Check the EFI folder as you mention, and mine was also empty!

I downloaded the latest OVA with hassio and deployed a new VM from this. Did not start the VM.
Then I copied the VMDK from this new VM to my original VM and added this as a second harddisk from settings in ESXi.

Then booted into EFI shell again and checked the fs1: EFI folder, and there was a boot folder and some other file there.
From EFI shell I copied this.

cp -r fs1:\EFI fs0:\EFI

Then I shut down the VM again. Removed the VMDK I added earlier, and then startet up my VM.
And it WORKS!

Thanks! That did work!

This just happened to me after a HAOS update, over a year later and it still isn’t sorted. Stuck a shell prompt now. Changing Boot device doesn’t work, as the hard drive is already selected. No VM snapshots, which wouldn’t fix just revert anyway. Can’t figure out how to list the filesystem partitions, any commands I type in the Shell> prompt returns not recognized as an internal or external command.

Pretty sad. This sucks. Restoring from a week old backup and enabling frequent automatic snapshotting, I didn’t realize I would need to.

Same here with OS 7.1 Release Home Assistant OS Release-7 build 1 · home-assistant/operating-system · GitHub. I had to rollback to an older snapshot from the vm host.

This solution worked for me:

I had it after an update, where my host did run out of disk space due to the dynamically resizing of the HA .vdi file in VirtualBox. I did never realize, that HA does backups on every update, but does no cleaning the house later on and I never deleted them, also had lots of data going to the database. So the vdi did grow to 10 times its stock size 3gb to 31,5gb. I did fix the free space issue on the host, and did a resize on the .vdi as well. Well I should not have done the second half of that. the resizing of the vdi broke the .vdi by killing the partition table, non recoverable. Just as a heads up, use samba-backup or googl drive backup or anything along those lines! for me it was a version issue of virtualbox. a known and fixed bug, but I had that very version active.

This simple solution worked for me.
It seems like this is a kvm/qemu issue and recreating the vm with the existing vdisk usually fixes it.

Amazing! thanks :smiley:

1 Like