o que fazer quando o fstab quebra?

1

Qual é a melhor maneira de consertar o fstab quebrado? Eu acho que eu poderia fazer isso com alguma distro live linux. Primeiro serch para partições e monte-as para criar temporariamente / temproot. Monte manualmente partições que você reconheceu uma por uma em recém-criado / temproot. muito importante é verificar o sistema de arquivos de cada partição e partição swap. Depois disso, usando o comando chroot, conserte a raiz original. Alguém conhece melhor caminho - qualquer sugestão é bem vinda?

    
por mdakic 17.01.2012 / 22:15

1 resposta

1

Depois de inicializar o CD ao vivo, você primeiro precisará identificar as partições conforme sugerido.

O uso do parted fornecerá algumas dicas:

# parted /dev/sdc P

Number  Start   End     Size    Type      File system     Flags
 1      1049kB  2155MB  2154MB  primary   linux-swap(v1)
 4      2155MB  212GB   209GB   extended
 5      2156MB  3230MB  1074MB  logical   ext3
 6      3231MB  5378MB  2147MB  logical
 7      5379MB  48.3GB  42.9GB  logical   ext4
 2      212GB   319GB   107GB   primary   ext4
 3      319GB   320GB   1080MB  primary   ext3            boot

Aqui podemos ver que sdc1 é swap - então é fácil.

Observe que sdc 3 tem o sinalizador de inicialização ativado, de modo que é mais provável que seja a partição de inicialização (o sinalizador a marca como uma partição inicializável, mas não é necessariamente a partição / boot). As partições de inicialização geralmente são pequenas, pois não precisam conter muito. Nesse caso, o outro provável candidato /dev/sdc5 é a inicialização real

Se montarmos isso,

$ mount /dev/sdc5 /mnt
$ grep root /mnt/grub/grub.cfg
set root='(hd2,5)'
linux   /vmlinuz-2.6.32-5-xen-amd64 root=UUID=5d41ba76-8261-41cd-b147-1f034833f0a1 ro  quiet

Se o seu grub.cfg (ou menu.lst) estiver usando nomes de dispositivos, você saberá o que é o root - no entanto, neste caso, estamos usando o UUID, por isso precisamos identificar o dispositivo:

ls -l /dev/disk/by-uuid/5d41ba76-8261-41cd-b147-1f034833f0a1
lrwxrwxrwx 1 root root 10 Jan 18 08:45 /dev/disk/by-uuid/5d41ba76-8261-41cd-b147-1f034833f0a1 -> ../../sdc7

Então, agora sabemos que a partição raiz é /dev/sdc7

A montagem dos outros, como sugerido, ajudará a identificar as partições restantes. Não há necessidade de chroot no ambiente, você pode apenas editar o fstab diretamente:

mount /dev/sdc7 /mnt
vi /mnt/etc/fstab

E recrie as entradas.

Note que o arquivo / etc / mtab é criado quando as partições são montadas. Isso ainda pode estar intacto se você não for capaz de inicializar desde que o fstab quebrou, então você pode ser capaz de olhar em /etc/mtab e recuperar as informações de montagem de lá. Normalmente você pode copiar linhas como elas estão no mtab diretamente para o fstab.

    
por 17.01.2012 / 23:49