[Linux-bruxelles] e2fsck d'un disque utilisé

quatron mpa01 at scarlet.be
Lun 4 Juin 23:07:23 CEST 2007


Rémi Laurent a écrit :
> * quatron <mpa01 at scarlet.be> [2007-06-04 19:19:23 +0200]:
> 
>> Bon après quelques recherches je trouve ceci en console:
>>
>> telinit 1 #passe en mode mono-user
>> mount -n -o remount,ro /dev/hdxx #remonte le disque en lecture seule
>> e2fsck -p -kcc /dev/hdxx #fait les checks désirés (-kcc est une option)
>> mount -n -o remount,rw /dev/hdxx # remonte le disque en lecture/écriture
>> telinit 2 #passe en mode multi-users (suis sous ubuntu et je crois que 2 
>>   est suffisant)
>>
>> l'idéal serait d'avoir ca sous forme d'un batch avec le disque comme 
>> argument....
>>
>> Votre avis?
> 
> C'est pas letinit, mais telinit (ou alors j'ai pas suivi).

Tout à fait. J'ai modifié.

> Semblerait-il -kcc devrait faire l'affaire, je connaissais pas cette
> option en fait, et visiblement ça permet la coopération avec le fs pour
> ne pas tout casser en faisant des tests sur le disque.
> 
> -cc ... bad block scan will be done using a non-destructive read-write
> test
> -k ... with  the  -c option, any existing bad blocks in the bad blocks
> list are preserved, and any new bad blocks found by running badblocks(8)
> will be added to the existing bad blocks list.
> 
> Et sous les systèmes Debian ou associés c'est bien le level 2 le mode
> multiutilisateur classique (man runlevel pour le level courant).
> 
> 
> PS: bon, si on lit le manuel de e2fsck on lit aussi que
> 
> Note  that  in  general it is not safe to run e2fsck on mounted
> filesystems.  The only exception is if the -n option is specified, and
> -c, -l, or -L options are not specified.   However, even if it is
> safe to do so, the results printed by e2fsck are not valid if the
> filesystem is mounted.   If e2fsck asks whether or not you should
> check a filesystem which is mounted,  the  only  correct  answer
> is ``no''.  Only experts who really know what they are doing
> should consider answering this question in any other way.
> 
> Prudence donc, ça a pas l'air d'être infaillible.
> 
Oui .. et non.
Pour mémoire, lors du boot de ta machine les disques sont montés en ro 
et fsck est lancé périodiquement par le système (après n boots et/ou 
après une fermeture trop rapide du pc)
fsck n'est qu'un lanceur générique pour toutes les vérif de disques 
(quel que soit le file system)
et lance lui-même e2fsck si ton disque est ext2 ou 3.
Ce n'est qu'après cette vérification que les disques sont montée en rw 
et que le mode 2 est initialisé.
La procédure que je suggère est donc basée sur la séquence de boot d'un 
pc normal son linux.
Cerais-ce un abus, dans le man, de parlé de système monté sans préciser 
"rw"?

Je ne suis pas un spécialiste du bash mais, si ca marche, je suis 
preneur d'un pgm qui prendrait "[-c] /dev/hdxx" comme arguments, 
l'option -p étant toujours réalisée.

Michel





Plus d'informations sur la liste de diffusion Linux-bruxelles