Marlon Willrich's Blog

1 de outubro de 2010

Máquina desligada incorretamente no Linux, como faço para resolver ?

Filed under: linux — willrich @ 20:49

Como o Linux vem cada vez mais se popularizando, temos que ajudar os usuários a resolver pequenos problemas que as vezes é o suficiente para fazer o usuário desistir do SO.

Nos Windows da vida, quando o micro é desligado incorretamente ele passa o famoso scandisk e pronto, tudo se resolve, no Linux, mais particularmente na distribuição Ubuntu, ele também tenta ao máximo resolver os pequenos problemas sozinho, porém as vezes é necessário a intervenção do usuário, por isso aqui vou tentar mostrar como podemos resolver este pequeno problema.

Vou demonstrar de forma bem completa, para você não fazer nada de errado, dúvidas pergunte aqui no Blog.

1- A mensagem de erro:

Vamos supor que você ligou o micro com qualquer distribuição Linux, e não carregou a interface gráfico do seu todo poderoso, ocorreu uma mensagem semelhante a esta:

Filesystem check failed.
A maintenance shell will now be started.
CONTROL-D will terminate this shell and re-try

ou algo assim:

Root password to fsck, ctrl-d to continue.

Estamos com problemas em alguma partição do seu disco, vamos ver que partições eu tenho no meu computador…

2- Detectando as partições:

Para detectar as partições que você tem em seu computador, uma das alternativas é verificar no /proc (diretório virtual com informações do seu sistema).

Para verificarmos que partições temos em um computador com Linux podemos utilizar o comando:

cat /proc/partitions

e deve aparecer algo assim:

major minor    #blocks           name

8           0                488386584     sda
8            1               488384001      sda1
8           16                312571224      sdb
8           17                  49553408     sdb1
8          18                       2104515     sdb2
8          20                260909725    sdb4
8         32                  244198584    sdc
8         33                     33399103    sdc1
8         34                   210796897    sdc2

Que coisa loca, e nesse editor aqui do wordpress não consigo alterar fonte, fica pior ainda a visualização…  mais vamos lá:

O que você precisa saber de mais importante, nesta máquina temos 3 Discos Rígidos, o SDA, SDB e SDC, e nestes 3 Discos Rígidos temos algumas partições em cada um. Por exemplo no SDB:

8           16                312571224      sdb
8           17                  49553408     sdb1
8          18                       2104515     sdb2
8          20                260909725    sdb3

Podemos verificar que neste disco temos 3 partições, a sdb1, sdb2 e sdb3 beleza estamos sabendo mais alguma informação sobre como está particionado nosso HD (ou flash disk).

Vamos agora verificar que tipo de partição são estas, esta é uma parte muito importante do processo, porque caso você passe um fsck (comando que vamos ver daqui a pouca) em uma partição ext3 e o disco é ext2 cabuft… tchau tchau dados, ele deve até dar algum erro, mais não é bom confiar na sorte, por isso é importante você saber exatamente o que está fazendo.

Muito bem, para verificarmos os tipos de partições utilizamos o comando fdisk (atenção também com este comando, é através dele que você cria e apaga partições no seu disco), porém vamos utilizá-lo apenas para saber informações sobre o sistema de arquivos. Digite:

fdisk -l /dev/sdb

Resultado:

Disco /dev/sdb: 320.1 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders
Unidades = cilindros de 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Identificador do disco: 0x13675c7e

Dispositivo Boot Início Fim Blocos Id Sistema
/dev/sdb1               1        6170    49553408   83  Linux
/dev/sdb2           38652       38913     2104515   82  Linux swap / Solaris
/dev/sdb3            6170       38651   260909725+  83  Linux

Beleza, sabemos que a partição sdb1 é do tipo Linux a sdb2 é Swap e a sdb3 é Linux, mais ainda não sabemos se é ext2 ext3 ext4 xfs ou qualquer outra coisa. Vamos ver no fstab, digite o seguinte:

cat /etc/fstab

Deve aparecer algo semelhante a isto:

/dev/sdb1       /               ext4    errors=remount-ro 0       1
/dev/sdb2       none            swap    sw              0       0
/dev/sdb3       /home              ext4    errors=remount-ro 0       1

Beleza… olha ali ó , o sdb1 é do tipo ext4  e o sdb3 é do tipo ext4 também.

Mais você pode ser um pouco menos digamos infeliz, e pegar algo assim:

UUID=1427287a-5bd9-4437-8ec1-a92004c986bc /                   ext4    defaults        0       2
UUID=14323443-5551-4437-8ec1-a92004c986bc /home           ext4    defaults        0       2

Caraca.. que que é esse monte de número…  é o uuid, esse cara aqui fala sobre ele http://blog.welrbraga.eti.br/?p=379

Resumindo é um negócio bom pra quem vive mudando de hd ou ordem ou coisa assim, o sistema sempre vai saber quem é quem.. caso voce tenha 3 discos e altere o boot de vez em quando etc.

Pra saber que partição está agregada a cara uuid é simples, de um ls assim:

ls -lh /dev/disk/by-uuid/

lrwxrwxrwx 1 root root 10 2010-09-27 18:34 10A0CE3BA0CE2756 -> ../../sda1
lrwxrwxrwx 1 root root 10 2010-09-27 18:34 1427287a-5bd9-4437-8ec1-a92004c986bc -> ../../sdb3
lrwxrwxrwx 1 root root 10 2010-09-27 18:34 346487F96487BBDC -> ../../sdc1
lrwxrwxrwx 1 root root 10 2010-09-27 18:34 58d67ed1-f04e-4e86-858d-53e7974c0351 -> ../../sdb1

vualá, já sabemos quem é quem.

3- Resolvendo o problema agora

Agora que já conseguimos identificar exatamente quais partições temos disponíveis em nossa máquina, vamos passar o fsck, o File System Check, quer saber mais sobre ele acesse aqui.

Áh, antes verifique se a partição que você quer passar ele não está montada, senão não vai funcionar, digite “mount”

se aparecer:

/dev/sdb1 on / type ext4 (rw,errors=remount-ro)

desmonte ela antes:

umount /

agora sim, pasando o fsck na partição / que é ext4:

fsck.ext4 /dev/sdb1

simples assim….

caso ele detecte erros, que com certeza deve detectar senão você não estaria lendo isto aqui, só vá digitando “y” e dando enter que ele vai terminar… reze para não ter grandes ploblemas e depois é só rebootar a máquina que ela irá iniciar linda e perfeitamente.

Não quiz complicar com esse pequeno tutorial, simplesmente apresentar como funciona a parada pra ninguém errar, valeu.

Deixe um comentário »

Nenhum comentário ainda.

RSS feed for comments on this post. TrackBack URI

Deixe um comentário

Blog no WordPress.com.