Windows Update deleted Chakra from UEFI Menu

I was dual booting Chakra and Win10 on a HP laptop (UEFI) The last Windows update deleted the entry for Chakra on the boot menu (built into the HP Bios) and from what I can tell, to restore it is to reinstall Chakra. I’d like to avoid that and so I ask is there another way? I can still boot Chakra from an EFI file, but that’s a bit clumsy.

Boot from live, chroot, repair grub?

Grub is fine. It’s the HP Boot Menu in bios. Windows deleted the Chakra instance so it now boots directly to Windows. Here is a pic of the screen before Windows deleted Chakra

i suppose the efi entry for chakra is now on the second place and everything you need is set it active

  1. start a live system
  2. open a konsole
  3. sudo efibootmgr displays the entries in NVRAM
  4. sudo efibootmgr -a <currentPositionFromChakra

Yes, this happen time-to-time with an efi Chakra installation, if Windows are present… It’s a free gift from Microsoft, to EFI users…

EFIBootMgr seems to be the ticket but I couldn’t figure it out. So I reinstalled Chakra. Now that it is installed I can search for the key and when it happens again, I’ll have a better chance of making it work. If not, I’ll just wipe Windows and figure out how to do deal with my rare instances of using Windows.

You can still install both OS without EFI, in “legacy” mode. With the good old mode, there will be no pain in the butt. :slight_smile:

reinstall is normal to much effort but efibootmgr 16-1 isn’t really reliable because it can delete all existing boot entries when you write a new one or manipulate boot entries!

handle with care and double check boot entries after your work is done!
have a live media!

to see all boot entries:
$sudo efibootmgr

to set a boot entry as active:
$sudo efibootmgr -b <entryNumber> -a

to change boot order:
$sudo efibootmgr -b <entryNumber1>,<entryNumber2><…> -o

to delete a boot entry:
$sudo efibootmgr -b <entryNumber> -B

[tom@frija ~]$ efibootmgr -h
efibootmgr version 16
usage: efibootmgr [options]
        -a | --active         sets bootnum active
        -A | --inactive       sets bootnum inactive
        -b | --bootnum XXXX   modify BootXXXX (hex)
        -B | --delete-bootnum delete bootnum
        -c | --create         create new variable bootnum and add to bootorder
        -C | --create-only      create new variable bootnum and do not add to bootorder
        -D | --remove-dups      remove duplicate values from BootOrder
        -d | --disk disk       (defaults to /dev/sda) containing loader
        -r | --driver         Operate on Driver variables, not Boot Variables.
        -e | --edd [1|3|-1]   force EDD 1.0 or 3.0 creation variables, or guess
        -E | --device num      EDD 1.0 device number (defaults to 0x80)
        -g | --gpt            force disk with invalid PMBR to be treated as GPT
        -i | --iface name     create a netboot entry for the named interface
        -l | --loader name     (defaults to "\EFI\/boot/EFI\grub.efi")
        -L | --label label     Boot manager display label (defaults to "Linux")
        -m | --mirror-below-4G t|f mirror memory below 4GB
        -M | --mirror-above-4G X percentage memory to mirror above 4GB
        -n | --bootnext XXXX   set BootNext to XXXX (hex)
        -N | --delete-bootnext delete BootNext
        -o | --bootorder XXXX,YYYY,ZZZZ,...     explicitly set BootOrder (hex)
        -O | --delete-bootorder delete BootOrder
        -p | --part part        (defaults to 1) containing loader
        -q | --quiet            be quiet
        -t | --timeout seconds  set boot manager timeout waiting for user input.
        -T | --delete-timeout   delete Timeout.
        -u | --unicode | --UCS-2  handle extra args as UCS-2 (default is ASCII)
        -v | --verbose          print additional information
        -V | --version          return version and exit
        -w | --write-signature  write unique sig to MBR if needed
        -y | --sysprep          Operate on SysPrep variables, not Boot Variables.
        -@ | --append-binary-args file  append extra args from file (use "-" for stdin)
        -h | --help             show help/usage