Páginas

domingo, 24 de octubre de 2021

Actualizar zpool en FreeBSD 13.0 UEFI partition

Modos de arranque FreeBSD BIOS y UEFI

FreeBSD soporta ambos modos de arranque, pero con diferencias importantes en cómo gestiona cada uno:BIOS (modo legacy)

Gestor de arranque: Usa el bootloader tradicional de FreeBSD (boot0/boot1/boot2) o GRUB si se prefiere.

Tabla de particiones: Requiere MBR (Master Boot Record) o, alternativamente, GPT con un protective MBR y un pequeño BIOS boot partition .

Limitaciones: arranque desde discos de hasta ~2 TiB, máximo 4 particiones primarias (o extendidas).

Proceso: el BIOS lee el sector 0 del disco, carga el boot loader de FreeBSD, que luego carga el kernel ( /boot/kernel/kernel ).

UEFI

Gestor de arranque: FreeBSD instala su propio ejecutable EFI ( boot1.efi ) en la EFI System Partition (ESP), típicamente en EFI/freebsd/ .

Tabla de particiones: Requiere GPT (GUID Partition Table). Es el esquema recomendado para instalaciones modernas.

Ventajas: soporte para discos mayores a 2 TiB, arranque más rápido, Secure Boot (con limitaciones), y mejor integración con firmware moderno.

Proceso: el firmware UEFI ejecuta directamente boot1.efi , que carga el kernel sin necesidad de los intermediarios del modo BIOS.

Después de actualizar el pool el código de inicio del disco duro también se debe actualizar, de manera que se pueda iniciar el sistema sin problemas.

El instalador de FreeBSD 13.0 con zfs elige una partición de arranque BIOS tradicional freebsd-boot y una partición UEFI efi.

gpart show
          40  1953525088  ada0  GPT  (932G)
          40      532480    1   efi  (260M)
      532520        1024    2   freebsd-boot  (512K)
      533544         984        - free -  (492K)
      534528     4194304    3   freebsd-swap  (2.0G)
     4728832  1948794880    4   freebsd-zfs  (929G)
  1953523712        1416        - free -  (708K)
 zpool upgrade -a
This system supports ZFS pool feature flags.

Enabled the following features on 'zroot': allocation_classes

If you boot from pool 'zroot', don't forget to update boot code. Assuming you use GPT partitioning and da0 is your boot disk the following command will do it:

 gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 2 da0

Si el arranque de su sistema es UEFI al ejecutar el código anterior y hacer un reboot el sistema no se iniciará.

Para actualizar una partición EFI:

 mount -t msdosfs /dev/ada0p1 /mnt
 mv /mnt/boot/efi0/efi/boot/bootx64.efi /mnt/efi/boot/bootx64.efi-old
 cp /boot/loader.efi /mnt/boot/efi0/efi/boot/bootx64.efi
 umount /mnt
 reboot
FreeBSD es genial!.

No hay comentarios:

Publicar un comentario