help-grub
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Trouble installing to partition: embedding is not possible


From: Xen
Subject: Re: Trouble installing to partition: embedding is not possible
Date: Tue, 25 Jul 2017 16:03:00 +0200
User-agent: Roundcube Webmail/1.2.4

Mistave schreef op 25-07-2017 14:19:

Unfortunately that doesn't work, and grub-install errors out with:
grub-install: warning: Attempting to install GRUB to a partitionless
disk or to a partition.  This is a BAD idea..
grub-install: error: embedding is not possible, but this is required
for RAID and LVM install.

I can't find any useful information about this error online. Why is
this happening, is the dedicated partition (1 meg) too small? Out of
curiosity I tried installing grub to MBR (/dev/sdb) directly, and it
installed fine with no errors (don't worry, I had a backup of the
first 2048 disk sectors which I dd'ed back to the HDD later on).

I'd love to know as well.

Typically Grub does a check for filesystem as you have seen in the error. But I am unsure what happens with partition installs.

So this is, if the code is still the same, the first error:

    if (! ctx.dest_partmap && ! fs && !is_ldm && !is_lvm)
      {
grub_util_warn ("%s", _("Attempting to install GRUB to a partitionless disk or to a partition. This is a BAD idea."));
        goto unable_to_embed;
      }

Your partition doesn't have a filesystem, and doesn't have an LVM or LDM signature (PV/VG), and also doesn't contain a partition table.

I suspect people are going to suggest you create a small ext2 filesystem in your partition and make it slightly bigger.

After the jump you get this:

  if (dest_dev->disk->dev->id != root_dev->disk->dev->id)
grub_util_error ("%s", _("embedding is not possible, but this is required for "
                             "LVM and RAID install"));

The partition you are installing on (dest_dev) does not contain /boot (root_dev) and you get this final error before setup.c (which is this file) errors out.

You already turned off the fs_probe check with -s that would have resulted in this:

    if (fs_probe)
      {
        if (!fs && !ctx.dest_partmap)
grub_util_error (_("unable to identify a filesystem in %s; safety check can't be performed"), dest_dev->disk->name);

But to pass the check that leads to the error, you need to have any one of these succeed:

    (!ctx.dest_partmap && !fs && !is_ldm && !is_lvm)

The easiest way is to create a small filesystem in that partition, I think.

Regards.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]