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-pc
para BIOS/CSM/modo heredado y grub-efi-amd64
para 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, fdisk
para 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.