Come posso convertire lo schema di partizionamento MBR predefinito in GPT per la mia istanza EC2 Ubuntu?
La mia istanza Amazon Elastic Compute Cloud (Amazon EC2) Ubuntu 16.04, 18.04 o 20.04 ha una quota massima per le partizioni MBR di 2 tebibyte (TiB). Per bypassare la quota, desidero passare a uno schema di partizionamento GPT sul mio volume Amazon Elastic Block Store (Amazon EBS).
Breve descrizione
Le versioni 22.04 e successive di Ubuntu utilizzano il partizionamento GPT per impostazione predefinita. Tuttavia, devi configurare manualmente il partizionamento GPT per le versioni di Ubuntu 16.04, 18.04 e 20.04.
Risoluzione
Importante: prima di arrestare e avviare l'istanza, intraprendi le seguenti azioni:
- Crea un backup del volume EBS.
Nota: se l'istanza è supportata da un archivio dell'istanza o ha volumi di storage dell'istanza contenenti dati, Amazon EC2 elimina i dati quando arresti l'istanza. - Rimuovi temporaneamente l'istanza dal relativo gruppo Amazon EC2 Auto Scaling quando completi i passaggi di risoluzione.
Nota: se arresti un'istanza che si trova in un gruppo EC2 Auto Scaling, potresti terminare l'istanza in base alle impostazioni di protezione dalla riduzione orizzontale. Le istanze avviate con Amazon EMR, AWS CloudFormation o AWS Elastic Beanstalk potrebbero far parte di un gruppo Auto Scaling. - Imposta il comportamento di chiusura dell'istanza su Arresta per assicurarti che le istanze non terminino quando le arresti.
Nota: quando arresti e avvii un'istanza, l'indirizzo IP pubblico dell'istanza cambia. È consigliabile utilizzare un indirizzo IP elastico per indirizzare il traffico esterno all'istanza anziché un indirizzo IP pubblico. Se utilizzi Amazon Route 53, potresti dover aggiornare i record DNS di Route 53 quando l'IP pubblico cambia.
Per convertire lo schema di partizionamento MBR predefinito dell'istanza Ubuntu in GPT, completa i seguenti passaggi:
-
Apri la console Amazon EC2.
-
Avvia un'istanza da un'Amazon Machine Image (AMI) che esegue Ubuntu.
-
Avvia una seconda istanza dalla stessa AMI che esegue Ubuntu con un volume root da 3 TiB nella stessa zona di disponibilità.
-
Scollega il volume root /dev/xvda o /dev/sda1 dalla seconda istanza. Quindi collega il volume root come /dev/sdf alla prima istanza.
-
Per visualizzare la partizione root di /dev/sdf, esegui questo comando dev/sdf:
sudo lsblk
Esempio di output:
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: nell'esempio precedente, la partizione root di **/dev/sdf ** è di 2 terabyte (TB). Sui tipi di istanza Nitro, il nome del dispositivo a blocchi è simile a /dev/nvme1n1.
-
Per convertire la tabella delle partizioni da MBR a GPT, utilizza lo strumento gdisk per eseguire questo comando:
sudo gdisk /dev/xvdf
Nota: se inserisci comandi errati in gdisk, premi q or Ctrl-C per uscire da gdisk e non salvare le modifiche.
Esempio di output: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!
-
Per accedere alla modalità Expert (Esperto) e impostare il valore di allineamento del settore, inserisci i seguenti valori quando richiesto:
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: premi Invio dopo ogni richiesta. La configurazione precedente modifica il valore di allineamento del settore dal valore predefinito 8 a 1. Se utilizzi l'allineamento a 8 byte (B), potrebbero verificarsi problemi durante la creazione della partizione GPT.
-
Per creare una partizione GPT, inserisci i seguenti valori quando richiesto:
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: premi Invio dopo ogni richiesta. Quando premi Invio per il prompt Last sector (Ultimo settore), viene visualizzato l'output Current type is 'Linux filesystem'. Nell'esempio precedente, ef02 è il numero della partizione di avvio del BIOS.
Esempio di output:
Changed type of partition to 'BIOS boot partition'
- Per eliminare la partizione root, inserisci i seguenti valori quando richiesto:
Command (? for help): d Partition number (1-128): 1
Nota: premi Invio dopo ogni richiesta. Per ricreare la partizione root a 3 TiB, inserisci i seguenti valori quando richiesto:
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: premi Invio dopo ogni richiesta. Quando premi Invio per il prompt Last sector (Ultimo settore), viene visualizzato l'output Current type is 'Linux filesystem'. Per utilizzare le impostazioni predefinite, premi Invio per i prompt First sector (Primo settore), Last sector (Ultimo settore) e Hex code or GUID (Codice esadecimale o GUID).
Esempio di output:
Changed type of partition to 'Linux filesystem'
- Per salvare la tabella delle partizioni GPT, inserisci i seguenti valori quando richiesto:
Command (? for help): w Do you want to proceed? (Y/N): y
Importante: questa azione sovrascrive le partizioni esistenti.
Esempio di output:
OK; writing new GUID partition table (GPT) to /dev/xvdf. The operation has completed successfully.
- Per visualizzare le nuove informazioni sul volume, esegui questo comando lsblk:
sudo lsblk
Esempio di output:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvdf 202:80 0 3T 0 disk └─xvdf1 202:81 0 3T 0 part
- Per verificare se il file system del dispositivo /dev/xvdf1 è corretto, utilizza lo strumento fsck ed esegui questo comando:
sudo e2fsck -f /dev/xvdf1
Nota: per rispondere sì a tutte le domande, aggiungi un parametro -y comando e2fsck. Per ulteriori informazioni sullo strumento fsck, consulta fsck.8.gz sul sito web di Ubuntu.
Esempio di output:
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
- Per ridimensionare il file system a 3 TiB, esegui questo comando resize:
sudo resize2fs /dev/xvdf1
Nota: potrebbero essere necessari 10-20 secondi per ridimensionare il file system.
Esempio di output:
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.
- Installa Grub sul dispositivo /dev/xvdf1, quindi esegui questi comandi per configurare Grub in base alla versione di Ubuntu:
Ubuntu 16.04 or 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`
- Scollega il volume /dev/xvdf dall'istanza in esecuzione.
- Ricollega il volume /dev/xvdf alla prima istanza come /dev/xvda o /dev/sda1.
- Utilizza SSH per connetterti alla prima istanza, quindi avviala.
- Per verificare che il volume root dell'istanza originale ora abbia 3 TiB di spazio, esegui il comando lsblk:
sudo lsblk
Informazioni correlate

Contenuto pertinente
- AWS UFFICIALEAggiornata 3 anni fa
- AWS UFFICIALEAggiornata 4 mesi fa
- AWS UFFICIALEAggiornata 6 mesi fa