fedora 31: grub2-install: warning: File system `ext2' doesn't support embedding.


I changed from linode kernel to using grub2 [1]. Following these instructions [2]. I've used grub in the past, but had to fall back to linode kernel to recover a grub issue re BLS. I'm trying to go back to grub2, so I can boot the fedora 31 supplied kernel (custom later.)

I am trying to run grub2-install /dev/sda and get the error in $subject. Specifically:

$ sudo grub2-install /dev/sda 
Installing for i386-pc platform.
grub2-install: warning: File system `ext2' doesn't support embedding.
grub2-install: warning: Embedding is not possible.  GRUB can only be installed in this setup by using blocklists.  However, blocklists are UNRELIABLE and their use is discouraged..
grub2-install: error: will not proceed with blocklists.

Should I ignore? Do I need to use --force?

Debugging, I noticed other things that look strange:

$ sudo fdisk -l /dev/sda 
Disk /dev/sda: 79.77 GiB, 85635104768 bytes, 167256064 sectors
Disk model: QEMU HARDDISK   
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

I don't see any partitions

$ sudo gdisk -l /dev/sda 
GPT fdisk (gdisk) version 1.0.5

Partition table scan:
  MBR: not present
  BSD: not present
  APM: not present
  GPT: not present

Creating new GPT entries in memory.
Disk /dev/sda: 167256064 sectors, 79.8 GiB
Sector size (logical/physical): 512/512 bytes
Disk identifier (GUID): 3FF8BC10-5A44-4BCD-8696-7282ABED16A6
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 167256030
Partitions will be aligned on 2048-sector boundaries
Total free space is 167255997 sectors (79.8 GiB)

Number  Start (sector)    End (sector)  Size       Code  Name

When I saw MBR: not present I thought I should get a linode set of eyes.

$ sudo lsblk 
loop0                     7:0    0  100G  0 loop 
└─docker-8:0-54649-pool 253:0    0  100G  0 dm   
loop1                     7:1    0    2G  0 loop 
└─docker-8:0-54649-pool 253:0    0  100G  0 dm   
sda                       8:0    0 79.8G  0 disk /
sdb                       8:16   0  260M  0 disk [SWAP]

I need to get things right on this specific node. The node has been around since fedora 19, upgrading on version at a time.

[1] Due to /etc/default/grub BLS issue, I needed to boot linode kernel to recover

[2] https://docs.fedoraproject.org/en-US/fedora/rawhide/system-administrators-guide/kernel-module-driver-configuration/Working_with_the_GRUB_2_Boot_Loader/#sec-grub2-reinstall_on_BIOS-Based_Machines

2 Replies

As long as you are not using Direct Disk Boot, you don't have to run grub2-install; you just need grub installed so that it'll generate grub.cfg for Linode's grub "kernel" to read from.

GRUB on Linode works a bit differently - as I understand it, the host injects it’s own version of GRUB2 when the Linode is booted, so it doesn’t need to be installed in the MBR.

It does still use the config files in /boot/grub (or /boot/grub2.)

To update your GRUB config, change the config file (e.g. /etc/default/grub) and run:

grub2-mkconfig -o /boot/grub2/grub.cfg

I’m not sure if it’s possible to use your own version of GRUB (I assume this is where the “Direct Disk” option comes in) but someone more experienced in the internals of Linodes will be better placed to answer that.


Please enter an answer

You can mention users to notify them: @username

You can use Markdown to format your question. For more examples see the Markdown Cheatsheet.

> I’m a blockquote.

I’m a blockquote.

[I'm a link] (https://www.google.com)

I'm a link

**I am bold** I am bold

*I am italicized* I am italicized

Community Code of Conduct