Muszę wiedzieć, jakie dyski twarde są dostępne, w tym te, które nie są zamontowane i prawdopodobnie nie są sformatowane. Nie mogę ich znaleźć w ( dmesg
lub /var/log/messages
za dużo, aby przewijać). Mam nadzieję, że istnieje sposób na wykorzystanie /dev
lub /proc
znalezienie tych informacji, ale nie wiem jak. Używam Linuksa.
223
lshw
(Lista sprzętu),hwinfo
(Informacje o sprzęcie),lsscsi
(Lista urządzeń SCSI),lsusb
(Lista magistrali / urządzeń USB),lsblk
(Lista urządzeń blokowych)fdisk -l
imount
. Więcej informacji na stronie binarytides.com/linux-commands-hardware-info .Odpowiedzi:
Jest to w dużej mierze zależne od platformy. Również różne metody mogą różnie traktować przypadki brzegowe (różnego rodzaju „fałszywe” dyski, woluminy RAID…).
W nowoczesnych instalacjach udev w podkatalogach znajdują się dowiązania symboliczne do nośników pamięci
/dev/disk
, które umożliwiają wyszukiwanie dysku lub partycji według numeru seryjnego (/dev/disk/by-id/
), UUID (/dev/disk/by-uuid
), etykiety systemu plików (/dev/disk/by-label/
) lub połączenia sprzętowego (/dev/disk/by-path/
).W Linuksie 2.6 każdy dysk i urządzenie dyskowe ma swój wpis
/sys/block
. W Linuksie od zarania dziejów dyski i partycje są wymienione w/proc/partitions
. Alternatywnie, można użyć lshw :lshw -class disk
.Linux zapewnia również
lsblk
narzędzie, które wyświetla ładny widok drzewa woluminów pamięci (od wersji 2.19 nieużywanej na urządzeniach wbudowanych z BusyBox).Jeśli masz narzędzie
fdisk
lubdisklabel
narzędzie, może on powiedzieć, na jakich urządzeniach może pracować.W programie Rosetta Stone for Unix znajdziesz nazwy narzędzi dla wielu wariantów uniksowych , w szczególności wiersze „konfiguracja listy urządzeń” i „odczyt etykiety dysku”.
źródło
lsblk
wyświetli listę wszystkich blokowanych urządzeń. Dobrze nadaje się do pisania skryptów:lsblk
jest obecny w pakiecie util-linux i jest o wiele bardziej uniwersalny niż proponowane alternatywy.źródło
lsblk -d
,-d
oznacza , że na liście nie ma komunikatu o zależności.lsblk -ido KNAME,TYPE,SIZE,MODEL
(util-linux
którego część jest częściąbase
Arch) natychmiast podaje żądane informacje i bez konieczności rootowania. Pamiętaj, że zapewnia model urządzenia , a nie rodzinę modeli .smarctl -i /dev/<device>
zalecił to Skippy, np. „Rodzina modeli: Seagate Barracuda 7200.12” (brak w lsblk -ido: „dysk 465,8G ST3500418AS”).Co powiesz na
źródło
lshw
) zainstalowany na serwerze i podejrzewam, że odpowiedzią będzie, że go nie instalujemy.hwinfo
pomaga:źródło
@Giles twierdzi, że jest to wysoce zależne od platformy. Oto jeden z takich przykładów.
Korzystam z systemu CentOS 5.5. Ten system ma 4 dyski i 3ware kontroler RAID.
W moim przypadku
lshw -class disk
,cat /proc/scsi/scsi
iparted --list
pokazuje kontroler RAID (3ware 9650SE-4LP). To nie pokazuje rzeczywistych dysków:pokazuje tylko kontroler RAID 3ware, który zapewnia wolumin / dev / sda:
Aby zobaczyć dyski, które znajdują się pod spodem, musiałem zainstalować narzędzie tw_cli z 3ware i zapytać sam kontroler.
źródło
Ponieważ zarówno „ Czy mogę zobaczyć, co mam zainstalowane HDD? ” I „ Jak określić markę i model moich urządzeń pamięci masowej? ” Są oznaczone jako duplikaty to pytanie, jestem zaskoczony nikt nie wspomniano
hdparm
asmartctl
. Patrząc na kilka maszyn, wydaje się, że jedna z nich (jeśli nie jest to jedna i druga) często jest już zainstalowana w standardowych (nawet starych) dystrybucjach linuksa.Jak zwykle sprawdź stronę podręcznika, aby uzyskać więcej opcji.
źródło
smartctl
sposób działa nawet na Cygwin, +1! Wystarczy, że przejdziesz nad możliwymi nazwami urządzeń i zobaczysz, czysmartctl
dysk obsługuje SMART.Korzystam z Fedory 14 i
lshw
nie jest dostępny tutaj (przynajmniej domyślnie). Jednak w moim przypadku użyłemfdisk -l
polecenia (jako użytkownik root), aby uzyskać następujące dane wyjściowe:źródło
fdisk -l /dev/sd?
lub,fdisk -l /dev/hd?
aby uniknąć wprowadzania urządzeń DM.I znaleźć w drugiej odpowiedzi SE ,
inxi
narzędzie jako bardzo wygodne:źródło
Wiele z wymienionych poleceń pomoże wyszukać dyski, które zostały już rozpoznane przez system podczas rozruchu. W przypadku nowoczesnych dysków może się okazać, że szukasz czegoś, co wstawisz, gdy maszyna jest uruchomiona (ja zrobiłem). Lubię porady z http://fredericiana.com/2010/06/15/hot-plugging-a-sata-drive-under-linux/ :
... Następnie możesz użyć narzędzi Linuksa, takich jak fdisk, aby wyświetlić informacje o znalezionych dyskach.
źródło
poda szczegółowe informacje o dyskach sprzętowych / fizycznych, nawet jeśli nie są zamontowane.
program jest wstępnie zainstalowany na wszystkich wariantach Linuksa, z których korzystałem, ale aby go używać, musisz mieć uprawnienia administratora.
źródło
To działało dla mnie:
źródło
sudo gparted
pokaże to wszystko w GUI.(Nie określiłeś, że musisz to zrobić w terminalu, więc zastanawiam się, dlaczego brakuje tego rozwiązania).
źródło
Aby zwrócić liczbę urządzeń blokowych bez wymyślnych narzędzi ani niejasnej składni lub parametrów:
W moich lokalnych testach,
47
na mojej największej machinie wojennej i1
na moim laptopie.źródło
IMHO, lsblk to polecenie, które jest najszerzej dostępne w świecie Linuksa (działa nawet na portach takich jak Raspbian). Nie chcę nikogo urazić, ale są pewne polecenia, które wymagają jawnej znajomości nazwy urządzenia, aby ją wyszukać. Na przykład powinieneś zdawać sobie sprawę z istnienia sdc do uruchomienia smartctl. To powiedziawszy, lsblk nie jest uniwersalny - tak w Solarisie, ale nie hpux. Dzięki.
źródło
lsblk
jest również dostępne w systemie Solaris, nie dodaje to więcej informacji niż dwie najczęściej głosowane odpowiedzi. Byłoby to lepiej opublikowane jako komentarz do unix.stackexchange.com/a/94211/22812