Ich muss wissen, welche Festplatten verfügbar sind, einschließlich solcher, die nicht gemountet und möglicherweise nicht formatiert sind. Ich kann sie nicht in dmesg
finden oder /var/log/messages
(zu viel zum durchblättern). Ich hoffe, es gibt eine Möglichkeit, /dev
zu verwenden oder /proc
um diese Informationen herauszufinden, aber ich weiß nicht wie. Ich verwende Linux.
Akzeptierte Antwort:
Dies ist stark plattformabhängig. Auch unterschiedliche Methoden können Grenzfälle unterschiedlich behandeln („gefälschte“ Festplatten verschiedener Art, RAID-Volumes, …).
Bei modernen udev-Installationen gibt es symbolische Links zu Speichermedien in Unterverzeichnissen von /dev/disk
, mit dem Sie eine Festplatte oder Partition anhand der Seriennummer suchen können (/dev/disk/by-id/
), nach UUID (/dev/disk/by-uuid
), nach Dateisystembezeichnung (/dev/disk/by-label/
) oder durch Hardwarekonnektivität (/dev/disk/by-path/
).
Unter Linux 2.6 hat jede Festplatte und jedes festplattenähnliche Gerät einen Eintrag in /sys/block
. Unter Linux werden Festplatten und Partitionen seit Anbeginn der Zeit in /proc/partitions
aufgelistet . Alternativ können Sie lshw:lshw -class disk
verwenden .
Linux bietet auch das lsblk
Dienstprogramm, das eine schöne Baumansicht der Speichervolumes anzeigt (seit util-linux 2.19, nicht vorhanden auf eingebetteten Geräten mit BusyBox).
Wenn Sie eine fdisk
haben oder disklabel
Dienstprogramm, kann es Ihnen möglicherweise mitteilen, auf welchen Geräten es funktioniert.
Auf Rosetta Stone für Unix finden Sie Utility-Namen für viele Unix-Varianten, insbesondere die Zeilen „list hardware configuration“ und „read a disk label“.