¿Cómo convierto el esquema de particiones MBR predeterminado a GPT para mi instancia de Ubuntu de EC2?

8 minutos de lectura
0

Mi instancia de Ubuntu 16.04, 18.04 o 20.04 de Amazon Elastic Compute Cloud (Amazon EC2) tiene una cuota máxima de 2 tebibytes (TiB) para particiones MBR. Para omitir la cuota, quiero pasar a un esquema de particiones GPT en mi volumen de Amazon Elastic Block Store (Amazon EBS).

Descripción corta

Las versiones 22.04 y posteriores de Ubuntu usan las particiones GPT de forma predeterminada. Sin embargo, debes configurar manualmente las particiones GPT para las versiones 16.04, 18.04 y 20.04 de Ubuntu.

Resolución

Importante: Antes de detener e iniciar la instancia, lleva a cabo las siguientes acciones:

Nota: Al detener e iniciar una instancia, la dirección IP pública de la instancia cambia. Se recomienda utilizar una dirección IP elástica para enrutar el tráfico externo hacia la instancia en lugar de una dirección IP pública. Si usas Amazon Route 53, es posible que tengas que actualizar los registros DNS de Route 53 cuando cambies la dirección IP pública.

Para convertir el esquema de particiones MBR predeterminado de la instancia de Ubuntu a GPT, sigue estos pasos:

  1. Abre la consola de Amazon EC2.

  2. Inicia una instancia desde una imagen de máquina de Amazon (AMI) que ejecute Ubuntu.

  3. Inicia una segunda instancia desde la misma AMI de Ubuntu con un volumen raíz de 3 TiB en la misma zona de disponibilidad.

  4. Detén la segunda instancia.

  5. Separa el volumen raíz /dev/xvda o /dev/sda1 de la segunda instancia. A continuación, adjunta el volumen raíz como /dev/sdf a la primera instancia.

  6. Usa SSH para conectarte a la primera instancia.

  7. Para ver la partición raíz de /dev/sdf, ejecuta el siguiente comando lsblk:

    sudo lsblk

    Resultado de ejemplo:

    NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
    (snip)
    xvdf    202:80    0   3T  0 disk
    └─xvdf1 202:81    0   2T  0 part
    (snip)

    Nota: En el ejemplo anterior, la partición raíz de /dev/sdf es de 2 terabytes (TB). En los tipos de instancia de Nitro, el nombre del dispositivo de bloques es similar a /dev/nvme1n1.

  8. Para convertir la tabla de particiones de MBR a GPT, usa la herramienta gdisk para ejecutar el siguiente comando:

    sudo gdisk /dev/xvdf

    Nota: Si escribes comandos incorrectos en gdisk, pulsa q o Ctrl-C para salir de gdisk y no guardar los cambios.
    Resultado de ejemplo:

    GPT fdisk (gdisk) version 1.0.1
    
    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!
  9. Para entrar en el modo Experto y establecer el valor de alineación del sector, introduce los siguientes valores en las peticiones:

    Command (? for help): x                                            
    Expert command (? for help): l                                     
    Enter the sector alignment value (1-65536, default = 2048): 1      
    Expert command (? for help): m

    Nota: Pulsa Intro después de cada petición. La configuración anterior cambia el valor de alineación del sector del valor predeterminado de 8 a 1. Si usas la alineación de 8 bytes (B), es posible que tengas problemas al crear la partición GPT.

  10. Para crear una partición GPT, introduce los siguientes valores en las peticiones:

Command (? for help): n                                                                                                        
Partition number (2-128, default 2): 128                                                                                
First sector (34-6291455966, default = 4294967296) or {+-}size{KMGTP}: 34                     
Last sector (34-2047, default = 2047) or {+-}size{KMGTP}:                                              
Hex code or GUID (L to show codes, Enter = 8300): ef02                                                     

Nota: Pulsa Intro después de cada petición. Al pulsar Intro para ver la petición del último sector, recibirás el resultado El tipo actual es «Sistema de archivos Linux». En el ejemplo anterior, ef02 es el número de la partición de arranque de la BIOS.
Resultado de ejemplo:

Changed type of partition to 'BIOS boot partition'
  1. Para eliminar la partición raíz, introduce los siguientes valores en las peticiones:
Command (? for help): d                                                                                                         
Partition number (1-128): 1

Nota: Pulsa Intro después de cada petición. Para volver a crear la partición raíz en 3 TiB, introduce los siguientes comandos en las peticiones:

Command (? for help): n                                                                                                         
Partition number (1-128, default 1): 1                                                                                     
First sector (2048-6291455966, default = 2048) or {+-}size{KMGTP}:                                  
Last sector (2048-6291455966, default = 6291455966) or {+-}size{KMGTP}:                       
Hex code or GUID (L to show codes, Enter = 8300):

Nota: Pulsa Intro después de cada petición. Al pulsar Intro para ver la petición del último sector, recibirás el resultado El tipo actual es «Sistema de archivos Linux». Para usar la configuración predeterminada, introduce Intro para las peticiones del primer sector, último sector y código hexadecimal o GUID.
Resultado de ejemplo:

Changed type of partition to 'Linux filesystem'
  1. Para guardar la tabla de particiones GPT, introduce los siguientes comandos en las peticiones:
Command (? for help): w                                                                                                        
Do you want to proceed? (Y/N): y

Importante: Esta acción sobrescribe las particiones existentes.
Resultado de ejemplo:

OK; writing new GUID partition table (GPT) to /dev/xvdf.
The operation has completed successfully.
  1. Para ver la información del nuevo volumen, ejecuta el siguiente comando lsblk:
sudo lsblk

Resultado de ejemplo:

NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvdf    202:80   0   3T  0 disk
└─xvdf1 202:81   0   3T  0 part
  1. Para comprobar si el sistema de archivos del dispositivo /dev/xvdf1 es correcto, utiliza la herramienta fsck para ejecutar el siguiente comando:
sudo e2fsck -f /dev/xvdf1

Nota: Para responder afirmativamente a todas las preguntas, agrega un modificador -y al comando e2fsck. Para obtener más información sobre la herramienta fsck, consulta fsck.8.gz en el sitio web de Ubuntu.
Resultado de ejemplo:

e2fsck 1.42.13 (17-May-2015)
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
cloudimg-rootfs: 57524/262144000 files (0.0% non-contiguous), 16648272/536870655 blocks
  1. Para cambiar el tamaño del sistema de archivos a 3 TiB, ejecuta el siguiente comando de cambio de tamaño:
sudo resize2fs /dev/xvdf1

Nota: El cambio de tamaño del sistema de archivos puede tardar entre 10 y 20 segundos.
Resultado de ejemplo:

resize2fs 1.42.13 (17-May-2015)
Resizing the filesystem on /dev/xvdf1 to 786431739 (4k) blocks.
The filesystem on /dev/xvdf1 is now 786431739 (4k) blocks long.
  1. Instala Grub en el dispositivo /dev/xvdf1 y, a continuación, utiliza los siguientes comandos para configurar Grub en función de tu versión de Ubuntu:
    Ubuntu 16.04 o 18.04:
sudo mount /dev/xvdf1 /mnt
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
sudo mount --bind /dev /mnt/dev
sudo chroot /mnt /bin/bash
grub-install /dev/xvdf
grub-mkdevicemap
update-grub
exit
sudo umount -l /mnt/dev
sudo umount -l /mnt/sys
sudo umount -l /mnt/proc
sudo umount -l /mnt

Ubuntu 20.04:

sudo mount /dev/xvdf1 /mnt
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
sudo mount --bind /dev /mnt/dev
sudo chroot /mnt /bin/bash
grub-install /dev/xvdf
grub-mkdevicemap
echo "GRUB_DISABLE_OS_PROBER=true" >> /etc/default/grub
echo "GRUB_FORCE_PARTUUID=" >> /etc/default/grub.d/40-force-partuuid.cfg
update-grub
exit
sudo umount -l /mnt/dev
sudo umount -l /mnt/sys
sudo umount -l /mnt/proc
sudo umount -l /mnt-l /mnt/dev sudo umount -l /mnt/sys sudo umount -l /mnt/proc sudo umount -l /mnt`
  1. Separa el volumen /dev/xvdf de la instancia en ejecución.
  2. Vuelve a adjuntar el volumen /dev/xvdf a la primera instancia como /dev/xvda o /dev/sda1.
  3. Usa SSH para conectarte a la primera instancia y, a continuación, inicia la instancia.
  4. Para comprobar que el volumen raíz de la instancia original ahora tiene 3 TiB de espacio, ejecuta el comando lsblk:
sudo lsblk

Información relacionada

Restricciones de volumen de Amazon EBS

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 2 meses