Como posso converter uma partição lógica em uma partição primária?

4

Eu tive minhas partições primárias no máximo, mas eu deletei algumas e agora eu quero fazer uma das minhas partições lógicas uma primária. Posso fazer isso com o gparted ou outras ferramentas gratuitas?

Obrigado

    
por Richard 01.08.2009 / 20:19

6 respostas

6

Antes de fazer qualquer coisa, faça um backup completo, pois as coisas dão errado com esses tipos de processos.

O "botão fácil" é Acronis Disk Director por $ 24.

A outra maneira de fazer isso é editando sua tabela de partições.

NOTA: Este procedimento não funciona (não acho) em um sistema (como um Mac) que usa o EFI.

Para fazer isso, inicialize um live CD do linux e execute:

sudo sfdisk -d /dev/sda > partitions.txt

... em uma pasta na qual você pode escrever. Isso lhe dará um arquivo chamado partitions.txt que tem sua tabela de partições. Em seguida, edite esse arquivo usando seu editor de texto favorito e coloque sua partição lógica acima da partição estendida, alterando os números e a ordem.

Por exemplo, se o seu sda5 for a partição que você deseja tornar primária, altere "sda5" para "sda1" (ou 2/3/4) e pressione o restante dos números para baixo. O ponto principal é que você quer ter certeza de que o início, o tamanho e o id sejam os mesmos.

Em seguida, execute:

sudo sfdisk --force /dev/sda < partitions.txt
    
por 01.08.2009 / 21:02
5

Geral

Sob algumas restrições limitadas, é possível converter uma partição lógica em primária. No entanto, esta é uma operação bastante incomum, por isso não conheço nenhuma ferramenta que suporte isso em uma operação, embora você deva ser capaz de fazer isso sozinho com a ajuda de programas parted, fdisk ou similares, embora possivelmente recalculando o início / fim das partições manualmente.

Alguns anos atrás eu escrevi um programa para imprimir o conteúdo da tabela de partições. Digamos que seu disco esteja particionado da seguinte maneira:

                      Disk /dev/hda (CHS=30401/255/63)
                      WDC WD3200JS-00PDB0

                     +------------------------------+
            0 - 1043 |             hda1             |   8189 Mb
                     +------------------------------+
         1044 - 2087 |             hda2             |   8189 Mb
                     +------------------------------+
         2088 - 4699 |             hda3             |  20489 Mb
   + - - - - - - - - +------------------------------+
   .     4700 - 5483 |             hda5             |   6150 Mb
   .                 +------------------------------+
   .     5484 - 5999 |             hda6             |   4048 Mb
   .                 +------------------------------+
   .     6000 - 7044 |             hda7             |   8197 Mb
   .                 +------------------------------+
   .     7045 - 8089 |             hda8             |   8197 Mb
h d a 4              +------------------------------+
   .            8090 |             hda9             |  40986 Mb
   .           13314 |                              |
   .                 +------------------------------+
   .           13315 |                              |
   .                 |                              |
   .                 |            hda10             | 134027 Mb
   .                 |                              |
   .           30400 |                              |
   + - - - - - - - - +------------------------------+

Aqui hda4 é a partição estendida contendo as partições lógicas. Ao encolher hda4 (para cobrir os cilindros 4700 a 13314 ou os cilindros 5484 a 30400), seria possível fazer hda5 ou hda10 em uma partição primária.

Agora, do ponto de vista estritamente teórico, talvez seja possível colocar uma partição primária dentro da extensão (em vez de diminuir a partição estendida e só poder alterar as partições nas extremidades), mas quem sabe qual é a avalange da partição? problemas de compabilidade você acionaria por isso. Isso seria considerado um layout de partição sã por um número extremamente baixo de programas / pessoas (se algum / qualquer um).

No exemplo concreto acima, a tabela de partição já contém 3 partições primárias além da partição estendida, portanto, não há mais entradas para criar uma partição primária; você teria que excluir um dos hda1, hda2 ou hda3 em ordem para possivelmente alterar hda5 ou hda10 em uma partição primária.

Sua pergunta

Você diz que tem entradas gratuitas para criar uma nova partição primária, o que deve ser ok. No entanto, você não especifica nenhum detalhe para a partição lógica que deseja converter, por isso não posso dizer se isso é possível sem fornecer mais detalhes.

Etapas para fazer isso

  1. Salvar / imprimir uma cópia do tabela de partições como está antes de você comece a brincar com isso. Isso pode ser feito com o meu programa printpar , ou com dividido ao usar unidade setores ("Fdisk -l" também pode ser usado, mas isso só é confiável se as partições começam no exato limites de cilindros (que tradicionalmente tem sido o caso, no entanto está se tornando menos comum)).

  2. Verifique se a cópia do ponto 1 está disponível em papel ou algum armazenamento diferente do disco que você está modificando.

  3. Para todas as etapas abaixo, verifique se o programa de edição de partições não não toque nos sistemas de arquivos de qualquer maneira enquanto fazendo as operações mencionadas (ou seja, para você deve usar 'mkpart' e não 'mkpartfs').

  4. Exclua todas as partições lógicas (por exemplo, hda5 para hda10), e, em seguida, exclua a partição estendida (por exemplo, hda4).

  5. Recrie a partição estendida, agora com o início ou o fim movido para que a partição para ser alterado acaba fora da partição estendida (por exemplo, o hda4 cobre os cilindros 4700 a 13314 ou os cilindros 5484 a 30400, apenas esses números cilíndricos não são 100% confiáveis, você deve usar números setoriais que serão exatos).

  6. Recrie todas as partições lógicas, exceto aquela a ser alterado (por exemplo, hda6 para hda10 ou hda5 para hda9), certificando-se de que eles começam e terminam nos lugares exatos como antes (é por isso que você deseja operar em números absolutos do setor).

  7. Recrie a partição que deve ser alterada como uma partição primária, também começando / terminando nos mesmos locais de antes. Nesta etapa é extremamente importante poder dar localizações em setores absolutos, porque a nova partição primária normalmente seria criada com um 63 setores mais offest comparado a onde a partição lógica original era.

  8. Imprima uma nova cópia da tabela de partição e compare. As únicas diferenças devem ser a nova partição primária, o início / fim da partição estendida, e possivelmente renumeração das partições lógicas.

Para o exemplo acima, se a partição hda3 original for excluída (para dar uma entrada gratuita para criar uma partição primária) e hda5 é convertido em partição primária (que então se torna hda3), o layout seria o seguinte:

                     +------------------------------+
            0 - 1043 |             hda1             |   8189 Mb
                     +------------------------------+
         1044 - 2087 |             hda2             |   8189 Mb
                     +------------------------------+
         2088 - 4699 |            unused            |  20489 Mb
                     +------------------------------+
         4700 - 5483 |             hda3             |   6150 Mb
   + - - - - - - - - +------------------------------+
   .     5484 - 5999 |             hda5             |   4048 Mb
   .                 +------------------------------+
   .     6000 - 7044 |             hda6             |   8197 Mb
   .                 +------------------------------+
   .     7045 - 8089 |             hda7             |   8197 Mb
h d a 4              +------------------------------+
   .            8090 |             hda8             |  40986 Mb
   .           13314 |                              |
   .                 +------------------------------+
   .           13315 |                              |
   .                 |                              |
   .                 |             hda9             | 134027 Mb
   .                 |                              |
   .           30400 |                              |
   + - - - - - - - - +------------------------------+

Observe que todas as partições lógicas restantes são renumeradas em comparação com a situação original.

    
por 02.08.2009 / 15:52
3

Meu programa FixParts é uma ferramenta de software livre que pode fazer o trabalho, embora com restrições do que pode ser convertido com base em Limitações e limitações do MBR impostas pelo layout atual. (FixParts é um editor de tabela de partições sozinho; ele não pode encolher ou mover partições, portanto, se suas primárias estiverem todas apertadas uma contra as outras sem espaço entre elas, a única que você poderia converter em partição lógica seria o primeiro.)

    
por 05.12.2012 / 00:06
2

Eu usei o CD TestDisk de resgate do sistema e, depois de fazer uma varredura rápida, listei todas as minhas partições e passei o L para um P e depois reescrevi a tabela de partições

estava sujo mas funcionou

    
por 01.08.2009 / 21:22
2

O disco de inicialização Paragon Partition Pro converte facilmente lógico em primário. Apenas fiz isso.

    
por 22.09.2009 / 19:51
0

Você pode usar Partition Wizard (tem uma versão gratuita) e siga as instruções neste artigo .

    
por 21.03.2011 / 09:51