Eu ia instalar uma distribuição Linux completamente nova (Mageia) e vi isso como uma oportunidade para reorganizar minhas partições. Eu queria todas as minhas partições não-Linux (Windows, restauração, etc) no início e as do Linux no final para que eu pudesse criar mais facilmente novas partições Linux se quisesse testar mais algumas distribuições.
Usei o GParted para excluir as partições Linux existentes (fiz backup dos dados que queria preservar) e movi as restantes para a frente. Mais tarde, eu criaria as partições Linux no instalador da Mageia.
Demorou um pouco, mas no final o GParted terminou sem problemas. A Mageia também foi instalada sem problemas.
Ao inicializar na Mageia tive algum problema (não relacionado?) Com a placa de vídeo ATI Radeon (ainda não resolvido) que me deixou apenas com o console e ao reiniciar vi Error: Can't have overlapping partitions
passar.
Não tem problema, pensei, vou inicializar o GParted novamente e consertar. Infelizmente, o GParted mostra todo o disco como não alocado. OK, de volta ao Linux. Começar parted da linha de comando me dá
[root@localhost ~]# parted
GNU Parted 2.3
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print
Error: Can't have overlapping partitions.
fdisk
deveria me dar mais informações e deu:
[root@localhost ~]# fdisk -l -u /dev/sda
Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 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
Disk identifier: 0x2bd2c32a
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 206847 102400 7 HPFS/NTFS
/dev/sda2 208845 1953520064 976655610 5 Extended
/dev/sda3 950740992 1013655551 31457280 7 HPFS/NTFS
/dev/sda4 1013655552 1015754751 1049600 12 Compaq diagnostics
/dev/sda5 208896 409808895 204800000 7 HPFS/NTFS
/dev/sda6 409810944 950740991 270465024 7 HPFS/NTFS
/dev/sda7 1015757883 1034184374 9213246 82 Linux swap / Solaris
/dev/sda8 1034184438 1953520064 459667813+ 83 Linux
Se eu classificar por partição, parece que /dev/sda5
e /dev/sda6
deve ser chamado /dev/sda3
e /dev/sda4
vice-versa.
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 206847 102400 7 HPFS/NTFS
/dev/sda2 208845 1953520064 976655610 5 Extended
/dev/sda5 208896 409808895 204800000 7 HPFS/NTFS
/dev/sda6 409810944 950740991 270465024 7 HPFS/NTFS
/dev/sda3 950740992 1013655551 31457280 7 HPFS/NTFS
/dev/sda4 1013655552 1015754751 1049600 12 Compaq diagnostics
/dev/sda7 1015757883 1034184374 9213246 82 Linux swap / Solaris
/dev/sda8 1034184438 1953520064 459667813+ 83 Linux
Pesquisando no Google, descobri que isso testdisk
pode corrigir isso.
- Como faço para usar
testdisk
? A interface é bastante confusa. - Posso executá-lo no Linux/Windows ou devo inicializar uma versão live?
Desde já, obrigado,
usuario
Segui as instruções na resposta abaixo, mas não funciona.
Essas partições eu tenho que recriar:
/dev/sda3 950740992 1013655551 31457280 7 HPFS/NTFS
/dev/sda4 1013655552 1015754751 1049600 12 Compaq diagnostics
Isto é o que acontece:
[root@localhost ~]# fdisk /dev/sda
Command (m for help): d
Partition number (1-8): 3
Command (m for help): d
Partition number (1-8): 4
Command (m for help): n
Command action
l logical (5 or over)
p primary partition (1-4)
l
First sector (950743040-1953520064, default 950743040): 950740992
Value out of range.
First sector (950743040-1953520064, default 950743040):
A primeira partição precisa começar em 950740992mas o novo só pode começar em 950743040.
Como eu prossigo?
Responder1
A melhor solução que encontrei para corrigir a ordem das partições:
Enter into the disk partition place:
fdisk /dev/sda
Command (m for help): m
Command action
...
l list known partition types
m print this menu
p print the partition table
q quit without saving changes
w write table to disk and exit
x extra functionality (experts only)
Command (m for help): x
Expert command (m for help): m
Command action
...
f fix partition order
m print this menu
p print the partition table
q quit without saving changes
r return to main menu
v verify the partition table
w write table to disk and exit
Expert command (m for help): f
Done.
Expert command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
Feito!
Responder2
O problema da partição sobreposta surge em parte devido às peculiaridades do particionamento do PC.
A tabela de partição tem espaço para exatamente 4 entradas de “partição primária”. Se você precisar ter mais de 4 partições, existe um mecanismo chamado partições "estendidas" - na verdade, ele cria uma partição grande (no seu caso, a partição nº 2) que, por sua vez, possui uma tabela de subpartições própria, permitindo entradas adicionais chamadas partições "lógicas".
O que você fez foi criar uma partição estendida abrangendo do setor 208845 a 1953520064, mas também partições primárias adicionais 3 e 4 sobrepondo o espaço em disco reservado para a partição "estendida".
A maneira mais fácil de resolver os problemas seria a seguinte:
- exclua as partições 3 e 4 usando Linux fdisk
- recriá-los (novamente usando fdisk) como partições lógicas dentro da partição estendida usando os mesmos valores de início/fim de setor de antes
Se você quiser que a ordem da partição lógica reflita sua localização "física" no disco, fdisk
também pode ajudar. Basta pressionar "x" para ativar a funcionalidade estendida e usar of ix ordem de partiçãofunção. Talvez seja necessário ajustar seus fstab
arquivos para sistemas Linux depois disso - o Windows possui identificação de partição baseada em GUID e não deve se preocupar com o pedido.
Responder3
Esteja avisado: tentei a opção de correção avançada no fdisk e reiniciei meu sistema. Isso teve efeitos desastrosos, pois meu /dev/sda8 se tornou /dev/sda5 no meu caso e /boot/grub não muda como resultado.
Portanto, a solução óbvia para esse problema para evitar a confusão é:
$ fdisk /dev/sda
x
f
w
$ update-grub
$ grub-install
mas primeiro certifique-se de que os comandos grub (acima) estejam instalados, pois parece estar obsoleto em alguns sistemas.