Como corrigir o número das partições no disco GPT (/dev/sdaX)

Como corrigir o número das partições no disco GPT (/dev/sdaX)

Usei o Gparted para excluir partições EFI (/dev/sda1) e Ubuntu (/dev/sda2) na minha unidade secundária. A terceira partição (/dev/sda3) é para dados, então eu a redimensionei para usar todo o espaço não alocado que tenho, excluindo as duas primeiras partições. Agora, tendo apenas uma partição única no disco, gostaria de corrigir seu número, para obter/dev/sda1. Qual é a maneira mais fácil de fazer isso que funciona com um disco com tabela de partição GPT? Obrigado!

Responder1

Você pode usar gdiskpara reescrever a tabela de partição:

sudo gdisk /dev/sda
p (o comando p imprime a tabela de partições recente na tela)
s (o comando s classifica as entradas da tabela de partição)
p (use o comando p novamente para ver o resultado na tela)
w (gravar a tabela de partição alterada no disco)
q (sair do gdisk)

Você encontrará informações mais úteis sobre gdiskemhttp://www.rodsbooks.com/gdisk/

Responder2

Intrigado ao encontrar o último link e ansioso por aprender algo novo, repassei a situação da partição de Generoso em meu sistema usando uma unidade USB de 32 GB. Abaixo estão minhas descobertas, mas primeiro minhas:

Conclusão: Como meu exemplo visa 1 partição (final), perto do final apenas mudei seu nome. Não toquei nos setores reais. No link do meu comentário acima, é mostrado um exemplo onde os números do setor são movidos. Eu segui isso e estraguei miseravelmente e destruí o disco USB, provando o quão perigoso é realmente brincar com partições !!
Talvez meu cenário também funcione com múltiplas partições, sinta-se à vontade para tentar você mesmo. Eu te desafio a usar sua partição primária para isso.. haha.
Ok, aqui estão os meus:

Resultados: Usando o Gparted criei 3 partições, cada uma com 1 GB.

# fdisk -l /dev/sdc
Disk /dev/sdc: 30 GiB, 32176472064 bytes, 62844672 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: 0xf33657fc

Device     Boot   Start     End Sectors Size Id Type
/dev/sdc1          2048 2099199 2097152   1G 83 Linux
/dev/sdc2       2099200 4196351 2097152   1G 83 Linux
/dev/sdc3       4196352 6293503 2097152   1G 83 Linux

Usando discos para montar a partição 3.
Coloquei manualmente um arquivo nela.

# ls -l /media/willem/cd4746ac-6d9f-4057-9396-a593ce2f301d/
total 21436
drwx------ 2 root root    16384 May 27 00:12 lost+found
-rw-r--r-- 1 root root 21930117 May 27 00:14 SomeFile.txt

Usando discos para desmontar a partição 3.
Usando o Gparted para remover as partições 1 e 2 e aumentar a partição 3 para usar o disco inteiro.

# fdisk -l /dev/sdc
Disk /dev/sdc: 30 GiB, 32176472064 bytes, 62844672 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: 0xf33657fc

Device     Boot Start      End  Sectors Size Id Type
/dev/sdc3        8192 62844671 62836480  30G 83 Linux

Usando discos para montar a partição 3.
Verifique o arquivo na partição 3.

# ls -l /media/willem/cd4746ac-6d9f-4057-9396-a593ce2f301d/
total 21436
drwx------ 2 root root    16384 May 27 00:12 lost+found
-rw-r--r-- 1 root root 21930117 May 27 00:14 SomeFile.txt

Usando discos para desmontar partição 3.
Copie a tabela de partição da unidade.
Mostre a tabela de partições.

# sfdisk -d /dev/sdc > sdc.tab
# cat sdc.tab
label: dos
label-id: 0xf33657fc
device: /dev/sdc
unit: sectors

/dev/sdc3 : start=        8192, size=    62836480, type=83

Usando vi sdc.tabpara transformar sdc3 em sdc1.
Aplique a tabela de partição alterada.

# sfdisk --no-reread -f /dev/sdc < sdc.tab
Disk /dev/sdc: 30 GiB, 32176472064 bytes, 62844672 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: 0xf33657fc

Old situation:

Device     Boot Start      End  Sectors Size Id Type
/dev/sdc3        8192 62844671 62836480  30G 83 Linux

>>> Script header accepted.
>>> Script header accepted.
>>> Script header accepted.
>>> Script header accepted.
>>> Created a new DOS disklabel with disk identifier 0xf33657fc.
Created a new partition 1 of type 'Linux' and of size 30 GiB.
/dev/sdc2: 
New situation:

Device     Boot Start      End  Sectors Size Id Type
/dev/sdc1        8192 62844671 62836480  30G 83 Linux

The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

Assim que o comando terminar, a partição 1 será montada automaticamente.
Verifique o arquivo.

# ls -l /media/willem/cd4746ac-6d9f-4057-9396-a593ce2f301d/
total 21436
drwx------ 2 root root    16384 May 27 00:12 lost+found
-rw-r--r-- 1 root root 21930117 May 27 00:14 SomeFile.txt

Usando discos para desmontar a partição 1.
Concluído.

PS. Sempre fiz isso cat SomeFile.txt, mas achei desnecessário incluir essa saída.

Responder3

Você deveria ter redimensionado /dev/sda1 para ser maior que /dev/sda3. Em seguida, copie sda3 sobre sda1. Verifique o arquivo sda1 e, se não houver problemas, remova sda3 e redimensione sda1 de acordo.

informação relacionada