Ho bisogno di sapere quali dischi rigidi sono disponibili, compresi quelli che non sono montati e forse non sono formattati. Non riesco a trovarli in dmesg o /var/log/messages (troppo per scorrere). Spero ci sia un modo per usare /dev o /proc per scoprire queste informazioni, ma non so come. Sto usando Linux.
Risposta accettata:
Questo è altamente dipendente dalla piattaforma. Anche metodi diversi possono trattare i casi limite in modo diverso (dischi "falsi" di vario tipo, volumi RAID, ...).
Nelle moderne installazioni di udev, ci sono collegamenti simbolici ai supporti di archiviazione nelle sottodirectory di /dev/disk , che ti consente di cercare un disco o una partizione in base al numero di serie (/dev/disk/by-id/ ), tramite UUID (/dev/disk/by-uuid ), per etichetta del filesystem (/dev/disk/by-label/ ) o dalla connettività hardware (/dev/disk/by-path/ ).
Sotto Linux 2.6, ogni disco e dispositivo simile a un disco ha una voce in /sys/block . Sotto Linux dall'alba dei tempi, i dischi e le partizioni sono elencati in /proc/partitions . In alternativa, puoi usare lshw:lshw -class disk .
Linux fornisce anche lsblk utility che mostra una bella vista ad albero dei volumi di archiviazione (da util-linux 2.19, non presente sui dispositivi embedded con BusyBox).
Se hai un fdisk o disklabel utility, potrebbe essere in grado di dirti su quali dispositivi è in grado di funzionare.
Troverai nomi di utilità per molte varianti di Unix su Rosetta Stone per Unix, in particolare le righe "list hardware configuration" e "read a disk label".