J'ai besoin de savoir quels disques durs sont disponibles, y compris ceux qui ne sont pas montés et qui ne sont peut-être pas formatés. Je ne les trouve pas dans dmesg
ou /var/log/messages
(trop de choses à faire défiler). J'espère qu'il existe un moyen d'utiliser /dev
ou /proc
pour trouver cette information, mais je ne sais pas comment. J'utilise Linux.
Réponse acceptée :
Ceci dépend fortement de la plate-forme. De plus, différentes méthodes peuvent traiter différemment les cas extrêmes (disques "faux" de divers types, volumes RAID, …).
Sur les installations udev modernes, il existe des liens symboliques vers les supports de stockage dans les sous-répertoires de /dev/disk
, qui vous permettent de rechercher un disque ou une partition par numéro de série (/dev/disk/by-id/
), par UUID (/dev/disk/by-uuid
), par étiquette de système de fichiers (/dev/disk/by-label/
) ou par connectivité matérielle (/dev/disk/by-path/
).
Sous Linux 2.6, chaque disque et périphérique de type disque a une entrée dans /sys/block
. Sous Linux depuis la nuit des temps, les disques et partitions sont listés dans /proc/partitions
. Alternativement, vous pouvez utiliser lshw :lshw -class disk
.
Linux fournit également le lsblk
utilitaire qui affiche une belle arborescence des volumes de stockage (depuis util-linux 2.19, non présent sur les appareils embarqués avec BusyBox).
Si vous avez un fdisk
ou disklabel
utilitaire, il pourra peut-être vous dire sur quels appareils il est capable de fonctionner.
Vous trouverez des noms d'utilitaires pour de nombreuses variantes d'Unix sur Rosetta Stone pour Unix, en particulier les lignes "lister la configuration matérielle" et "lire une étiquette de disque".