O particionamento de disco divide um disco físico em áreas isoladas para que o sistema operacional trate cada uma como um disco lógico independente. Este tópico descreve como criar tabelas de partições, criar e redimensionar partições, alterar o tipo de partição e excluir partições no Alibaba Cloud Linux com fdisk e parted.
Limites de partição de disco
O número máximo de partições por disco e o tamanho máximo da partição dependem do tipo de tabela de partições. O Alibaba Cloud Linux oferece suporte a dois tipos: Master Boot Record (MBR) e GUID Partition Table (GPT).
Número máximo de partições por disco
Discos MBR permitem até 4 partições primárias ou 3 primárias e 1 estendida. A partição estendida pode conter várias partições lógicas.
Discos GPT não têm limite para o número de partições. No entanto, ferramentas específicas, como
parted, podem impor restrições próprias.
Tamanho máximo do disco
|
Tabela de partições |
Tamanho do setor |
Tamanho máximo do disco |
|
MBR |
512 bytes |
2 TB |
|
MBR |
4.096 bytes |
16 TB |
|
GPT |
512 bytes |
8 ZB |
|
GPT |
4.096 bytes |
64 ZB |
Criar uma tabela de partições
O exemplo a seguir cria uma tabela de partições no disco /dev/vdb com fdisk. Antes de começar, verifique se o fdisk está instalado.
Criar uma nova tabela de partições em um disco com dados existentes apaga todo o conteúdo. Faça backup dos dados antes de prosseguir.
Todas as alterações feitas no fdisk permanecem na memória e só são gravadas no disco após você inserir w. Inserir q descarta todas as alterações.
-
Verifique se o
fdiskestá instalado.fdisk --helpSe o
fdisknão for encontrado, instale-o.sudo yum install -y util-linux -
Visualize as informações do disco.
lsblkSaída de exemplo:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT vda 253:0 0 40G 0 disk ├─vda1 253:1 0 2M 0 part ├─vda2 253:2 0 200M 0 part /boot/efi └─vda3 253:3 0 39.8G 0 part / vdb 253:16 0 20G 0 disk -
Abra a interface do
fdisk.sudo fdisk /dev/vdb -
Crie uma tabela de partições:
Insira
gpara criar uma tabela de partições GPT.Insira
opara criar uma tabela de partições MBR.
Em seguida, insira
ppara confirmar as informações do disco. Saída de exemplo:Command (m for help): o Created a new DOS disklabel with disk identifier 0x34c3f526. Command (m for help): p Disk /dev/vdb: 20 GiB, 21474836480 bytes, 41943040 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: dos Disk identifier: 0x34c3f526 Insira
wpara gravar a tabela de partições no disco e sair.
Criar uma partição
O exemplo a seguir cria uma partição no disco /dev/vdb.
Todas as alterações permanecem na memória até você inserir w. Inserir q descarta todas as alterações sem gravar no disco.
-
Abra a interface do
fdisk.sudo fdisk /dev/vdb -
Insira
ppara visualizar as informações atuais do disco.Command (m for help): p Disk /dev/vdb: 20 GiB, 21474836480 bytes, 41943040 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: dos Disk identifier: 0x34c3f526 -
Insira
npara criar uma partição. Em cada prompt, pressione Enter para aceitar o valor padrão ou insira um valor personalizado.Command (m for help): n Partition type p primary (0 primary, 0 extended, 4 free) e extended (container for logical partitions) Select (default p): p Partition number (1-4, default 1): First sector (2048-41943039, default 2048): Last sector, +sectors or +size{K,M,G,T,P} (2048-41943039, default 41943039): +100M Created a new partition 1 of type 'Linux' and of size 100 MiB.NotaPara o último setor, especifique o tamanho da partição em um dos seguintes formatos:
+sectors: número de setores de 512 bytes.+size{K,M,G,T,P}: tamanho com unidade. Por exemplo,+100Mcria uma partição de 100 MB.
-
Insira
wpara gravar a tabela de partições no disco e sair.Command (m for help): w The partition table has been altered. Calling ioctl() to re-read partition table. Syncing disks.
Alterar o tamanho da partição
O fdisk não redimensiona partições diretamente; ele apenas as exclui e recria, o que gera risco de perda de dados. Utilize o parted, que oferece o comando resizepart para redimensionamento não destrutivo.
-
Instale o
parted.sudo yum install -y parted -
Abra a interface do
parted.sudo parted /dev/vdb -
Defina a unidade de exibição como MiB.
(parted) unit MiB -
Insira
ppara listar todas as partições.(parted) p Model: Virtio Block Device (virtblk) Disk /dev/vdb: 20480MiB Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags 1 1.00MiB 101MiB 100MiB primary 2 101MiB 201MiB 100MiB primary -
Redimensione a partição. Substitua
NUMBERpelo número da partição eENDpela nova posição final.resizepart NUMBER ENDNeste exemplo, a partição 2 começa em 101 MiB. Para estendê-la até 500 MiB, defina a posição final como 601 MiB.
(parted) resizepart 2 601MiB (parted) p Model: Virtio Block Device (virtblk) Disk /dev/vdb: 20480MiB Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags 1 1.00MiB 101MiB 100MiB primary 2 101MiB 601MiB 500MiB primary Insira
quitpara sair doparted.-
Verifique o novo tamanho da partição com
fdisk.sudo fdisk /dev/vdb -
Insira
ppara confirmar o tamanho da partição.Command (m for help): p Disk /dev/vdb: 20 GiB, 21474836480 bytes, 41943040 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: dos Disk identifier: 0xefabc860 Device Boot Start End Sectors Size Id Type /dev/vdb1 2048 206847 204800 100M 83 Linux /dev/vdb2 206848 1230847 1024000 500M 83 Linux Insira
qpara sair dofdisk.
Alterar o tipo de partição
Utilize o fdisk para alterar o tipo de partição.
-
Abra a interface do
fdisk.sudo fdisk /dev/vdb -
Insira
ppara visualizar as informações atuais da partição.Command (m for help): p Disk /dev/vdb: 20 GiB, 21474836480 bytes, 41943040 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: dos Disk identifier: 0xefabc860 Device Boot Start End Sectors Size Id Type /dev/vdb1 2048 206847 204800 100M 83 Linux /dev/vdb2 206848 1230847 1024000 500M 83 Linux -
Insira
lpara listar todos os tipos de partição disponíveis.0 Empty 24 NEC DOS 81 Minix / old Lin bf Solaris 1 FAT12 27 Hidden NTFS Win 82 Linux swap / So c1 DRDOS/sec (FAT- 2 XENIX root 39 Plan 9 83 Linux c4 DRDOS/sec (FAT- 3 XENIX usr 3c PartitionMagic 84 OS/2 hidden or c6 DRDOS/sec (FAT- 4 FAT16 <32M 40 Venix 80286 85 Linux extended c7 Syrinx 5 Extended 41 PPC PReP Boot 86 NTFS volume set da Non-FS data 6 FAT16 42 SFS 87 NTFS volume set db CP/M / CTOS / . ...... -
Altere o tipo de partição. Para mudar a partição 2 para estendida (tipo 5), insira
t, depois2e, em seguida,5.Command (m for help): t Partition number (1,2, default 2): 2 Hex code (type L to list all codes): 5 Changed type of partition 'Linux' to 'Extended'. -
Insira
ppara confirmar as informações atualizadas da partição.Command (m for help): p Disk /dev/vdb: 20 GiB, 21474836480 bytes, 41943040 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: dos Disk identifier: 0xefabc860 Device Boot Start End Sectors Size Id Type /dev/vdb1 2048 206847 204800 100M 83 Linux /dev/vdb2 206848 1230847 1024000 500M 5 Extended -
Insira
wpara gravar as alterações no disco e sair.Command (m for help): w The partition table has been altered. Calling ioctl() to re-read partition table. Syncing disks.
Excluir uma partição
Excluir uma partição remove permanentemente todos os dados armazenados nela. Faça backup dos dados antes de prosseguir.
-
Abra a interface do
fdisk.sudo fdisk /dev/vdb -
Insira
ppara visualizar as partições atuais.Command (m for help): p Disk /dev/vdb: 20 GiB, 21474836480 bytes, 41943040 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: dos Disk identifier: 0xefabc860 Device Boot Start End Sectors Size Id Type /dev/vdb1 2048 206847 204800 100M 83 Linux /dev/vdb2 206848 1230847 1024000 500M 5 Extended -
Insira
dseguido do número da partição a ser excluída. O exemplo a seguir exclui a partição 2.Command (m for help): d Partition number (1,2, default 2): 2 Partition 2 has been deleted. -
Insira
ppara confirmar a exclusão.Command (m for help): p Disk /dev/vdb: 20 GiB, 21474836480 bytes, 41943040 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: dos Disk identifier: 0xefabc860 Device Boot Start End Sectors Size Id Type /dev/vdb1 2048 206847 204800 100M 83 Linux -
Insira
wpara gravar as alterações no disco e sair.Command (m for help): w The partition table has been altered. Calling ioctl() to re-read partition table. Syncing disks.