No sé a ti, pero a mí no me gusta reinstalar mi sistema operativo. Me parece una completa pérdida de tiempo para algo que debería actualizarse en su lugar. Algunas personas, que a menudo usan otras plataformas, prefieren una buena limpieza y reinstalación una vez al año para recuperar la velocidad original de sus sistemas. Simplemente no suscribo este punto de vista. Hay muchas maneras de mantener un sistema y, por lo general, prefiero una depuración de investigación en lugar de borrar y esperar lo mejor.
Por esta razón, los sistemas como mi computadora portátil de trabajo podrían haber comenzado su vida hace mucho tiempo (Fedora 22 en una computadora portátil de cuarta generación basada en i7) y ya han visto tres actualizaciones de hardware, varias actualizaciones de unidades de estado sólido (SSD) y muchos Actualizaciones de Fedora (actualmente uso Fedora 32).
Cuando cambio de sistema, me gusta llevar mi sistema operativo conmigo y esperar que se inicie en la nueva máquina. Pero resulta que es un desastre a punto de suceder debido a las diferencias de hardware entre los sistemas nuevos y antiguos. El problema es que no es tan simple como sacar el disco duro de un sistema antiguo y colocarlo en uno nuevo y esperar que todo funcione como se desea. Este artículo describe cómo mover una instalación de Linux de una pieza de hardware, en este caso, una computadora portátil más antigua, a una más nueva.
La gran advertencia o los diez años de advertencia avanzada que UEFI nos dio
Cuando se introdujo la Interfaz de firmware extensible unificada (UEFI) a principios de la década de 2000, se diseñó para reemplazar el BIOS de la PC (Sistema básico de entrada/salida) y proporcionar a los usuarios de x86 algo tecnológicamente más avanzado. Las personas con sistemas SPARC o PowerPC Mac con OpenBoot PROM (OBP)/OpenFirmware ya habían experimentado el futuro muchos años antes. UEFI quería desalojar el BIOS para que sus predecesores ya no avergonzaran a la PC.
Para que la tecnología UEFI fuera ampliamente adoptada, los fabricantes optaron por hacerla opcional/seleccionable. desde el firmware de la máquina:¿Desea arrancar en modo Legacy BIOS o UEFI? En el transcurso de los siguientes diez años, UEFI lentamente eliminó Legacy BIOS y se convirtió en el modo predeterminado para las máquinas enviadas por los fabricantes.
Para ser justos, UEFI ofrece múltiples ventajas, incluidas estas:
- Hace que el arranque múltiple sea más confiable y flexible.
- Nos da (a los usuarios de Linux) la capacidad de ejecutar
fwupdmgr
para actualizar el firmware en nuestras máquinas desde Linux. Esto incluye casi cualquier firmware, incluso tarjetas complementarias.
En mis sistemas personales, simplemente ignoré el problema de UEFI y seguí habilitando Legacy BIOS en cualquier máquina nueva que obtuviera para poder iniciar mi sistema operativo Linux sin pensarlo dos veces.
Luego, llegó 2020 y apareció una computadora portátil nueva solo con UEFI. Sin arranque heredado de ningún tipo (excepto en memorias USB externas). Meses después, una nueva estación de trabajo portátil basada en Xeon llegó a nuestra casa y, de nuevo, esa bestia solo funcionaría con UEFI.
Estaba atascado con un SSD (BIOS heredado) con formato de registro de arranque maestro (MBR) y una máquina que solo arrancaba en modo UEFI. Siendo un habilidoso y un usuario de Linux, me dispuse a investigar el problema y la solución resultó no ser demasiado difícil y solo requeriría unos cinco minutos una vez que haya determinado qué hacer.
Una palabra de advertencia y algunas advertencias
Al encontrar el "procedimiento correcto" para mis sistemas físicos, dañé la máquina virtual de prueba que estaba usando varias veces. También corrompí uno de los sistemas de mi computadora portátil una vez, pero tenía una imagen completa de mi SSD gracias a CloneZilla. He aquí algunos consejos:
- Realice una copia de seguridad completa a nivel de imagen de su sistema antes de continuar. Estarás tocando tus discos y las herramientas utilizadas para facilitar la eliminación de algo sin confirmación. Podría usar CloneZilla, AOMEI Partition Assistant,
dd
, o incluso Norton Ghost para hacer eso. Hay docenas de herramientas que hacen bien el trabajo. - Este procedimiento funciona incluso si tiene una máquina de arranque dual. Funciona con Logical Volume Manager (LVM), particiones simples y también con Linux Unified Key Setup (LUKS) o cualquier combinación de los mismos. Simplemente debe tener cuidado y adaptar las instrucciones a su configuración.
- Para realizar este procedimiento, es necesario colocar su querido SSD en una máquina que pueda realizar ambos modos de arranque:Legacy BIOS y UEFI. Si intenta el procedimiento en un dispositivo solo BIOS, tendrá que esperar hasta que mueva su HDD o SSD a una máquina UEFI para saber si funcionó.
- No tiene que mover físicamente su SSD a otra máquina. Simplemente puede clonar el antiguo SSD con formato MBR en un nuevo SSD en otra máquina y trabajar desde allí. Cambiarás la estructura de las particiones en tu disco. Ya sea que se trate de un dispositivo temporal o de un nuevo SSD en una computadora portátil nueva, depende totalmente de usted.
- En el desafortunado caso de que no tenga espacio en disco que pueda liberar fácilmente en su SSD, todavía hay formas de operar. Los últimos cientos de MB de su LVM PV (volumen físico) podrían eliminarse de sus PE y el LVM PV podría redimensionarse para dejar espacio para la partición EFI. No describiré esto aquí, pero encontrará algunas referencias al final del artículo. Otra opción es aprovechar la oportunidad de comprar un SSD un poco más grande y restaurar su sistema Linux en él para tener algo de espacio libre.
- Trabaje lentamente en el proceso y no dude en hacer preguntas en línea si necesita ayuda. Hay docenas de grupos de usuarios de Linux que te ayudarán si te quedas atascado.
- Este artículo se escribió en un sistema portátil recién reinstalado con Fedora 33, pero se aplica a muchas configuraciones diferentes.
- No intente esto si usa el sistema de archivos B-tree (BTRFS) con Fedora 33. No pude hacerlo funcionar después de convertir mi disco a la tabla de particiones GUID (GPT) cuando usé BTRFS.
¿Estoy usando un BIOS heredado?
Hay dos buenos indicadores de una máquina arrancada en Legacy BIOS.
1) Su disco de arranque tiene partición DOS/MBR:
[raistlin@localhost ~]$ sudo su -
[root@localhost ~]# df -h /
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 119G 7.1G 111G 6% /
[root@localhost ~]# file -s /dev/sda
/dev/sda: DOS/MBR boot sector
2) Su kernel de Linux no tener variables EFI:
[root@localhost ~]# ls /sys/firmware/efi
ls: cannot access '/sys/firmware/efi': No such file or directory
En una máquina en modo UEFI, lo anterior produce un resultado similar a este:
[root@localhost ~]# ls /sys/firmware/efi
config_table efivars esrt [...] runtime runtime-map systab vars
Inspeccionar el disco de arranque y decidir una estrategia
De lo anterior, descubrí que mi disco de arranque es /dev/sda
. Eche un vistazo más de cerca con parted
:
[root@localhost ~]# parted /dev/sda
GNU Parted 3.3
Using /dev/sda
Welcome to GNU Parted! Type' help' to view a list of commands.
(parted) p
Model: ATA LITEON L8H-128V2 (scsi)
Disk /dev/sda: 128GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 1075MB 1074MB primary ext4 boot
2 1075MB 128GB 127GB primary lvm
De lo anterior, verá que solo hay dos particiones presentes. La primera partición es una partición pequeña de 1 GiB, formateada como ext4 y contiene los granos. La segunda partición es una bestia diferente y usa LVM. Aunque he estado contento con LVM en mis sistemas Linux, no lo tocaré por el momento.
En consecuencia, usaré el espacio ocupado por la primera partición para hacer espacio para GPT y UEFI.
Tenga en cuenta que si usa LUKS o LVM, el procedimiento de conversión a UEFI también podría ser más seguro si usa la partición de arranque y su espacio.
Si recogiste BTRFS (el valor predeterminado en Fedora 33), esto podría no funcionar para usted, y mi intento inicial no pudo arrancar justo después de convertir el disco a GPT.
Si su partición de arranque es más pequeña que 1G y todo el espacio está ocupado por particiones, puede que no sea seguro hacer /boot
menor que 512-600Mib. Es posible que no tenga suficiente espacio para continuar, y tal vez ahora sea un buen momento para obtener un SSD un poco más grande en el que pueda clonar su sistema.
Mi nombre es /dev/sda1
La partición de arranque en esta máquina tiene un tamaño de 1 Gib y tiene suficiente espacio libre para que podamos continuar:
[root@localhost ~]# df -h /boot
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 976M 238M 672M 21% /boot
Primero, cambia el tamaño del sistema de archivos a 512M:
[root@localhost ~]# resize2fs /dev/sda1 512M
resize2fs 1.45.6 (20-Mar-2020)
Filesystem at /dev/sda1 is mounted on /boot; on-line resizing required resize2fs: On-line shrinking not supported
Umount
primero (puede, ya que Linux solo monta /boot
como una conveniencia):
[root@localhost ~]# umount /boot
[root@localhost ~]# resize2fs /dev/sda1 512M
resize2fs 1.45.6 (20-Mar-2020)
Please run 'e2fsck -f /dev/sda1' first.
[root@localhost ~]# e2fsck -f /dev/sda1
e2fsck 1.45.6 (20-Mar-2020)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/sda1: 414/65536 files (0.7% non-contiguous), 63590/262144 blocks
[root@localhost ~]# resize2fs /dev/sda1 512M
resize2fs 1.45.6 (20-Mar-2020)
Resizing the filesystem on /dev/sda1 to 131072 (4k) blocks.
The filesystem on /dev/sda1 is now 131072 (4k) blocks long.
[root@localhost ~]# mount /boot
[root@localhost ~]# df -h /boot
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 472M 200M 237M 46% /boot
El ext4 El sistema de archivos se redimensionó, pero la partición aún tiene un tamaño de 1 Gib. Lo cambiará de tamaño a continuación. Reducirá la partición a un tamaño ligeramente superior la del /boot
sistema de archivos para estar a salvo de errores de redondeo. Redúzcalo a 700 Mib, lo que dejará unos 300 Mib libres. Dado que el sistema de archivos dentro de esa partición ahora tiene 512 Mib, es seguro reducir la partición de 1024 Mib a 700 Mib.
[root@localhost ~]# fdisk -l /dev/sda|grep sda1
/dev/sda1 * 2048 2099199 2097152 1G 83 Linux
[root@localhost ~]# parted /dev/sda
GNU Parted 3.3
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) resizepart 1 700M
Warning: Shrinking a partition can cause data loss, are you sure you want to continue? Yes/No? yes
(parted) p
Model: ATA LITEON L8H-128V2 (scsi)
Disk /dev/sda: 128GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 700MB 699MB primary ext4 boot
2 1075MB 128GB 127GB primary btrfs
(parted) quit
Information: You may need to update /etc/fstab.
[root@localhost ~]#
A continuación, vuelva a extender el sistema de archivos al tamaño completo de la partición (700Mib):
[root@localhost ~]# partprobe
[root@localhost ~]# resize2fs /dev/sda1
resize2fs 1.45.6 (20-Mar-2020)
Resizing the filesystem on /dev/sda1 to 170642 (4k) blocks.
The filesystem on /dev/sda1 is now 170642 (4k) blocks long.
La operación de cambio de tamaño concluye con el crecimiento de ext4 sistema de archivos de 512Mib al tamaño de la partición subyacente, que es 700Mib.
También podría haber usado Gparted para monitorear el progreso de los pasos anteriores. Aquí hay una captura de pantalla de la situación inicial:

Tan pronto como cambia el tamaño del sistema de archivos, aparece una advertencia:

Después de que la partición de arranque se redimensiona a 700M, una no asignada la fila aparece en Gparted:

Una vez que el sistema de archivos se vuelve a extender al tamaño de la partición, la advertencia desaparece:

Además, como es común en Linux, podría haber realizado toda la operación con un solo clic en GParted, pero no habría sido tan divertido:

Convertir el disco a GPT
Con algo de espacio libre disponible, ahora puede convertir el disco a GPT. Primero, necesitas instalar algunas herramientas:
[root@localhost ~]# yum install gdisk grub2-efi-x64-modules efibootmgr grub2-tools-efi -y Last metadata expiration check: 1:32:33 ago on Wed 27 Jan 2021 05:01:42 PM EST.
Package gdisk-1.0.6-1.fc33.x86_64 is already installed.
Package efibootmgr-16-9.fc33.x86_64 is already installed.
Package grub2-tools-efi-1:2.04-31.fc33.x86_64 is already installed.
Dependencies resolved.[...]
Usa gdisk
para convertir la tabla de particiones a GPT y crear la partición de arranque del BIOS que necesita GRUB. Esta partición tendrá el número 3 (la primera partición disponible) y ser extraído de los primeros sectores del disco (sectores 34 a 2047).
[root@localhost ~]# gdisk /dev/sda
GPT fdisk (gdisk) version 1.0.6
Warning: The partition table header claims that the size of partition table entries is 12255407 bytes, but this program supports only 128-byte entries. Adjusting accordingly, but the partition table may be garbage.
Warning: Partition table header claims that the size of partition table entries is 0 bytes, but this program supports only 128-byte entries.
Adjusting accordingly, but the partition table may be garbage.
Partition table scan:
MBR: MBR only
BSD: not present
APM: not present
GPT: not present
***************************************************************
Found invalid GPT and valid MBR; converting MBR to GPT format
in memory. THIS OPERATION IS POTENTIALLY DESTRUCTIVE! Exit by
typing 'q' if you don't want to convert your MBR partitions
to GPT format!
***************************************************************
Command (? for help): p
Disk /dev/sda: 250069680 sectors, 119.2 GiB
Model: LITEON L8H-128V2
Sector size (logical/physical): 512/512 bytes
Disk identifier (GUID): 6681F0D6-F645-4F97-93A5-E7E5E3912C62
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 250069646
Partitions will be aligned on 2048-sector boundaries
Total free space is 734681 sectors (358.7 MiB)
Number Start (sector)
1 2048
2 2099200
End (sector) Size Code Name
1367187 666.6 MiB 8300 Linux filesystem
250068991 118.2 GiB 8300 Linux filesystem
Command (? for help): n
Partition number (3-128, default 3): 3
First sector (34-250069646, default = 1368064) or {+-}size{KMGTP}: 34
Last sector (34-2047, default = 2047) or {+-}size{KMGTP}: [Press Enter to accept 2047] Current type is 8300 (Linux filesystem)
Hex code or GUID (L to sho codes, Enter = 8300): ef02
Changed type of partition to 'BIOS boot partition'
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sda.
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot or after you
run partprobe(8) or kpartx(8)
The operation has completed successfully.
Así es como se ve el disco ahora:
[root@localhost ~]# partprobe
[root@localhost ~]# fdisk -l /dev/sda|grep sda
Disk /dev/sda: 119.24 GiB, 128035676160 bytes, 250069680 sectors
/dev/sda1 2048 1367187 1365140 666.6M Linux filesystem
/dev/sda2 2099200 250068991 247969792 118.2G Linux filesystem
/dev/sda3 34 2047 2014 1007K BIOS boot
A continuación, reinstale el cargador de arranque GRUB. Si tiene una versión más reciente de grub, en lugar de usar grub2-install....
utilice dnf reinstall shim-* grub2-efi-*
en cambio:
[root@localhost ~]# grub2-install /dev/sda
Installing for i386-pc platform.
Installation finished. No error reported.
[root@localhost ~]#
Si solo deseaba convertir su disco de MBR a GPT, esa parte ya está terminada. En este punto, recomendaría reiniciar su sistema para verificar que su máquina basada en BIOS pueda iniciar el disco GPT recién convertido.
Así es como se ve el disco ahora:

Esto también se puede ver desde el shell:
[root@localhost ~]# fdisk -l /dev/sda
Disk /dev/sda: 119.24 GiB, 128035676160 bytes, 250069680 sectors
Disk model: LITEON L8H-128V2
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: 6681F0D6-F645-4F97-93A5-E7E5E3912C62
Device Start End Sectors Size Type
/dev/sda1 2048 1367187 1365140 666.6M Linux filesystem
/dev/sda2 2099200 250068991 247969792 118.2G Linux LVM
/dev/sda3 34 2047 2014 1007K BIOS boot
Partition table entries are not in disk order.
Agregar la partición del sistema EFI
A continuación, utilice el espacio liberado anteriormente para crear una cuarta partición:la partición del sistema EFI.
[root@localhost ~]# gdisk /dev/sda
GPT fdisk (gdisk) version 1.0.6
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help): p
Disk /dev/sda: 250069680 sectors, 119.2 GiB
Model: LITEON L8H-128V2
Sector size (logical/physical): 512/512 bytes
Disk identifier (GUID): 6681F0D6-F645-4F97-93A5-E7E5E3912C62
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 250069646
Partitions will be aligned on 2-sector boundaries
Total free space is 732667 sectors (357.7 MiB)
Number Start (sector)
End (sector) Size Code Name
1367187 666.6 MiB 8300 Linux filesystem
250068991 118.2 GiB 8E00 Linux LVM
2047 1007.0 KiB EF02 BIOS boot partition
1 2 3
2048
2099200
34
Command (? for help): n
Partition number (4-128, default 4): [Press Enter to accept 4]
First sector (1367188-250069646, default = 1367188) or {+-}size{KMGTP}: [Press Enter to accept 1367188]
Last sector (1367188-2099199, default = 2099199) or {+-}size{KMGTP}: [Press Enter to accept 2099199]
Current type is 8300 (Linux filesystem)
Hex code or GUID (L to show codes, Enter = 8300): ef00
Changed type of partition to 'EFI system partition'
Command (? for help): p
Disk /dev/sda: 250069680 sectors, 119.2 GiB
Model: LITEON L8H-128V2
Sector size (logical/physical): 512/512 bytes
Disk identifier (GUID): 6681F0D6-F645-4F97-93A5-E7E5E3912C62
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 250069646
Partitions will be aligned on 2-sector boundaries
Total free space is 655 sectors (327.5 KiB)
Number Start (sector)
End (sector) Size
1367187 666.6 MiB
250068991 118.2 GiB
Code Name
8300 Linux filesystem
8E00 Linux LVM
1 2 3 4
2048
2099200
34
1367188
2047 1007.0 KiB EF02 BIOS boot partition 2099199 357.4 MiB EF00 EFI system partition
A continuación, agregue una etiqueta a la partición EFI para hacer referencia a ella más adelante con mayor facilidad. Esto también se hace en gdisk
:
Command (? for help): c
Partition number (1-4): 4
Enter name: EFI-system
Command (? for help): p
Disk /dev/sda: 250069680 sectors, 119.2 GiB
Model: LITEON L8H-128V2
Sector size (logical/physical): 512/512 bytes
Disk identifier (GUID): 6681F0D6-F645-4F97-93A5-E7E5E3912C62
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 250069646
Partitions will be aligned on 2-sector boundaries
Total free space is 655 sectors (327.5 KiB)
Number Start (sector)
End (sector) Size
1367187 666.6 MiB
250068991 118.2 GiB
Code Name
8300 Linux filesystem
8E00 Linux LVM
1 2 3 4
2048
2099200
34
1367188
2047 1007.0 KiB EF02 BIOS boot partition
2099199 357.4 MiB EF00 EFI-system
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sda.
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot or after you
run partprobe(8) or kpartx(8)
The operation has completed successfully.
Ahora debería ver aparecer la partición en /dev/disk/by-partlabel
:
[root@localhost ~]# partprobe
[root@localhost ~]# ls -l /dev/disk/by-partlabel/
total 0
lrwxrwxrwx. 1 root root 10 Jan 27 21:57 'BIOS\x20boot\x20partition' -> ../../sda3 lrwxrwxrwx. 1 root root 10 Jan 27 21:57 EFI-system -> ../../sda4
lrwxrwxrwx. 1 root root 10 Jan 27 21:57 'Linux\x20filesystem' -> ../../sda1 lrwxrwxrwx. 1 root root 10 Jan 27 21:57 'Linux\x20LVM' -> ../../sda2
La partición de arranque EFI debe estar formateada como vfat :
[root@localhost ~]# mkfs -t vfat -v /dev/disk/by-partlabel/EFI-system
mkfs.fat 4.1 (2017-01-24)
/dev/disk/by-partlabel/EFI-system has 255 heads and 63 sectors per track,
hidden sectors 0x14dc94;
logical sector size is 512,
using 0xf8 media descriptor, with 732012 sectors;
drive number 0x80;
filesystem has 2 16-bit FATs and 16 sectors per cluster.
FAT size is 192 sectors, and provides 45723 clusters.
There are 16 reserved sectors.
Root directory contains 512 slots and uses 32 sectors.
Volume ID is 855d115e, no volume label.
Ahora es el momento de montar esta partición y mover los datos del subdirectorio efi que antes se encontraba debajo de /boot
pero primero verifique si se instalaron los archivos adecuados (los nombres variarán según su distribución de Linux). Esto es lo que tengo en mi sistema Fedora 33:
[root@localhost ~]# du /boot/efi
8 /boot/efi/System/Library/CoreServices
12 /boot/efi/System/Library
16 /boot/efi/System
2508 /boot/efi/EFI/fedora/fonts
17988 /boot/efi/EFI/fedora
2748 /boot/efi/EFI/BOOT
20740 /boot/efi/EFI
20764 /boot/efi
[root@localhost ~]# df -h /boot/efi
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 623M 237M 340M 42% /boot
[root@localhost ~]# find /boot/efi -name shim\*
/boot/efi/EFI/fedora/shimx64.efi
/boot/efi/EFI/fedora/shim.efi
/boot/efi/EFI/fedora/shimia32.efi
/boot/efi/EFI/fedora/shimx64-fedora.efi
/boot/efi/EFI/fedora/shimia32-fedora.efi
[root@localhost ~]# mount -t vfat /dev/disk/by-partlabel/EFI-system /mnt
[root@localhost ~]# mv /boot/efi/* /mnt
[root@localhost ~]# umount /mnt
[root@localhost ~]# du /boot/efi
4 /boot/efi
Ahora es el momento de agregar esta partición a /etc/fstab
y mount
es:
[root@localhost ~]# echo ‘/dev/disk/by-partlabel/EFI-system /boot/efi vfat defaults 0 2’ >> /etc/fstab
[root@localhost ~]# mount /boot/efi
[root@localhost ~]#
Cierta verificación está en orden en esta etapa. La partición EFI debe montarse y contener los datos que copió anteriormente:
root@localhost ~]# df /boot/efi
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda4 365784 20832 344952 6% /boot/efi
[root@localhost ~]# du /boot/efi
2760 /boot/efi/EFI/BOOT
2512 /boot/efi/EFI/fedora/fonts
18024 /boot/efi/EFI/fedora
20792 /boot/efi/EFI
16 /boot/efi/System/Library/CoreServices
24 /boot/efi/System/Library
32 /boot/efi/System
20848 /boot/efi
Ahora es el momento de reinstalar el cargador de arranque GRUB y hacer cumplir el arranque UEFI. Como arriba, si tiene una versión más nueva de grub, en lugar de usar grub2-install....
use dnf reinstall shim-* grub2-efi-*
en cambio:
[root@localhost ~]# grub2-install --target=x86_64-efi /dev/sda
Installing for x86_64-efi platform.
EFI variables are not supported on this system.
EFI variables are not supported on this system.
grub2-install: error: efibootmgr failed to register the boot entry: No such file or directory.
[root@localhost ~]#
Los tres mensajes de error que se muestran arriba son normales y están relacionados con la ausencia de variables de firmware EFI. Esto sucede en el momento actual porque la última vez que arrancó la PC fue en modo Legacy BIOS. Una vez que esté en modo UEFI completo, estos errores desaparecerán. Respira hondo, reinicia tu PC y prepárate para ingresar a su firmware para cambiar su modo de arranque.
[ También te puede interesar: Cómo configurar el arranque PXE para hardware UEFI ]
Apagar y cambiar el firmware de Legacy BIOS a UEFI.
Las siguientes capturas son específicas del sistema en el que realicé el procedimiento. Debe buscar las instrucciones en el manual de su sistema para averiguar cómo cambiar de BIOS a UEFI. Aquí hay un ejemplo en mi computadora portátil:



Guarde la configuración y salga del firmware. Su PC se reiniciará e intentará iniciarse desde su disco en modo UEFI. Es posible que tenga que seleccionar su disco manualmente la primera vez que arranque en modo UEFI.
Arranque exitoso
Inmediatamente después del arranque, inicie sesión y comience a disfrutar de su Linux renovado con UEFI. Sí, todos sus archivos, cuentas y programas seguirán estando allí.
[root@localhost ~]# efibootmgr
BootCurrent: 0014
Timeout: 0 seconds
BootOrder: 0014,0013,0009,000D,0007,000A,000B,000C,0008,0012
Boot0000 Setup
Boot0001 Boot Menu
Boot0002 Diagnostic Splash Screen
Boot0003 Lenovo Diagnostics
Boot0004 Startup Interrupt Menu
Boot0005 Rescue and Recovery
Boot0006 MEBx Hot Key
Boot0007* USB CD
Boot0008* USB FDD
Boot0009* ATA HDD0
Boot000A* ATA HDD1
Boot000B* ATA HDD2
Boot000C* USB HDD
Boot000D* PCI LAN
Boot000E* IDER BOOT CDROM
Boot000F* IDER BOOT Floppy
Boot0010* ATA HDD
Boot0011* ATAPI CD
Boot0012* PCI LAN
Boot0013* Windows Boot Manager
Boot0014* Fedora
[root@localhost ~]# fwupdmgr get-devices|grep -i lenovo
│ Vendor: │ Vendor: Vendor:
LENOVO (DMI:LENOVO)
DMI:LENOVO
DMI:LENOVO
Gparted muestra el estado final del disco:

[ Hoja de referencia gratuita:obtenga una lista de utilidades y comandos de Linux para administrar servidores y redes. ]
Resumir

Ya sea que desee reinstalar desde cero o actualizar su entorno operativo en su lugar, hay muchas maneras de lograrlo con éxito. Sé dónde radica mi propia preferencia y esta publicación de blog intenta compartir algunos de los consejos que aprendí recientemente. Ten cuidado. Verifique la salida de sus comandos. Pide ayuda si necesitas algo. Además, hay herramientas en otros sistemas operativos para facilitar la conversión si así lo desea; un ejemplo de ello es el Asistente de partición AOMEI gratuito para plataformas Windows.
Curiosamente, a pesar de que esta computadora portátil con Fedora 33 cambió con éxito de BIOS a UEFI con GPT, no había actualizaciones de firmware disponibles a través de LVFS porque el sistema era demasiado antiguo.