Pierre Porcheret




Voir la liste des articles



10 05 2016


Tourne Disque...dur

Un domaine ou linux ne facilite pas la tâche des utilisateurs comparé à Windows est la gestion des disques dur.

Un petit tour rapide des commandes usuelless

Informations sur les disques

Voir les disques 

fdisk -l

Autes informations (UUID, LABEL...)

blkid

Monter les partitions

Le montage des partitions rend la partition utilisable par l'utilisateur

Montage manuel 

mount /dev/sdXX /POINT/MONTAGE

Avec XX la partition à monter (à retourver dans le fdisk) et /POINT/MONTAGE dossier préalablement créé (NB: mkdir /Dossier_a_creer)

Attention parfois il est nécessaire de préciser le type de montage pour faciliter celui ci :

exemple : 
mount -t ext4 /dev/sdXX /POINT/MONTAGE

Pour les disques venant de Windows, deux outils sont indispensables : 

ntfs-3g pour les disque en NTFS

exfat-fuse pour les disques en exFAT (pour les gros disques et les gros fichiers >4Go)

Montage FSTAB

Le montage FSTAB permet d'automatiser le montage des partitions au démarrage de la machine

Pour cela, le plus fiable est de récuperer l'uuid (identification unique du disque)

Soit en passant par blkid soit en les listants :

ls -l /dev/disk/by-uuid/

Une fois l'uuid récupéré, on édite le fichier /etc/fstab

UUID=2898990C3-CE9D    /Disques/Point_Montage    auto    rw,unhide,uid=0,gid=0,umask=0,users     0       2

UUID=2898990C3-CE9D  : Uuid de la partition    

/Disques/Point_Montage : Dossier ou la partition est montée          

auto : type de formatage (ext4, exfat, auto...)

rw,unhide,uid=0,gid=0,umask=0,users      : options de montage (ici autoriser en lecture/ecriture, non caché et autorise les utilisateurs même si on est pas root à le monter/démonter...etc)                

0       2 : Nombre de tests de montage

Pour tester sans redemarrer :

mount -a

Les partitions montées se retrouvent avec un df -h

Formater un disque

Il faut que la partiotion soit démontée pour cette opération

Pour démonter : umount /dev/sdXX

mkfs.exfat -n LABEL /dev/sdXX

exfat : Formatage désiré (exemple ext2,ext3,vfat,ntfs....)
LABEL : nom du disque
/dev/sdXX : disque

Fomatage "bas niveau"

Le formatage bas niveau n'existe pas réellement mais nous pouvons lancer cette commande pour remettre à zero la totalité de la partition :

dd if=/dev/zero of=/dev/sdXX conv=notrunc

Tester les secteur defectueux 

Selon les manipulations ou dégats (coupure de courant...etc) des secteurs de disques peuvent être déteriorés. Il existe une solution pour tenter de les restaurer (comme un pixel mort sur un écran que l'on bombarde d'informations)

Repérér les secteurs deffecteux 

Pour cela on repère dans un premier temps les informations de block de dique avec un fsdisck

fdisk -l /dev/sdXX

Dans le résultat on repère deux choses :

[...]3907029168 sectors : le nombre de secteurs (ça va surtout determiner le nombre de siestes que vous pouvez faire)

Units: sectors of 1 * 512 = 512 bytes : la taille des blocks pour la recherche des secteurs deffectueux

On lance ensuite la commande de reperrage des secteurs :

badblocks -sv -b 512 /dev/sdX >/tmp/resultat.txt

nous aurons dans /tmp/resultat.txt , les secteurs deffectueux.

Tentative de sauvetage

Attention cette manipulation peut être dangeuse pour le disque !!

hdparm --yes-i-know-what-i-am-doing --write-sector 207205609 /dev/sdX

ici nous allons tenter de "reveiller" le secteur 207205609

Scripter tout ça 

Pour corriger un ou deux secteurs la solution du dessus suffit mais pour un disque un peu plus usé, un script est plus que nécessaire 

 

#!/bin/bash

export i=0;

    while true;

    do

      echo -n "$i ";

      if dd if=/dev/sda of=/dev/null count=1 skip=$i 2>/dev/null;

      then  echo OK ;

      else echo KO; hdparm --write-sector $i --yes-i-know-what-i-am-doing /dev/sda ;

      fi;

      let i+=1;

    done

Ecrivez ce script dans un .sh (nano script.sh) donnez les droits d'execution (chmod +x ./script.sh) lancez le et partez en vacances (pour 2 To il faut compter presque 3 ou 4 jours selon la machine)

L'autre solution est de récuperer avec un script la liste du test précédent et lancer un hdparm dessus.

 

sources :

https://doc.ubuntu-fr.org/mount_fstab

https://www.aplu.fr/v2/post/2016/01/07/forcer-un-disque-a-reallouer-des-secteurs-defectueux

 


categorie :