Alterar tipo de sistema de arquivos de partição GPT com parted

3

Quando criei minhas partições GPT usando parted , estava usando ext2 tipo de sistema de arquivos, de forma permeável:

$ parted /dev/sdc print | grep ^12 
12      961GB   1118GB  157GB   ext2               msftdata

Agora, quero alterá-lo para ext4 , então uso mkfs.ext4 /dev/sdc12 para reformatar a partição, mas quando eu faço parted /dev/sdc print como acima, ele ainda mostra ext2 como o tipo de sistema de arquivos.

Eu fiz algumas leituras e parece que a única maneira de parted tocar o tipo de sistema de arquivos é o comando mkpartfs , Ref: link . É assim mesmo? Eu realmente não gosto de usar o comando mkpartfs para alterar o tipo de sistema de arquivos porque não quero recriar minha partição novamente. Isso vai atrapalhar a minha numeração de partições (sdc12 será nomeado como sdc19, por exemplo). Existe alguma maneira melhor?

EDITAR:

Colidiu com o mesmo problema novamente, e encontrei a resposta aqui, novamente, para minha própria pergunta. Então, registrando porque eu pensei que era necessário mudar o tipo de sistema de arquivos de partição:

% mount $bootdev
mount: wrong fs type, bad option, bad superblock on /dev/sdb2,
       missing codepage or helper program, or other error
       In some cases useful info is found in syslog - try
       dmesg | tail  or so

% fsck  $bootdev
fsck from util-linux 2.20.1
e2fsck 1.42.8 (20-Jun-2013)
GptLive: clean, 21/1024000 files, 74309/4096000 blocks

% mount $bootdev
mount: wrong fs type, bad option, bad superblock on /dev/sdb2,
       missing codepage or helper program, or other error
       In some cases useful info is found in syslog - try
       dmesg | tail  or so

Ou seja, criei recentemente uma entrada /dev/sdb2 com o tipo auto no /etc/fstab . No entanto, mount simplesmente não pode montá-lo. No entanto:

% mount $bootdev /mnt/GptLive

% mount | grep $bootdev
/dev/sdb2 on /mnt/GptLive type ext2 (rw)

Ou seja, quando mount $dev não funciona, mount $dev /mnt/place funcionou bem.

Eu não sei porque e não posso explicar a correção, mas apenas registrar o fato de que é por isso que eu estava procurando a solução, e como eu "fixei" ela.

Obrigado

    
por xpt 08.02.2014 / 18:17

1 resposta

5

Os programas GParted e parted fornecem apenas um controle muito limitado sobre as informações do código de tipo de tabela de partição. Na melhor das hipóteses, os códigos de tipo alguns são traduzidos em "sinalizadores". Isso é o que o msftdata flag é - denota uma partição Microsoft Basic Data (GUID EBD0A0A2-B9E5-4433-87C0-68B6B72699C7; veja o Lista da Wikipédia de códigos de tipo GPT ). Você pode alterar alguns códigos de tipos ajustando os sinalizadores, mas o Linux ignora esses códigos, exceto em certas situações limitadas, portanto, em um sistema somente Linux, você não precisa se preocupar com eles. No entanto, em um sistema de inicialização dupla, você deve não definir uma partição Linux com o código do tipo Microsoft Basic Data; veja minha página sobre esse assunto para detalhes de por que essa é uma má idéia.

A identificação do sistema de arquivos como sendo ext2 em parted é feita pelo programa examinando os dados dentro da partição. Se você criou um novo sistema de arquivos ext4 na partição, então parted deve estar identificando-o corretamente; mas pode haver um bug na identificação de parted . Se assim for, eu não me preocuparia com isso. Você pode querer verificar se a partição realmente possui um sistema de arquivos ext4 usando blkid (como em sudo blkid /dev/sdc12 ) ou examinando os detalhes técnicos com dumpe2fs - mas este último requer uma quantidade razoável de experiência para interpretar. Na verdade, o ext4fs é basicamente ext2fs com recursos extras, portanto, diferenciar os dois pode ser um pouco complicado.

    
por 09.02.2014 / 17:49