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“.