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 …
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.
Plusieurs commandes existent aux résultats plus ou moins compréhensibles et adaptés aux besoins de l'utilisateur.
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
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 :
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
On peut utiliser l'outil de partitionnement de disque d'Ubuntu. (sous KDE menu | Applications | Systeme)
Attention : voir la documentation sur les partitions. (pour faire simple, créer une seule partition de type EXT4)
Depuis Ubuntu 14.04 LTS, le nom de lecteur se trouve dans /media/nom utilisateur. Le disque est reconnu sans autre manipulation. Il ne reste plus qu'a définir les permissions pour l'utilisateur en ouvrant un terminal.
exemple :
sudo chmod 770 -R NomDeLecteur
puis
sudo chgrp “nom utilisateur” -R NomDeLecteur
On peut maintenant utiliser le nouveau 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
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…
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
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
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.
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
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.
Disk-manager permet d'effectuer pour vous cette opération. Un paquet DEB est disponible depuis la page du forum consacrée à cet outil.
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.
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 durs SCSI et Serial ATA répondent globalement
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 :
gksudo nautilus
Ceci peut être également réalisé en ligne de commande, via la commande chmod.