Cannot boot into OS after installing grub

I have followed https://wiki.archlinux.org/index.php/GRUB#BIOS_systems to install grub on my manjaro, sdb is where my manjaro installed on:

grub-install --target=i386-pc /dev/sdb

and /boot/grub/grub.cfg is generated successfully. Then I try to reboot. Unfortunately, both os and grub cannot be launched, only a blinking cursor stuck:

sidenote: it seems I should edit i386 in this command?

I can come into bios now, but what can i do?

Why do you need to install grub?
Isn't grub installed at OS installation?
And why choose sdb instead of sda in your grub-install command?

Why do you need to install grub?

for mult-boot.

Isn't grub installed at OS installation?

Not sure, but it seems grub was not launched by default, because the first option I have was:

instead of grub's own boot interface.

And why choose sdb instead of sda in your grub-install command?

Because windows is installed in sda, and many important data stored there.

Thanks for reply.

Update:

OMG, OMG, from the picture above([C] GRUB Commandline), it seems grub is launched by default! so silly I am :frowning:

The worst news is I have no USB flash card available now.@akii

Boot into manjaro, check with
lsblk - f
and know what your primary internal drive is and grub-install to that drive.
So if primary drive is sda
sudo grub-install /dev/sda
If SDB
sudu grub-install /dev/sdb
And so on.

Then remove flash drive and boot.
If okay, then you can free up your flash drive for other purposes.:rofl:

3 Likes

Thanks! I will give these a try once I have a flash drive(maybe tomorrow or the day after tomorrow)

Maybe try using the other drive from quick boot BIOS menu.
But you have to repair your boot setup as @gohlip explained and use the proper drive for boot from BIOS.

hi, there. usb flash drive is available now, and sda is my OS disk.

$ sudo grub-install /dev/sda
installing for i386-pc platform.
grub-install: error failed to get canonical path of `overlay` 

Any idea?

UPDATE:

$ suod mount /dev/sda /mnt
mount: /mnt: unknow filesystem type 'udf'.

You are in the livecd OS.
You can only do this at the installed OS.

If you cannot boot up to manjaro installed OS, use this to boot into it. Remember to start in correct bios-legacy/uefi mode. (I think it is bios-legacy).
Then do

sudo grub-install /dev/sda
sudo update-grub

again checking if internal primary drive is sda or sdb or..

If you still have problem, provide the info asked at that link.

1 Like

Thanks for your quick reponse!

With the help of

grub> search.file /etc/manjaro-release  root
grub> configfile /boot/grub/grub.cfg

I can boot into my origin manjaro(installed in sda) successfully.

But when trying to grub-install:

$ sudo grub-install /dev/sda
Installing for i386-pc platform. 
grub-install: warning: Attempting to install GRUB to a disk with multiple partition labels. This is not supported yet..
grub: warning Embedding is not possible. GrUB can only be installed in this setup by using blocklists. However, bocklists are UNRLIABLE and their use is discouraged..
grub-install: error: will not proceed with blocklists.

Should --force be added?

Let's check on it.
Provide infor from that link and we can be clear.

$ sudo grub-install --force /dev/sda
grub-install: warning: Attempting to install GRUB to a disk with multiple partition labels. This is not supported yet..
grub: warning Embedding is not possible. GRUB can only be installed in this setup by using blocklists. However, bocklists are UNRLIABLE and their use is discouraged..
Installation finished. No error reported.
$ sudo update-grub
Generating grub configuration file ...
Found theme: ......
Found linux image: /boot/vmlinuz-4.19-x86-64
Found initrd image: /boot/intel-ucode.img /boot/initramfs-4.19-x86_64.img
Found initrd fallback image: /boot/initramfs-4.19-x86_64-fallback.img
grub-probe: error: cannot find a GRUB drive for /dev/sdb1. Check your device.map
Found memtest86+ image: /boot/memtest86+/memtest.bin
done

It seems sudo update-grub looks for GRUB drive from sdb1, whereas my manjaro was installed in sda

which one? (link from google?)

This is not about your installation. It's about other multi-booted systems.
Maybe BIOS Legacy boot on GPT disk?

From the linked tutorial.

  • In /etc/default/grub, I haveGRUB_TIMEOUT_STYLE=menu and GRUB_TIMEOUT=5

then following

The top 3 commands seem to execute successfully without output, while the forth one still got the same error with sudo grub-install /dev/sda as above:

$ sudo grub-install /dev/sda
Installing for i386-pc platform. 
grub-install: warning: Attempting to install GRUB to a disk with multiple partition labels. This is not supported yet..
grub: warning Embedding is not possible. GrUB can only be installed in this setup by using blocklists. However, bocklists are UNRLIABLE and their use is discouraged..
grub-install: error: will not proceed with blocklists.

with --force being added:

$ sudo update-grub
Generating grub configuration file ...
Found theme: ......
Found linux image: /boot/vmlinuz-4.19-x86-64
Found initrd image: /boot/intel-ucode.img /boot/initramfs-4.19-x86_64.img
Found initrd fallback image: /boot/initramfs-4.19-x86_64-fallback.img
grub-probe: error: cannot find a GRUB drive for /dev/sdb1. Check your device.map
Found memtest86+ image: /boot/memtest86+/memtest.bin
done

the error message come back.

这些。

efibootmgr -v
sudo parted -l
sudo blkid
findmnt -s
findmnt /boot/efi
1 Like
$ efibootmgr -v
EFI variables are not supported on this system.

do the next one.
继续做下一个。

Model: ATA TOSHIBA Q300. (scsi)
Disk /dev/sda: 480GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:

Number  Start   End    Size   Type     File system  Flags
 1      1049kB  480GB  480GB  primary  ext4


Model: SanDisk Cruzer Edge (scsi)
Disk /dev/sdb: 8003MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:

Number  Start   End     Size    Type     File system  Flags
 2      1841MB  1845MB  4194kB  primary               esp
/dev/sda1: UUID="a0360bc6-6023-4141-bcdf-6f89911f40c0" TYPE="ext4" PARTUUID="895b7185-01"
/dev/sdb1: UUID="2019-03-23-12-33-23-00" LABEL="MJRO1804" TYPE="iso9660"
/dev/sdb2: SEC_TYPE="msdos" LABEL_FATBOOT="MISO_EFI" LABEL="MISO_EFI" UUID="5495-6A58" TYPE="vfat"

And the next.

/usr/local >>> findmnt -s                                                                  [130]
TARGET SOURCE                                    FSTYPE OPTIONS
/      UUID=a0360bc6-6023-4141-bcdf-6f89911f40c0 ext4   defaults,noatime,discard
/tmp   tmpfs                                     tmpfs  defaults,noatime,mode=1777
$ findmnt /boot/efi

(nothing output)

Good to see Chinese characters. Haha! (sorry for my poor English :rofl:)

Forum kindly sponsored by Bytemark