“inode_size (128) * inodes_count (0) muito grande para um sistema de arquivos com 0 blocos” durante a criação de um sistema de arquivos

5

Minha tabela de partições é assim:

 Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048    32505855    16251904   83  Linux
/dev/sda2        32505856    33554431      524288   83  Linux

Quando fui estabelecer um sistema de arquivos em sda2 , ele gerou esse erro:

sudo mkfs -t ext4 /dev/sda2
mke2fs 1.42.9 (4-Feb-2014)
mkfs.ext4: inode_size (128) * inodes_count (0) too big for a
filesystem with 0 blocks, specify higher inode_ratio (-i) or lower inode count (-N).

Eu tentei ambos com uma partição estendida e uma partição primária e obtive o mesmo erro. Eu tenho o Ubuntu 14.04TLS. O que fazer?

    
por user53029 29.08.2014 / 15:54

1 resposta

5

1: não precisa fazer nada com partições primárias / estendidas / lógicas.

2: Eu acho que você queria dizer "lógica" partição em vez de "estendida".

3: O mkfs acha que o tamanho da sua partição é de 0 bytes. Foi muito certo, porque o kernel não foi capaz de atualizar a tabela de partições depois de um reparticionamento. Depois de editar a tabela de partições, você não recebeu alguns avisos sobre a necessidade de reinicialização?

No Linux, há duas tabelas de partições diferentes: existe uma no bloco zeroth do disco rígido. E há um na memória do kernel. Você pode ler o primeiro com um comando fdisk -l /dev/sda . E o segundo você pode ler com um comando cat /proc/partitions . Estes dois precisam estar em sincronia, mas nem sempre é possível. Por exemplo, você não pode alterar os limites de uma partição usada atualmente. Neste caso, a tabela de partição do kernel não será alterada.

Você pode deixar o kernel reler a tabela de partições de disco com o comando blockdev --rereadpt /dev/sda . A maioria das ferramentas de particionamento executa este comando depois de escrever sua tabela de partição recém-alterada no disco.

O problema é que somente kernels linux mais novos são capazes de reler uma tabela de partição de um disco rígido usado. Deste ponto de vista, um disco rígido é considerado "usado" se houver uma partição simples que seja usada nela, seja por uma ferramenta ou por um ponto de montagem ou por uma partição ativa.

E até mesmo esses novos kernels não podem alterar os limites de uma partição sendo usada atualmente.

Eu acho que o seu sistema de raiz está em /dev/sda , então você precisa fazer uma reinicialização depois de fazer um reparticionamento.

    
por 29.08.2014 / 16:10