Cannot boot into installed os anymore, only able to boot from a live usb

If i try booting with live usb unplugged, it will show ERROR: No boot disk has been detected or the disk has failed. if i do it with usb plugged and boot with UEFI mode, it will show a grub menu (but it’s not the grub menu i usually see).

I’m able to get into linux Mint that has already been installed on my hard disk with the grub menu (that i mentioned above) command line with these commands:

grub> set root=(hd1,gpt2)
grub> linux /boot/vmlinuz-5.4.0-117-generic root=/dev/sda2
grub> initrd /boot/initrd.img-5.4.0-117-generic
grub> boot

then i will boot into Mint just like if i boot it from its grub entry.

How do i get Mint’s grub menu back and boot as usual before this problem happened?


My pc is HP Pavilion 20-a210l, supports UEFI.

I was trying to dual-boot Fedora 36, i used UNetBootin to create the media, tried using dd command but when booting into the media it only shows blinking big underscore on top left of the screen.

I then chose automatic partition so it will use all the hard disk free space. Installation finished, and i reboot, and then the unfamiliar grub menu shows up instead of Mint’s grub menu.

I strongly believe that grub menu i mentioned is from the usb.

I am also unable to boot into installed Fedora.

And as i said, if i boot the usb with UEFI mode i will get an unfamiliar grub menu. If i boot into the usb with Legacy mode it will show the UNetBootin menu that allows me to boot into the live Fedora, just like when i boot the usb with UEFI mode before this problem happened.

I was able to boot into the usb with Boot Menu(F9) or "UEFI Firmware Settings" grub entry before this problem happened. Now the usb doesn’t show up as a UEFI option in Boot Menu.

"ubuntu" is on top of the boot order:

ran efibootmgr :

BootCurrent: 0008
Timeout: 0 seconds
BootOrder: 0000,0002,0008,0001,0003,0007,0006,0004,0005
Boot0000* ubuntu
Boot0001* USB Floppy/CD
Boot0002* USB Hard Drive
Boot0003* ATAPI CD-ROM Drive
Boot0004* CD/DVD Drive 
Boot0005* USB Floppy/CD
Boot0006* Hard Drive
Boot0007* Realtek PXE B03 D00
Boot0008* UEFI: SanDisk

and as you can see, i booted from SanDisk usb thumb drive.

ran sudo parted -l :

Model: ATA WDC WD5000AAKX-6 (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: pmbr_boot

Number  Start   End    Size    File system  Name                  Flags
 1      1049kB  538MB  537MB   fat32        EFI System Partition  boot, esp
 2      538MB   315GB  315GB   ext4
 3      315GB   315GB  1049kB                                     bios_grub
 4      315GB   316GB  1074MB  ext4
 5      316GB   500GB  184GB   btrfs

Model: SanDisk Cruzer Blade (scsi)
Disk /dev/sdb: 15,7GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End     Size    Type     File system  Flags
 1      1049kB  15,7GB  15,7GB  primary  fat32        boot

What i tried:

  • Updating grub, no good.
  • Turning on Network Boot, shows the same message but with PXE error messages on top of it.
Asked By: northnSouth


Looks like you booted the Fedora installer in legacy mode, and so it set up Fedora to boot in legacy BIOS style with a GPT-partitioned disk. This combination is something Windows doesn’t support at all, so it can be poorly tested by firmware developers.

In the BIOS settings of your system, is there a way to choose whether the system attempts boot in UEFI style, legacy style, or both? If not, then the preference may be hard-coded in the firmware, and apparently your firmware currently prioritizes legacy-style boot over UEFI. If you can, change the boot style setting to "UEFI style only" and see if it helps.

(It seems to me that systems that allow booting on either style by default are a recipe for disaster unless you are aware of the trap and careful whenever installing operating systems. I would generally recommend picking one boot style and setting the BIOS settings to allow that style only, whenever possible.)

If you cannot force UEFI-style boot only, or if it does not help, you’ll need to remove the legacy-style boot settings from your system disk. The easiest is to remove the pmbr_boot disk flag:

# parted /dev/sda
(parted) disk_set pmbr_boot off
(parted) quit

You might also want to delete partition #3, as it only contains the core image of the legacy-mode GRUB of Fedora.

In the worst case, you might need to also destroy the legacy-style MBR boot code from the beginning of /dev/sda to make the firmware stop trying to boot legacy-style from the sda disk. You’ll only want to overwrite the first 439 bytes of the MBR block, so if you find you need to do this, be very, very careful:

dd if=/dev/zero bs=439 count=1 of=/dev/sda

If you have the os-prober package installed in Mint, it might be able to detect the kernel and initramfs of the Fedora installation when you run sudo update-grub in Mint, and add them automatically as extra menu items to Mint’s GRUB menu. That would be one possible way to get Fedora booted in UEFI mode for real. Then you could make sure /dev/sda1 gets mounted as /boot/efi in Fedora too, and then reinstall Fedora’s UEFI GRUB to /boot/efi/EFI/fedora (grub-install --target=x86_64-efi --efi-directory=/boot/efi /dev/sda should do it automatically when executed from a Fedora installation). Then you could use efibootmgr to decide which GRUB would be your primary boot menu: Mint’s GRUB, or Fedora’s GRUB.

Answered By: telcoM
Categories: Answers Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.