Remover GPT - Padrão de volta ao MBR

33

Eu continuo recebendo este erro:

Atenção!! Detectada GPT não suportada (tabela de partição GUID). Usar GNU Parted

Eu quero voltar ao MBR normal. Encontrei alguns conselhos aqui e fiz:

parted /dev/sda
mklabel msdos
quit

Mas quando chego à mklabelopção, ele emite um aviso de que todos os dados serão perdidos /dev/sda. Existe uma maneira de recuperar o MBR normal sem formatar o disco?

sayth
fonte
2
Qual é o seu motivo para querer mudar? Qual é o verdadeiro problema que você está tentando resolver?
jordanm
1
Se você estiver formatando a unidade, tente o seguinte: blog.gnub.net/2009/03/die-gpt-die.html (desculpe não tem reputação de colocar em uma resposta!)
Lester Cheung

Respostas:

28

Esse link que você postou parece uma solução do tipo hack muito feia.

No entanto, de acordo com a página do manual, gdiskusada para converter MBR -> GPT, também tem uma opção no menu "recuperação e transformação" (pressione rpara ver isso) para converter GPT -> MBR; a gchave irá:

Converta GPT em MBR e saia. Essa opção converte o maior número possível de partições no formato MBR, destrói as estruturas de dados da GPT, salva o novo MBR e sai. Use esta opção se você já tentou o GPT e acha que o MBR funciona melhor para você. Observe que essa função gera até quatro partições MBR primárias ou três partições primárias e quantas partições lógicas podem ser geradas. Cada partição lógica requer pelo menos um bloco não alocado imediatamente antes do seu primeiro bloco.

Eu tentaria isso primeiro.

Cachinhos Dourados
fonte
Facilmente sim, mas ainda é arriscado.
jordanm
@ Jordanm: Eu não fiz isso sozinho (e é por isso que admito que "o google implica"), mas como o gdisk aparentemente tem um meio explícito, por que você acha que é arriscado? A página man gdisk para o r-> gopção não tem quaisquer advertências em tudo ...
Goldilocks
Melhoraria esta resposta se você incorporasse a etapa necessária do gdisk em sua resposta. Especialmente com o quão curto é o passo. Nunca se sabe quando o link pode ficar inoperante, deixando a resposta inútil.
derobert
@derobert: Sim, o original foi mais um comentário. Eu usei coisas da gdiskpágina de manual.
8289 goldilocks
1
Para apagar completamente você deve ZAP em gdisk
Sergey P. aka Azure
16

A maioria dos entrevistados anteriores estão corretos quando dizem que você normalmente pode fazer o que você precisa com um layout de tabela de partição GPT, mas uma vez que não são razões válidas para querer usar MBR, acho que só vai responder a sua pergunta ao invés de assumir que você está errado em perguntar.

Para se livrar da GPT, lembre-se de que, com este formato, existe uma tabela de partição gravada no final da unidade, onde permanecerá se você apenas tentar excluí-la com fdisk ou um sistema de arquivos que não reconhece a GPT ferramenta. O que você fez com o parted não abordou esta tabela de partição.

Para apagar a GPT, você precisa usar algo como o gdisk. Digite gdiskcomo root no prompt e informe ao gdisk em qual dispositivo você deseja procurar (por exemplo, / dev / sd ??). Use o gdisk para gravar um MBR protetor no disco apenas para garantir que você tenha acesso a alguma estrutura de dados do MBR. Em seguida, você pode navegar para a seção de opções de especialistas (pressionar ?nos diferentes prompts do programa para ver as opções disponíveis em diferentes momentos) e encontrar a opção que diz "Zap (destruir) as estruturas de dados da GPT e sair". O programa solicitará confirmação e, em seguida, perguntará se você deseja preservar a estrutura do MBR. Preserve isso.

Depois disso, deve ser tão simples quanto reiniciar o computador (porque o kernel ainda estará usando a tabela de partições antiga e precisa ser reiniciado para atualizar) e, em seguida, inicie o fdisk e exclua o restante da partição GPT. Você ainda verá o mesmo aviso sobre o uso do GNU Parted que viu antes, mas poderá ignorá-lo desta vez, pois ele desaparecerá quando você excluir a partição.

Isso fornecerá um sistema de tabela de partição MBR em uma unidade em branco na qual você pode reinstalar um sistema operacional. Se você está tentando fazer isso com as partições existentes, é um pouco mais complicado e, em alguns casos, nem é possível, portanto, recomendo que você simplesmente faça backup dos seus dados e faça-o dessa maneira.

Tatiana McGarry
fonte
1
"Acho que vou responder sua pergunta em vez de supor que você está errado em perguntar." - isso é louco o suficiente para trabalhar!
Michael Mrozek
6

Usar gdisk /dev/sda

Nota: /dev/sda é o caso da pessoa que fez esta pergunta, mas altere-a para o nome da sua unidade.

Quando estiver dentro do gdisk, use:

x   extra functionality (experts only)

quando você digitar ppara ver todas as opções, verá o seguinte:

Expert command (? for help): ?
a   set attributes
c   change partition GUID
d   display the sector alignment value
e   relocate backup data structures to the end of the disk
g   change disk GUID
h   recompute CHS values in protective/hybrid MBR
i   show detailed information on a partition
l   set the sector alignment value
m   return to main menu
n   create a new protective MBR
o   print protective MBR data
p   print the partition table
q   quit without saving changes
r   recovery and transformation options (experts only)
s   resize partition table
t   transpose two partition table entries
u   Replicate partition table on new device
v   verify disk
w   write table to disk and exit
z   zap (destroy) GPT data structures and exit
?   print this menu

Usar z

Expert command (? for help): z
About to wipe out GPT on /dev/xvdf. Proceed? (Y/N): Y
GPT data structures destroyed! You may now partition the disk using fdisk or
other utilities.
Blank out MBR? (Y/N): Y
VaTo
fonte
2
Somente essa resposta funcionou para mim, obrigado por compartilhar.
Aleksandar
1

Isso deve funcionar para a maioria dos casos. Você sabe que não pode usar um MBR quando tiver partições maiores que 2 TB ou para mais de 15 partições.

  • Use parted para verificar o tamanho das partições (ou seja, todas menores que 2 TB?), parted /dev/sdX p
  • Caso haja partições maiores, reduza o sistema de arquivos em questão e tudo o mais que precisa ser feito. (Mais sobre isso no final desta postagem.)
  • Despejar todos os tamanhos exatos da partição parted /dev/sdX u B p(mostrar tamanhos em bytes), para que você saiba como poderá recriar o layout da partição. Use seu telefone para tirar uma foto das duas partedsaídas.
  • Lembre-se de que você pode ter apenas quatro partições primárias com um MBR devido à sua estrutura interna. Portanto, se você tiver mais partições, precisará de espaço livre em algum lugar do disco (é necessário saber onde isso pode estar!), Para criar uma partição lógica na qual um VBR pode ser colocado, para que você possa 'alocar' os outros 4 / 5ª / 6ª partição que existia anteriormente.
  • Use gdiskpara zapear a GPT.
  • Crie um novo MBR.
  • Recrie suas partições, a 1ª / 2ª / 3ª como partições primárias e, em seguida, em algum espaço livre (ONDE NENHUM DADO FOI LOCALIZADO ANTES !!!) crie uma partição lógica e depois crie as outras.
  • Salve, saia.
  • Orar.
  • Reinicie.

Você deve usar um disco vivo como grmlpara tudo isso. Caso você tenha feito algo errado, reinicie e tente novamente.

Contanto que você não grave nenhum dado no disco, nada será perdido. Lembre-se de que você ainda tem todo o layout de sua partição no telefone, para recriar a GPT original, se necessário.

Caso você realmente estrague algo e não tire fotos, tente testdiskdiscernir os limites da partição. Mas não aposte dinheiro assim que seu layout for extraordinário.


No material de redimensionamento para diminuir o tamanho das partições, a perspectiva dos pássaros é:

  • Primeiro você sempre precisa reduzir o sistema de arquivos. Fácil para ext4 ( resize2fs -M dev/sdX), mas impossível para o XFS, pois não pode ser reduzido. Saiba o que você está usando e o Google antes de tentar essas acrobacias.
  • Se você tiver LVM, reduza o volume lógico a seguir. ( lvreduce -L 20G /dev/mapper/<VG>-<LV>)
  • A próxima etapa do LVM é reduzir o volume físico. pvresize --setphysicalvolumesize 25G /dev/sdXé o caminho a percorrer.
  • Depois, use a ferramenta de particionamento de sua escolha, exclua a partição onde seu lvm está instalado e recrie-a menor.

Os tamanhos para todos os elementos mencionados aqui são como: Partição Sistema de arquivos <LV <PV <, se esse não for o caso após a próxima reinicialização, você verá que precisa fazer uma verificação de FS. Não faça isso, basta reiniciar o disco vivos e fazer seus ajustes. Se você consertar as coisas lá, seu sistema será inicializado novamente, prometo.

Para poder fazer tudo isso, caso você tenha PARTITION + LUKS + LVM + FILESYSTEM, aqui estão algumas dicas de como fazer isso no shell:

  • df -h é seu amigo por mostrar o tamanho do sistema de arquivos quando você montou a partição
  • lsblke lsblk -fsão seus amigos por mostrar partições
  • Se você usa LUKS, abra o contêiner de criptografia via cryptsetup open /dev/sdX asdf, digite sua senha e ele ficará disponível até que seja possível /dev/mapper/asdf. Os contêineres de criptografia não precisam ser redimensionados. (Ignore isso se você não tiver uma partição criptografada, é claro.)
  • vgchange -aay para ativar todos os volumes lógicos para poder trabalhar com eles.
  • mkdir asdf; mount /dev/mapper<VG>-<LV> asdfe depois df -hverificar o tamanho do seu sistema de arquivos antes de redimensionar.
  • umount asdf então é desmontado novamente.
  • resize2fs -M /dev/mapper/<VG>-<LV>.
  • mount /dev/mapper/<VG>-<LV> asdf; df -h para verificar o tamanho do seu sistema de arquivos.
  • Torne o LV 1GB maior que o sistema de arquivos. As chances são de que isso não será suficiente. Torne-o ainda maior do que isso, se você puder incluí-lo, caso contrário, o linux informará após a reinicialização que não funcionará. NÃO faça a verificação do FS quando solicitado, reinicie o disco de inicialização e inicie novamente, caso contrário, nenhum dado será perdido.
  • Faça o PV 1GB maior que o LV.
  • Faça a partição 1 GB maior que o PV. 100M também deve ser facilmente suficiente, pois o LVM cria extensões de tamanho de 4M (isso é como blocos diretamente no disco rígido, mas para o LVM), e você deseja que ele não omita a última extensão, tornando a partição muito pequena. Mas como eu disse, deveria . Não calcule tudo, apenas ajuste as coisas e corrija-as se quebrarem. Afinal, é Linux, vamos fazer isso.

Faça coisas maiores do que precisam, para que você não precise reiniciar com tanta frequência.

Discernir facilmente o que é aquilo com LVM, use sempre o seu nome do host como nome para o VG e o ponto de montagem ( root, swap, var, ...) para a LV ao criar sua configuração LVM, se você já não fazê-lo. Essa é uma dica geral, não algo que você deve fazer para executar qualquer uma das etapas acima.

sjas
fonte
1

O GParted fez o trabalho para mim (testado no Kali Linux USB Live v2.1) apenas fazendo:

Device --> Create Partition Tablet --> Type MSDOS

Exclua todas as partições primeiro.

Sopalajo de Arrierez
fonte