Ceci est une ancienne révision du document !



Comment ajouter un nouveau disque dur

FIXME Il manque à cet article des références vers des outils graphiques permettant de faire des actions similaires. (kcontrols ?? pour Kubuntu)

Une mise à jour de son contenu serait aussi bienvenue.

Une question qui revient fréquemment : comment ajouter un disque dur sous Linux ? En effet, s'il est maintenant très facile d'installer Linux, ajouter du matériel n'est pas toujours évident. Vous apprendrez ici tout ce qui est nécessaire pour mener à bien cette expérience.

Avec GNU/Linux, tout comme avec Unix, tout est fichier. Le système interprète donc vos périphériques en tant que fichiers. Les disques durs n'échappent pas à cette règle et se retrouvent donc dans le dossier /dev. Traditionnellement les périphériques IDE répondent à une appellation commençant par hd (pour Hard Disk) suivi d'une lettre correspondant à la position logique du disque (maître, esclave etc.) suivi d'un chiffre identifiant la partition.

Par exemple, la première partition du premier disque dur (disque maître du bus IDE primaire) s'appelle donc hda1 et c'est généralement sur celle-ci qu'est installé votre système d'exploitation.

Malheureusement cette nomenclature devient plus complexe dès lors que l'on utilise des contrôleurs Serial ATA ou RAID et que l'on se retrouve avec beaucoup de disques dans le même ordinateur. Je vais, dans cet article, essayer de vous faciliter la vie mais si vous désirez vraiment savoir comment ça fonctionne je vous invite à consulter cette page : http://www.linux-wizard.net/faq.php?section=0&key=hd_naming

Depuis quelques années la notation des disques a été simplifiée. Ils se nomment tous sdx (où x est une lettre) par exemple hda devient sda, hdb devient sdb.

Cette partie vous permettra de récupérer des informations contenues dans un disque dur ayant déjà servi et donc, étant déjà partitionné formaté etc. Ceci est particulièrement utile pour récupérer les données d'un ordinateur sur un autre.

Identifier le disque dur

Plusieurs commandes existent aux résultats plus ou moins compréhensibles et adaptés aux besoins de l'utilisateur.

  • lshw
 sudo lshw -class disk

Exemple de résultat

  *-disk:0                
       description: ATA Disk
       product: WDC WD200EB-00CP
       vendor: Western Digital
       physical id: 0.0.0
       bus info: scsi@0:0.0.0
       logical name: /dev/sda
       version: 06.0
       serial: WD-WMAAXXXXXXX
       size: 18GiB (20GB)
       capabilities: partitioned partitioned:dos
       configuration: ansiversion=5 signature=7945XXXXXX
  *-disk:1
       description: ATA Disk
       product: ST320414A
       vendor: Seagate
       physical id: 0
       bus info: scsi@0:0.1.0
       logical name: /dev/sdb
       version: 3.05
       serial: 7EC0XXXXX
       size: 18GiB (20GB)
       capabilities: partitioned partitioned:dos
       configuration: ansiversion=5 signature=fxxxxxx
  • Analyse des fichiers log

Les disques durs connectés à l'ordinateur sont identifiés au démarrage de l'ordinateur, par conséquent il faut analyser le journal de démarrage pour récupérer leur appellation logique.

Lancez la commande: dmesg | grep [sh]d[a-z] pour obtenir quelque chose de ce genre ou encore dmesg > /chemin/votre_fichier (cela permet d'envoyer le contenu de la commande dans un fichier) :

Kernel command line: root=/dev/hda1 ro quiet splash
ide0: BM-DMA at 0xe000-0xe007, BIOS settings: hda:DMA, hdb:DMA
ide1: BM-DMA at 0xe008-0xe00f, BIOS settings: hdc:DMA, hdd:DMA
hda: WDC WD200BB-00AUA1, ATA DISK drive
hdb: Maxtor 51024U2, ATA DISK drive
hda: max request size: 128KiB
hda: 39102336 sectors (20020 MB) w/2048KiB Cache, CHS=38792/16/63, UDMA(100)
hda: cache flushes not supported
hdb: max request size: 128KiB
hdb: 20010816 sectors (10245 MB) w/2048KiB Cache, CHS=19852/16/63, UDMA(66)
hdb: cache flushes not supported
hdc: HITACHI DVD-ROM GD-5000, ATAPI CD/DVD-ROM drive
hdd: HL-DT-ST GCE-8526B, ATAPI CD/DVD-ROM drive
Adding 746980k swap on /dev/hda5.  Priority:-1 extents:1
EXT3 FS on hda1, internal journal
hdc: ATAPI 40X DVD-ROM drive, 512kB Cache
hdd: ATAPI 52X CD-ROM CD-R/RW drive, 2048kB Cache
EXT3 FS on hdb1, internal journal

Dans cet exemple on remarque facilement ces périphériques :

  • hda Disque dur primaire Western Digital de 20Go
  • hdb Disque dur secondaire Maxtor de 10Go
  • hdc Lecteur DVD-ROM Hitachi
  • hdd Graveur CD-RW

Identifier les partitions

Une fois le nom du disque récupéré, il nous reste à repérer la partition qui nous intéresse. Nous allons utiliser la commande fdisk. Ainsi, nous allons afficher les partitions du disque principal,

sudo fdisk -l 

qui renvoie :

Disque /dev/hda: 20.0 Go, 20020396032 octets
255 têtes, 63 secteurs/piste, 2434 cylindres
Unités = cylindres de 16065 * 512 = 8225280 octets
Périphérique Amorce    Début         Fin      Blocs    Id  Système
/dev/hda1   *           1        2341    18804051   83  Linux
/dev/hda2            2342        2434      747022+   5  Extended
/dev/hda5            2342        2434      746991   82  Linux swap / Solaris

Et voilà, nous obtenons le nom de chacune des partitions et un certain nombre d'informations intéressantes comme la position sur le disque, les partitions bootables ou non et le type de système de fichiers.

Note: On peut aussi aller, dans la barre du haut, sur Système/Administration/Disques pour avoir le nom des disques (le nombre d'information est tout de même moins détaillé)

Si vous installez un nouveau disque dans votre ordinateur, il faut obligatoirement le partitionner et le formater, ce qui implique des manipulations supplémentaires. Pour trouver l'identifiant de votre disque, je vous invite à suivre la démarche du point 2.1

Partitionner le disque

L'utilitaire cfdisk vous permet d'afficher les partitions d'un disque et de les modifier. Attention, si vous supprimez une partition, vous détruisez son contenu.

Il se lance avec la commande sudo cfdisk éventuellement suivie de l'adresse du disque concerné comme dans l'exemple suivant (sudo cfdisk /dev/hda).

cfdisk 2.12p

                         Unité de disque: /dev/hda
                    Taille: 20020396032 octets,  20.0 Go
           Têtes: 255   Secteurs par piste: 63  Cylindres: 2434

  Nom         Fanions    Part Type  Type SF          [Étiq.]        Taille (Mo)
 ------------------------------------------------------------------------------
  hda1        Amorce      Primaire  Linux ext3       [/]             19255,39
  hda5                    Logique   Linux swap / Solaris               764,96
  
   [Amorçable] [Détruire]  [  Aide  ]  [Maximiser] [Afficher]
   [Quitter ]  [  Type  ]  [Unités ]   [Écrire ]

           Basculer le fanion d'amorce pour la partition courante

Vous pouvez choisir votre partition avec les flèches haut et bas et utiliser les menus avec la touche tabulation, voici l'explication concise de ses principaux menus

  • [Amorçable] rend amorçable la partition sélectionnée, ceci est indispensable pour la partition contenant votre système d'exploitation.
  • [Nouveau] permet de créer une partition dans un espace vide
  • [Détruire] efface la partition sélectionnée
  • [Aide] affiche l'aide
  • [Quitter] quitte sans enregistrer les modifications
  • [Type] permet de choisir le type de partition (Fat, Ext, etc.) cette commande affiche une liste exhaustive.
  • [Unité] permet de choisir si on affiche la taille des partitions en Cylindres, en Secteurs ou en Octets
  • [Écrire] enregistre les modifications de manière définitive (à faire avant de quitter)

Formater les disques

Une fois vos partitions clairement identifiées et préparées, il vous reste à les formater correctement. Avant de procéder au formatage en tant que tel, pensez à choisir le type de système de fichier du genre…

  • ext2 système de fichier historique de Linux
  • ext3 évolution de l'ext2 avec journalisation
  • reiserfs concurrent de l'ext3
  • vfat système de fichier de windows 9x

La commande mkfs vous permet de formater votre partition, elle s'utilise en passant en paramètre le type de fichier voulu et le nom de la partition, par exemple, pour formater hdb1 en ext3 :

sudo mkfs.ext3 /dev/hdb1

Formatage NTFS

ntfs : système de fichier de windows NT XP (disques durs de grande capacité). Dans le cas particulier où l'on souhaite formater un disque dur USB externe au format NTFS

  • Il faut installer ntfsprogs avec le gestionnaire de paquets Synaptic
  • Partitionner le disque si une ou des partition(s) n'existe(nt) pas (cas d'un disque neuf) :
 sudo cfdisk /dev/sdc

Puis formater la partition créée, par exemple une partition couvrant le disque complet :

 sudo mkntfs /dev/sdc1
 

Dès lors, vous pouvez aussi utiliser "mkfs.Type_de_fichier" :

 sudo mkfs.ntfs /dev/sdc1

Avec Linux, pour avoir accès à un périphérique, il faut le "monter" c'est-à-dire que l'on doit faire correspondre un dossier existant de l'arborescence avec le fichier de matériel en question. Cela peut se faire de deux manières : soit à la demande, comme on le fait généralement avec le lecteur CD par exemple, soit de manière permanente au démarrage de l'ordinateur comme c'est utilisé pour le disque système.

Dans les exemples suivants, on prévoit que votre point de montage est prêt et qu'il s'agit de /media/backup, pour ce faire il suffit juste de créer le dossier en question avec mkdir.

À la demande

Pour monter un périphérique de stockage, on utilise la commande mount qui doit s'accompagner de la désignation de votre lecteur et, éventuellement, des paramètres à lui appliquer.

Pour monter notre disque /dev/hdb1 dans /media/backup :

 sudo mount /dev/hdb1 /media/backup

Cette commande monte votre disque en détectant automatiquement le type du système de fichier, dans certains cas, Linux sera incapable de le choisir automatiquement, il faudra donc indiquer à la commande mount le type de fichier :

 sudo mount -t ext3 /dev/hdb1 /media/backup

Vous pouvez aussi ajouter des options comme, par exemple, des droits d'accès :

 sudo mount -t ext3 -o mode=0755 /dev/hdb1 /media/backup

Pour aller plus loin dans les arcanes de la commande mount je vous invite grandement à consulter le manuel qui lui est associé (man mount).

Dans le cas particulier où l'on souhaite monter un disque USB externe NTFS :

 sudo mount -t ntfs-3g /dev/sdd1 /media/backup

démontage avant arrêt du disque dur :

 sudo umount -f /media/backup

Le disque NTFS peut refuser de se monter, cela peut arriver lorsque le disque à été mal démonté par windows, pour forcer le montage :

 sudo mount -t ntfs-3g /dev/sdd1 /media/backup -o force

De manière permanente

En modifiant le fichier fstab

Pour que le disque dur soit détecté automatiquement au démarrage, on doit éditer le fichier /etc/fstab et ajouter la ligne suivante :

/dev/hdb1 /media/backup auto defaults umask=0 0 0

Pour aller plus loin : mount et fstab : Le montage des systèmes de fichiers.

De manière graphique

Disk-manager permet d'effectuer pour vous cette opération. Un paquet DEB est disponible depuis la page du forum consacrée à cet outil.

Le NTFS

Ntfs-3g permet d'écrire sur les partitions NTFS de manière sûre et simple : ntfs-3g
Ntfs-3g est maintenant inclus en version stable sous Hardy Heron

Dans certains cas il est intéressant de pouvoir monter des partitions de type NTFS, notamment utilisées par les disques durs de grande capacité fonctionnant sous windows NT ou windows XP. Pour mettre cela en place, il est indispensable de disposer de la bibliothèque correspondante nommée libntfs9. Vous pouvez l'installer, il vous suffit d'installer le paquet libntfs10

Ainsi, si votre partition est en NTFS vous pourrez la monter à la volée de la façon suivante :

sudo mount -t ntfs-3g -o mode=0111 /dev/hdb1 /media/backup

Ou l'ajouter au fstab :

/dev/hdb1   /media/backup   ntfs-3g   rw,auto   0    0

L'outil ntfsprogs propose des logiciels permettant de supporter le NTFS au niveau du formatage et du partitionnement, entre autres.

L'HFS (sur mac)

Le système de fichier utilisé par défaut dans MacOSX est l'HFS, vous pouvez monter vos disques durs en faisant :

sudo mount -t hfs /dev/hda1 /media/Macintosh_HD

Ou encore l'ajouter au fstab (ainsi il sera monté automatiquement) :

/dev/hda1 /media/Macintosh_HD hfs rw,auto 0  0

Les disques SCSI et SATA

Les disques durs SCSI et Serial ATA répondent globalement

Droit d’utilisation : disque dur ou partition partagé entre utilisateurs

par défaut , le disque dur formaté sera la propriété de l'utilisateur ROOT. Cela a pour effet que les utilisateurs habituels de l'ordinateur ne peuvent pas créer ou modifier les fichiers ou dossiers qui y seront crées. Cela est pertinent au niveau sécurité (on limite l’accès aux droit de lecture et d'écriture pour n'autoriser l'accès que de façon sélective dans un second temps), mais c'est effectivement frustrant de ne pas pouvoir partager des données entre utilisateurs.

Une fois formaté, pour permettre que la partition soit accessible à tous les utilisateurs (utilisateur users), il faut changer les droits de la partition. Soit dans le fstab (qui spécifie les conditions de montage de la partition), soit plus simplement de la façon suivante.

De façon graphique :

  1. Ouvrir un terminal puis entrer
    gksudo nautilus
  2. Entrer le mot de passe administrateur
  3. Le navigateur de fichier s'ouvre avec les droits de ROOT. Attention tout ce que vous ferez avec cette fenêtre sera avec les droits du super utilisateur (création de fichier, de dossier). Il faudra donc limiter l'utilisation de ce que vous ferez avec, car cela peut endommager votre système.
  4. Aller dans le disque dont on veut changer les droits d’utilisation
  5. Clic droit –> propriété –> onglet Permissions
  6. Dans la rubrique groupe, sélectionner "users", juste en dessous, dans l' accès au dossier, sélectionner "création et suppression des fichiers", dans la rubrique autre, vous pouvez faire de même.
  7. Fermez ce menu et le navigateur de fichier ouvert avec les droits ROOT.

Ceci peut être également réalisé en ligne de commande, via la commande chmod.

  • tutoriel/comment_ajouter_un_disque_dur.1421743452.txt.gz
  • Dernière modification: Le 20/01/2015, 09:44
  • par frombenny