mardi 27 décembre 2022, par
Quelques commandes shell bien utiles lorsque vous commencez à travailler sur vos disques et partitions.
C’était dans mon pense-bête, cela peut servir à tous alors je mets en ligne c’est quelques petites astuces.
J’utilise ces commandes sous Ubuntu et Debian. Elles sont regroupées par thématique :
Identifier disques et partitions disponibles sur l’ordinateur
Réparer une clé usb FAT32 en lecture seule sous Linux
La liste des disque physiques :
sudo lshw -class disk
Obtenir des infos sur les partitions :
sudo fdisk -l
La liste des partitions, leur type et leur point de montage :
sudo blkid -o list -c /dev/null
ou
lsblk -o NAME,SIZE,FSTYPE,TYPE,LABEL,PARTLABEL,MOUNTPOINT,UUID
Avec tout ça vous pouvez trouver le nom ou l’uuid de la partition ou du disque cible. Cela sera utile pour les autres opérations. Dans les commandes suivantes, je ferai référence aux disques ainsi /dev/sdX et aux partitions ainsi /dev/sdXN avec X la lettre du disque et N le numéro de partition.
Exemple : /dev/sda1
Il y a sûrement plein d’autres choses à faire face à un disque défectueux, mais voici le peut que je connais.
Trouver des secteurs défectueux sur le disque.
Attention c’est très long, la commande va lire l’ensemble des secteurs du disque et placer la liste de ceux qu’elle aura trouvé dans le fichier badsectors.txt
sudo badblocks -v /dev/sdXN > badsectors.txt
Marquer les secteurs erronés d’un disque pour le réparer
Ainsi les secteurs défectueux ne seront plus utilisés et ne risqueront plus de générer une perte de données.
NB : cette commande nécessite de démonter la partition, via la commande sudo umount /dev/sdXN
Le fichier badsectors.txt est le fichier généré par la commande badblocks.
sudo e2fsck -l badsectors.txt /dev/sdXN
fsck est l’utilitaire de contrôle des disques sous linux, et e2fsck sa version pour les partitions de type ext2.
sudo tune2fs -l /dev/sdXN
Et pour extraire les infos concernant la fréquence d’analyse des disques :
sudo tune2fs -l /dev/sdXN | grep -E "Last\ c|Max|Mount"
fsck peut être lancé au besoin, mais on peut également effectuer un contrôle des disques automatique après un certains nombre de redémarrage. Avec la commande ci-dessous, tous les 10 redémarrages, un contrôle fsck de la partition /dev/sdXN sera exécuté au démarrage de l’ordinateur.
sudo tune2fs -c 10 /dev/sdXN
Une valeur de -1 désactive fsck.
Une valeur de 1 active fsck à chaque démarrage.
Si le disque est monté sur le système via le fichier /etc/fstab
il faut vérifier la ligne de ce fichier correspondant au disque en question. Si le dernier paramètre est à 0, cela désactivera le contrôle au démarrage.
Si l’un de vos disques utilise une table de partition de type gpt, alors il vous faudra installer gdisk à utiliser en remplacement de fdisk.
sudo apt-get install gdisk
Création de la partition :
— Lancer l’utilitaire de gestion des partitions :
parted /dev/sdX
Puis, dans parted, lui donner la série de commandes suivantes.
— Création de la table de partition gpt :
mklabel gpt
— Création de la partition primaire de type ext4 sur 100% du disque :
mkpart primary ext4 2048s 100%
— Afficher la liste des partitions pour vérifier que tout va bien :
print
— Quitter parted :
quit
Création du système de fichier ext4 :
mkfs.ext4 /dev/sdXN
Donner un nom à la partition :
e2label /dev/sdXN <nom>
Vous avez peut-être des partitions cryptées de type Luks pour protéger vos données. C’est bien. Si ce n’est pas le cas, j’explique un peu plus loin comment en créer. En attendant, voici comment identifier celles disponibles sur votre machine.
sudo dmsetup ls --target crypt
En insérant une clé USB dans mon PC, j’ai pu constater qu’elle était en lecture seule car je n’arrivais pas à supprimer des fichiers dessus. La clé USB est au format FAT32 car elle me sert notamment de stockage sur mon scanner.
Tout d’abord j’ai bien vérifié que c’était du FAT32. Soit en cherchant tous les périphériques en FAT32 par la commande suivante, qui permet au passage de trouver l’identifiant du support au format sdXN (exemple : sdc1)
lsblk -f |grep FAT32
Soit directement en appliquant la commande lsblk sur le disque si vous connaissez déjà son identifiant :
lsblk -f /dev/sdXN
Au besoin il faut démonter (unmount) la clé, sinon la réparation du disque ne voudra pas fonctionner.
sudo umount /dev/sdXN
Puis lancer le contrôle disque :
sudo dosfsck -w -r -l -a -v -t /dev/sdXN
avec les paramètres suivants :
w : écrit les changements.
r : interagit lors de la réparation.
l : liste les noms de fichiers avec des problèmes.
a : corrige automatiquement les erreurs.
v : mode verbeux, affiche des informations détaillées.
t : marque les clusters défectueux dans la FAT comme mauvais.
Pour terminer la procédure, j’ai débrancher rebrancher physiquement la clé.