7. Préparer l'écriture à un autre endroit

Contenu de cette section

Vous devez vous assurer d'avoir quelque part une partition de secours. Expérons-le, votre système a plusieurs partitions : peut-être une racine, une /usr, et une /home. Avec tout ce choix, aucun problème : créez simplement un nouveau répertoire dans l'une d'entre elles.

Si vous n'avez qu'une partition racine dans laquelle vous fourrez tout (comme moi, du moins tant que je peux pas faire autrement que repartitionner), ça risque d'être un poil plus délicat. Peut-être avez-vous une partition MS-DOS ou Windows que vous pourriez utiliser ? Ou vous avez le gestionnaire ramdisk dans votre noyau, peut-être en module ? Pour utiliser le ramdisk (en supposant que votre noyau soit plus récent que 1.3.48), tapez la commande suivante :

  # dd if=/dev/zero of=/dev/ram0 bs=1k count=2048
  # mke2fs -v -m 0 /dev/ram0 2048
  # mount -t ext2 /dev/ram0 /mnt
  

Cela a pour effet de créer un volume ramdisk de 2 Mo, et de le monter en /mnt.

Un petit mot d'avertissement : si vous utilisez kerneld pour charger et décharger automatiquement les modules du noyau, alors ne démontez pas le ramdisk tant que vous n'avez copié tous les fichiers qu'il contient sur un support non volatile. Une fois que vous l'aurez démonté, kerneld suppose qu'il peut décharger le module (après la période d'attente habituelle), et, dès qu'il l'a fait, la mémoire est réutilisée par d'autres éléments du noyau, causant la perte irrémédiable des heures de travail que vous aurez passées à récupérer soigneusement vos données.

Si vous avez n'importe lequel des nouveaux périphériques du style " super-disquettes ", il s'agit probablement d'un bonne place pour une partition de secours. Sinon, il faudra faire avec les disquettes.

Une autre chose dont vous devriez avoir besoin est un programme capable de lire les données nécessaires en plein milieu du périphérique contenant la partition. À la rigueur, dd pourrait le faire, mais pour lire à partir de, disons, 600 Mo dans une partition de 800 Mo, dd tient à lire les 600 premiers mégaoctets, quitte à les ignorer, et il va y passer un temps non négligeable. Pour éviter cela, j'ai écrit un programme qui peut se positionner en plein milieu de la partition. Il s'appelle fsgrab ; vous pouvez trouver le paquetage des sources sur ma page , et il va sans tarder trouver sa voie vers Sunsite (et ses miroirs). Si vous souhaitez utiliser cette méthode, la suite de ce mini-HOWTO suppose que vous avez fsgrab.

Si aucun des fichiers que vous voulez récupérer n'occupe plus de 12 blocs (où un bloc occupe habituellement un kilooctet), alors vous n'aurez pas besoin de fsgrab.

Si vous avez besoin de fsgrab mais n'en voulez pas, il est fort simple de traduire une ligne de commande avec fsgrab en une avec dd. Si on a

fsgrab -c count -s skip device

alors la commande dd correpondante est

dd bs=1k if=device count=count skip=skip

Je dois vous avertir que, bien que fsgrab ait parfaitement fonctionné pour moi, je ne puis prendre aucune responsabilité sur son comportement. C'était vraiment une bidouille rapide et sale pour arriver à mes fins. Pour plus de détails sur l'absence de garantie, consultez la section No Warranty dans le fichier COPYING inclus dans la distribution (c'est la GPL, la licence publique générale GNU).


Chapitre suivant, Chapitre Précédent

Table des matières de ce chapitre, Table des matières générale

Début du document, Début de ce chapitre