Sou um administrador Linux semi-experiente que está tentando descobrir como montar automaticamente um disco rígido externo em minha caixa Linux. (versão 2.6.16.13-4-smp) (É uma caixa mais antiga, eu sei.) Posso montar a unidade manualmente:
me@linux:/> mount /dev/sdc1 /media/Seagate
me@linux:/>
significando que quero montar o dispositivo localizado /dec/sdc1
no diretório /media/Seagate
. Isso funciona muito bem. Quando faço isso, vejo o seguinte:
me@linux:/> df -h
Filesystem Size Used Avail Use% Mounted on
...other stuff...
/dev/sdc1 917G 13G 858G 2% /media/Seagate
me@linux:/>
O problema é que preciso que a máquina faça isso automaticamente sempre que for reinicializada. Pesquisei no Google e aprendi um pouco sobre o /etc/fstab
arquivo. Para esse fim, adicionei esta linha no final do meu /etc/fstab
arquivo:
/dev/sdc1 /media/Seagate ext3 defaults 0 2
O administrador anterior deixou uma linha comentada na /etc/fstab
qual funcionou. Eu clonei, editei para meu HD externo e depois deixei copiar. O “ext3” vem dessa linha, não tenho certeza do que faz. Os “defaults” e “0 2” foram sugeridos como a implementação mais simples de alguns tutoriais que encontrei online.
Então, quando reiniciei minha máquina com a linha acima /etc/fstab
, a máquina feznãoreinicie com sucesso. Quando verifiquei o monitor, houve várias mensagens de erro, incluindo:
Waiting for /dev/sdc1
error on stat() /dev/sdc1: No such file or directory
fsck.ext3: No such file or directory while trying to open /dev/sdc1
/dev/sdc1: The superblock could not be read or does not describe a correct ext2
Uma foto da tela inteira do monitor está abaixo.
Não tenho certeza do que está acontecendo aqui, mas parece que minha caixa Linux tenta montar o HD externo, o HD não está disponível, então a caixa Linux não inicializa com sucesso? Mas o HD está conectado na hora da reinicialização.
Se eu remover a linha que adicionei e reiniciar novamente, o sistema funciona bem, mas tenho que montar manualmente o HD.
Então… alguma ideia do que está acontecendo aqui? Obrigado.
Responder1
verifique seu /etc/fstab
arquivo. O último número de cada linha éfs_passno. Se estiver definido como 1 (verdadeiro), então é necessário para uma inicialização bem-sucedida que o fsck seja executado e concluído com sucesso no dispositivo fornecido. Se você tiver essa /dev/sdc1
linha /etc/fstab
com o último número dessa linha como 1, esse dispositivo precisa esteja presente durante a inicialização, caso contrário a inicialização será interrompida conforme mostrado na sua foto.
Mude 1 para 0 para permitir que a linha /dev/sdc1 esteja presente fstab
sem que o dispositivo USB esteja conectado ou remova essa linha inteiramente do fstab se o dispositivo USB não estiver conectado ou conecte o dispositivo USB e capaz de passar fsck se você quiser manter aquele 1 no final da linha no fstab.
Não tenho certeza se o valor de fs_passno tem efeitos diferentes em diferentes distribuições Linux, além de torná-lo 0 significa não fsck.
Além disso, sua montagemnometendo /dev/sdc1
na primeira coluna no fstab. Eu recomendo fortemente a montagem por qualquer outro meio, de preferênciapor-uuid. A montagem por nome não é robusta e seu disco externo pode ser sdc
agora, mas pode facilmente se tornar outra coisa se algum outro hardware for alterado, causando outros problemas.
Responder2
Atualize seu sistema
Esse é um problema conhecido (Bug 204396 – o kernel não vê o pen drive USB durante a inicialização) em uma versão do kernel próxima àquela que você está usando.
À primeira vista, os problemas parecem estar em algum lugar entre o carregamento automático de módulos e o udev. Podem existir soluções alternativas e você pode experimentá-las. Adicionar mount /dev/sdc1 /media/Seagate
ao seu /etc/rc.local
pode ajudar. Eu realmente recomendo que você mude para um kernel mais novo. Será muito menos complicado (desde que você não confie nesta versão específica).