grub2-install: "esta etiqueta de partición GPT no contiene ninguna partición de arranque del BIOS"

grub2-install: "esta etiqueta de partición GPT no contiene ninguna partición de arranque del BIOS"

Parece haber bastante discusión sobre esto pero no puedo encontrar una respuesta simple.

Cuando intento instalar grub2 aparece este error:

# grub2-install /dev/sda
Installing for i386-pc platform.
grub2-install: warning: this GPT partition label contains no BIOS Boot Partition; embedding won't be possible.
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.

Aquí está el diseño de /dev/sda:

Disk /dev/sda: 111.8 GiB, 120034123776 bytes, 234441648 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 7ECE06D0-9F0C-44FF-BCFB-142283172CCA

Device        Start       End   Sectors  Size Type
/dev/sda1      2048    411647    409600  200M Linux filesystem (/boot)
/dev/sda2    411648   4605951   4194304    2G Linux swap
/dev/sda3   4605952  46548991  41943040   20G Linux filesystem (/)
/dev/sda4  46548992 234441614 187892623 89.6G Linux LVM (/var)

¿Existe alguna forma sencilla de solucionar este problema? Entiendo que necesito crear una pequeña partición al principio del disco como "Partición de arranque del BIOS". Supongo que una opción sería mover el intercambio a /dev/sda4 como volumen lógico y usar /dev/sda2 como /boot.

Alternativamente, podría simplemente volver a grub-legacy y no preocuparme por eso (¿hay alguna opción?).en realidad¿Una ventaja de actualizar a grub2 si causa tantos problemas?).

¿Pensamientos?

Respuesta1

Primero debe determinar si desea utilizar un arranque en modo BIOS/CSM/heredado o un arranque en modo EFI/UEFI. La primera es la forma en que las PC han estado arrancando desde la década de 1980, pero es un sistema feo y pirateado que seguirá el camino del dodo en poco tiempo. Windows vincula el arranque en modo BIOS a la tabla de particiones MBR, que no está utilizando (pero podría hacerlo; su disco no es lo suficientemente grande como para requerir GPT). Linux, FreeBSD y la mayoría de los demás sistemas operativos modernos son más flexibles y admiten el arranque en modo BIOS desde GPT; pero a veces hay complicaciones creadas por el firmware y, por supuesto, si luego decide instalar Windows en una configuración de arranque dual, necesitará realizar cambios o compromisos.

El arranque en modo EFI/UEFI es menos complicado; pero las implementaciones de EFI varían mucho en calidad y el nivel general de experiencia y soporte en la Web para EFI es menor que el de BIOS. Windows vincula el uso de GPT con el arranque en modo EFI, por lo que si alguna vez espera instalar Windows en su computadora, EFI es definitivamente el camino a seguir. Las computadoras más antiguas solo tienen BIOS. EFI comenzó a despegar en el mercado a mediados de 2011, por lo que si su computadora es más antigua, es posible que no pueda usar EFI.

Si opta por el arranque en modo BIOS, debe crear unPartición de arranque del BIOSen el disco. Hay suficiente espacio al inicio de su disco para esta partición, pero necesitará establecer el valor de alineación del sector en 1 (del habitual 2048) para que esto funcione. No sé si esto se puede hacer con parted, pero puedes hacerlo con gdisk. (Tenga en cuenta que el espacio al inicio de su disco está ligeramente por debajo del tamaño recomendado de 1 MiB para una partición de arranque del BIOS, pero solo por unos pocos sectores. Probablemente funcionará bien, pero es posible que falle en algún momento en el futuro). , puede reducir cualquiera de sus particiones entre 1 y 2 MiB para dejar espacio para la partición de arranque del BIOS. Esta partición nonodebe ser la primera partición del disco, aunque esa es la ubicación convencional.

Si opta por el arranque en modo EFI/UEFI, debe crear unPartición del sistema EFI (ESP).Esta partición debe tener formato FAT y debe ser significativamente más grande que una partición de arranque del BIOS, por lo que tendrás que cambiar el tamaño de algo para crearla. Recomiendo un tamaño de 550MiB, aunque una décima parte de ese tamaño podría funcionar en caso de necesidad.

Para instalar GRUB, primero debe asegurarse de haber instalado el paquete de GRUB correcto. No estoy seguro del nombre en todas las distribuciones, pero en Ubuntu, sería grub-pcpara BIOS/CSM/modo heredado y grub-efi-amd64para modo EFI/UEFI. Una instalación en modo EFI también requerirá iniciar lo que esté usando para instalar GRUB (un CD/USB en vivo, presumiblemente) en modo EFI. Hacer esto puede requerir el uso del administrador de arranque integrado de su computadora, al que generalmente se accede mediante una tecla de función, pero los detalles varían de una computadora a otra.

Respuesta2

Ya tienes esta pequeña partición, así que la primera partición no comienza con 1 sino con 2048.

/dev / sda1 2048 411647 409600 200M Linux file system (/boot)

Necesita cambiar el tipo de etiqueta, debotaabios_grubpor ejemplo a través de partido:

parted /dev/sda
set 1 boot off
set 1 bios_grub on
q

Entonces otra vez:

grub2-install /dev/sda

Respuesta3

Si desea utilizar particiones GPT con el modo de arranque BIOS de estilo antiguo, entonces necesita crear una partición BIOS de unos pocos megabytes (16MiB debería estar bien y a prueba de futuro) en el dispositivo donde desea instalar grub grub-install.

Úselo, por ejemplo, fdiskpara crear la partición de tipo "Arranque BIOS" en algún lugar de su disco. Salida de ejemplo:

# fdisk -l /dev/sda
Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 57E16A16-36B4-4445-A216-031EF6501415

Device        Start        End    Sectors   Size Type
/dev/sda1      2048    4196351    4194304     2G Linux RAID
/dev/sda2   4196352   35653631   31457280    15G Linux RAID
/dev/sda3  35653632   37750783    2097152     1G Linux swap
/dev/sda4  37750784   37816319      65536    32M BIOS boot
/dev/sda5  37816320 1953525134 1915708815 913.5G Linux LVM

Respuesta4

Tuve este problema hace un momento en una máquina en modo EFI con un disco GPT (Servidor Ubuntu 18.04), que un día decidió arrancar solo hasta el shell GRUB por sí solo.

De alguna manera, se instaló grub-pc (para máquinas en modo BIOS/i386) y grub-efi no. La solución fue sencilla una vez que se identificó el problema:

# apt install grub-efi
# update-grub
# grub-install

Tenga en cuenta que el primer comando desinstaló grub-pc.

información relacionada