Problèmes de chargeur de démarrage de systèmes de fichiers

Réinstallation du chargeur de démarrage

Il est possible que, par erreur, vous écrasiez le MBR (Master Boot Record) de votre disque, que quelque programme défectueux engendre cette erreur ou encore, que vous démarriez sous Windows et que vous attrapiez un virus qui l'écrase. Donc, vous pensez que vous ne pourrez plus démarrer votre système, n'est-ce pas ? Faux ! Il y a plusieurs façons de récupérer le chargeur de démarrage.

Pour récupérer votre chargeur de démarrage, vous avez besoin d'une disquette de démarrage. Sans une disquette de démarrage quelconque, vous pourriez bien être complètement perdu[20]. Vous avez créé une disquette de démarrage, n'est-ce pas ?

Insérez simplement la disquette dans le lecteur et redémarrez votre ordinateur. Ce que vous devrez ensuite faire varie selon que vous utilisiez LILO ou grub. Quel que soit le chargeur de démarrage, toutes les commandes que vous devrez utiliser devront l'être en tant que root.

Avec LILO

Si vous utilisez LILO, il vous suffit d'exécuter ceci à l'invite : /sbin/lilo. Ceci va réinstaller LILO dans le secteur d'amorce de votre disque et corriger le problème.

Avec GRUB

Si vous utilisez grub, les choses sont un petit peu différentes. Mais ne soyez pas effrayé, nous sommes là pour vous aider !

Note

L'exemple suivant suppose que vous essayez d'installer grub dans le MBR de votre premier disque IDE et que le fichier stage1 est dans le répertoire /boot/grub/.

D'abord, lancez le shell de grub en lançant la commande grub. Une fois que c'est fait, exécutez les commandes suivantes : root (hd0,0) ; ceci indiquera à grub que les fichiers nécessaires sont dans la première partition (0) de votre premier disque dur (hd0). Puis, exécutez : setup (hd0), ce qui installera grub dans le MBR de votre premier disque dur. C'est tout !

Vous pouvez aussi essayer d'utiliser grub-install /dev/hda pour installer grub sur le MBR de votre premier disque dur, mais la méthode décrite plus haut est préférable.

Quelques considérations concernant les systèmes à double lancement (dual booting)

Mise à jour de Windows 9x, NT, 2000 et XP. Si vous roulez un systèmes à lancement double, soyez très prudent de toujours avoir une disquette de démarrage GNU/Linux sous la main. Windows (toutes les versions) remplace fréquemment LILO ou grub (les chargeurs de démarrage qui lancent GNU/Linux et d'autres systèmes d'exploitation) sans avertissement, et si vous ne possédez pas de disquette de démarrage, vous serez incapable de lancer GNU/Linux après avoir fait une mise à jour de Windows.

Réparer un super-bloc endommagé

Note

Les informations qui suivent ne s'appliquent qu'aux systèmes de fichiers ext2 et ext3. Si vous utilisez un autre système de fichiers, consultez sa documentation pour plus de renseignements.

Le super-bloc est le premier bloc de chaque partition ext2FS/ext3. Il contient des données importantes à propos du système de fichiers, comme sa taille, l'espace libre, etc. (c'est assez similaire sur les partitions FAT). Une partition comprenant un super-bloc endommagé ne peut être montée. Heureusement, ext2FS/ext3 conserve plusieurs sauvegardes du super-bloc disséminées sur la partition.

Démarrez votre système avec la disquette de démarrage créée plus tôt. La location des copies de sauvegarde dépend de la taille du bloc du système de fichiers. Pour les systèmes de fichiers dont la taille des blocs est de 1 Ko, vous la trouverez au début de chaque bloc de 8 Ko (8192 octets). Pour les systèmes de fichiers avec des blocs de taille 2 Ko, c'est au début de chaque blocs de 16 Ko (16384 octets), et ainsi de suite. Vous pouvez utiliser la commande mke2fs -n [nom_de_votre_périphérique] pour trouver à quel octet se trouvent les sauvegardes de super-bloc. En assumant que la taille du bloc est de 1 Ko, la prochaine copie de sauvegarde commencera à l'octet 8193. Pour restaurer le super-bloc à partir de cette copie, exécutez e2fsck -b 8193 /dev/hda4 ; changez hda4 pour désigner votre partition endommagée. Si ce bloc est également endommagé, essayez le suivant à l'octet numéro 16385, et ainsi de suite jusqu'à ce que vous trouviez un super-bloc en bon état. Redémarrez votre système pour activer les changements.

Sauvegarde et récupération du MBR

Pour faire une copie du Master Boot Record (MBR), insérez une disquette vierge dans votre lecteur et tapez la commande suivante :

     # dd if=/dev/hda of=/dev/fd0/mbr.bin bs=512 count=1
    

Si vous voulez restaurer une copie du MBR de votre disque dur, insérez une disquette le contenant dans votre lecteur et tapez la commande qui suit :

     # dd if=/dev/fd0/mbr.bin of=/dev/hda bs=512
    

Note

Les exemples susmentionnés assument que le MBR de votre premier disque IDE (/dev/hda) est sauvegardé dans un fichier nommé mbr.bin, lequel est sur une disquette dans le premier lecteur de votre ordinateur (/dev/fd0). Ces commandes doivent être lancées par l'utilisateur root.

Récupérer des fichiers supprimés

Résumé

Dans cette section, nous présentons diverses méthodes pour récupérer des fichiers et des répertoires effacés. Gardez à l'esprit que les outils de récupération ne sont pas magiques et ils fonctionneront plus ou moins bien selon la durée écoulée depuis que vous avez effacé les fichiers que vous tentez de récupérer.

Vous vous demandez peut-être  «bon, j'ai effacé ce fichier accidentellement, comment puis-je le retrouver ?». Ne vous inquiétez pas, il existe quelques utilitaires prévus pour le système de fichiers ext2 de GNU/Linux qui vous permettent de récupérer des fichiers et des répertoires effacés. Cependant, ces outils ne pourront pas récupérer les fichiers que vous avez effacés il y a quelques mois : à cause de l'activité du système, l'espace marqué «libre» sera ré-écrit. Par conséquent, la meilleure méthode de se prémunir des suppressions accidentelles est d'effectuer des sauvegardes.

Note

Gardez à l'esprit qu'il n'existe pas pour l'instant d'outil pour récupérer les fichiers effacés sur un système de fichiers ReiserFS. Gardez un oeil sur la page de ReiserFS au cas où un tel outil devenait disponible.

Voyons les outils de récupération des fichiers effacés. L'un d'eux est Recover. C'est un outil «interactif». Si vous êtes l'heureux possesseur d'un Mandrake Linux - Édition PowerPack™, vous disposez déjà de cet outil dans le CD-ROM «contribs». Sinon, vous pouvez le trouver sur le site RPMFind. Allez-y et téléchargez le RPM. Lorsque vous l'avez, installez-le. Puis, exécutez-le avec recover [options] et répondez aux questions qui vous seront posées. Celles-ci permettent de définir l'intervalle de temps à l'intérieur duquel il faut chercher les répertoires et les fichiers effacés afin de limiter la durée de la recherche. [21]

Lorsque l'outil a terminé sa recherche, il vous demandera où vous voulez sauvegarder les répertoires et fichiers récupérés. Choisissez un répertoire qui contiendra tous ces fichiers et répertoires récupérés. Notez que vous ne pourrez pas retrouver les noms des fichiers, seulement leur contenu, mais vous pouvez inspecter leur contenu ou tenter de les renommer avec différents noms jusqu'à ce que vous trouviez celui que vous cherchez. C'est mieux que rien !

Note

Des mini-HOWTOs consacrés à ce sujet existent également, dont Ext2fs-Undeletion et récupération d'une structure complète de répertoires.



[20] À moins que vous n'ayez sauvegardé votre MBR : vous verrez comment plus loin.

[21] Vous pouvez chercher tous les fichiers effacés, mais cela durera plus longtemps...