Jak wyświetlić wszystkie dostępne dyski twarde / partycje?

245

W mojej piwnicy znalazłem dysk twardy IDE o pojemności 6 GB. Chcę go podłączyć i zobaczyć, co może być na nim. Dysk wydaje się być rozpoznawany w systemie BIOS.

Nie mogę znaleźć tego w Ubuntu do przeglądania plików, a Ubuntu jest jedynym systemem operacyjnym na tym konkretnym komputerze. Zastanawiałem się, czy Ubuntu ma odpowiednik funkcji Windows „Mój komputer”, która wyświetla listę wszystkich dostępnych napędów / urządzeń pamięci masowej. Zazwyczaj Mój komputer pokazuje C :, który można otworzyć, aby wyświetlić wszystkie katalogi i pliki. W tym momencie jest bardzo podobny do folderu domowego Ubuntu.

Jak wyświetlić / wybrać wszystkie dostępne partycje tego dysku lub wszystkie dostępne dyski twarde bez formatowania lub manipulowania zawartością w jakikolwiek sposób?

Casey Hungler
źródło
6
Używaj Gparted , ale ostrożnie! To może być niebezpieczne narzędzie. Jeśli popatrzysz tylko na partycje, jest w porządku
Prawdopodobnie duplikat (może nawet pytanie kanoniczne): Który dysk twardy jest który?
Peter Mortensen

Odpowiedzi:

420

Jest wiele sposobów, ale moim ulubionym jest lsblk. Oto demonstracja:

sudo lsblk -o NAME,FSTYPE,SIZE,MOUNTPOINT,LABEL

To pokazuje, co następuje:

NAME   FSTYPE   SIZE MOUNTPOINT LABEL
sda           111.8G            
├─sda1 swap     121M [SWAP]     
└─sda2 ext4   111.7G /          
sdb             2.7T            
└─sdb1 ext4     2.7T            xtreme
sdc             3.7T            
└─sdc1 ext4     3.7T            titan

Pokazuje:

  • Nazwa dysku i jego partycji.
  • Rodzaj systemu plików.
  • Rozmiar całego dysku i rozmiar każdej partycji.
  • Punkt montowania i jeśli jest dostępny, etykieta dla nich.

Możesz grać z opcjami, najpierw patrząc na te dostępne w lsblk --help. Podoba mi się lsblkze względu na przyjazny sposób wyświetlania informacji w porównaniu na przykład z fdisklub parted.

Luis Alvarado
źródło
21
Dzięki, lsblkjest dla mnie bardziej czytelny niż fdisk.
Aditya
5
Idealnie, nie trzeba niczego instalować, aby to zrobić.
Justin
6
Wydaje mi się, że nie potrzebuję sudotego.
szabgab
1
Jak mogę zmienić etykietę dysku twardego?
jonney
4
To polecenie ma nawet zdolność do wyświetlania jako json, lsblk --output-all --jsonco jest niesamowite!
Zren,
83

Rozwiązanie wiersza polecenia:

  • aby sprawdzić, które dyski widzi twój system:

    sudo fdisk -l
    

Jeśli twój dysk znajduje się na liście, będziesz mógł zobaczyć, jakie partycje znajdują się na nim, w następujący sposób:

Disk /dev/sda: 160.0 GB, 160041885696 bytes
...

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *          63      208844      104391   83  Linux
/dev/sda2          208845     2313359     1052257+  82  Linux swap / Solaris
/dev/sda3         2313360   312576704   155131672+  83  Linux

Następnie stwórz gdzieś katalog i zamontuj jedną z partycji. Na przykład, aby zamontować partycję FAT32 znajdującą się dev/sda3tylko do odczytu w katalogu, /media/my_test_mountmożesz to zrobić

sudo mount -t cifs -o ro /dev/sda3 /media/my_test_mount

Takie podejście daje większą kontrolę, ponieważ można używać różnych opcji montowania, na przykład montować partycję tylko do odczytu.

Zobacz man mountszczegóły.

Siergiej
źródło
22

Po drugie, Luis lsblk(8)jest prawdopodobnie najbardziej prostym i zwięzłym rozwiązaniem. Bardzo łatwo jest wyobrazić sobie, co tam jest i szybko uzyskać wszystkie potrzebne informacje:

sudo lsblk -o NAME,FSTYPE,SIZE,MOUNTPOINT,LABEL

Dla Twojej wygody oto lista wszystkich dostępnych kolumn, których można użyć.

Available columns:
       NAME  device name
      KNAME  internal kernel device name
    MAJ:MIN  major:minor device number
     FSTYPE  filesystem type
 MOUNTPOINT  where the device is mounted
      LABEL  filesystem LABEL
       UUID  filesystem UUID
         RO  read-only device
         RM  removable device
      MODEL  device identifier
       SIZE  size of the device
      STATE  state of the device
      OWNER  user name
      GROUP  group name
       MODE  device node permissions
  ALIGNMENT  alignment offset
     MIN-IO  minimum I/O size
     OPT-IO  optimal I/O size
    PHY-SEC  physical sector size
    LOG-SEC  logical sector size
       ROTA  rotational device
      SCHED  I/O scheduler name
    RQ-SIZE  request queue size
       TYPE  device type
   DISC-ALN  discard alignment offset
  DISC-GRAN  discard granularity
   DISC-MAX  discard max bytes
  DISC-ZERO  discard zeroes data
Philip
źródło
6

Nautilus (gdzie przeglądasz folder domowy) pokaże wszystkie zamontowane dyski w systemie. Jeśli dysk zostanie rozpoznany przez komputer, możesz go zamontować i zacząć z niego korzystać.

Wskazówki i informacje na temat montażu napędów można znaleźć tutaj: https://help.ubuntu.com/community/Mount

Histo
źródło
6

Aby wyświetlić listę dysków twardych / dysków, używam

sudo parted -l

Wynik:

Model: ATA Samsung SSD 850 (scsi) 
Disk /dev/sda: 250GB 
Sector size (logical/physical): 512B/512B 
Partition Table: msdos

Number  Start   End    Size   Type      File system  Flags  
 1      1049kB  256MB  255MB  primary   ext2         boot
 2      257MB   120GB  120GB  extended  
 5      257MB   120GB  120GB  logical   lvm


Model: Linux device-mapper (linear) (dm) 
Disk /dev/mapper/ubuntu--vg-swap_1: 8573MB 
Sector size (logical/physical): 512B/512B 
Partition Table: loop

Number  Start  End     Size    File system     Flags  
 1      0.00B  8573MB  8573MB  linux-swap(v1)


Model: Linux device-mapper (linear) (dm) 
Disk /dev/mapper/ubuntu--vg-root: 111GB 
Sector size (logical/physical): 512B/512B 
Partition Table: loop

Number  Start  End    Size   File system  Flags
 1      0.00B  111GB  111GB  ext4

A następnie, aby wyświetlić listę partycji, które inni sugerowali już, możesz użyć:

sudo lsblk -f

Co powie ci o typach partycji systemu plików

Layke
źródło
parteddaje mi informacje o sprzęcie i informacje lsblko partycji. Wygląda na to, czego potrzebowałem. Szkoda, że ​​nie ma jednego polecenia, aby udokumentować wszystko, aby wesprzeć odzyskiwanie po awarii. Dziękuję Ci!
Suncat2000
4

Poniższe rozwiązanie jest bardzo łatwe, przejrzyste, oparte na graficznym interfejsie użytkownika i pokazuje dokładnie to, co ułożyłeś na dysku twardym:

  1. Przejdź do: „Narzędzia systemowe” na głównej liście uruchamiania
  2. Uruchom „GParted”
  3. Wprowadź swoje hasło (powinno być hasłem logowania, jeśli jesteś administratorem). Zostaną wyświetlone układy dysku twardego, rozmiary partycji i wykorzystane kwoty.
  4. Zamknij aplikację GParted

UWAGA: Nie zmieniaj NIC, chyba że wiesz, co robisz!

Auderus
źródło
2

(w oparciu o wcześniejsze porady w odniesieniu do lsblk).

Do leniwej maszynistki (i jeśli nie potrzebujesz rozmiarów) możesz użyć:

sudo lsblk -f

który jest taki sam jak przy użyciu -o NAME,FSTYPE,LABEL,MOUNTPOINT

na przykład

NAME                 FSTYPE             LABEL MOUNTPOINT
sda
└─sda1               ntfs             TOSHIBA
sdb
└─sdb1               LVM2_member
  └─root-root (dm-0) ext4                     /
Jacek
źródło
2

Użyj poniższych linii poleceń, które razem dadzą ci dobry przegląd partycji (lokalizacja, rozmiary, wolne miejsce i punkty montowania),

df -h
sudo parted -ls
sudo lsblk -f
sudo lsblk -m

Jeśli okno terminala jest wystarczająco szerokie (na przykład 130 znaków), możesz połączyć lsblkpolecenia z

sudo lsblk -fm
sudodus
źródło
1

Późna odpowiedź, ale spróbuj tego:

  1. Otwórz pliki (aplikacja z deski rozdzielczej lub otwórz folder)
  2. Przejdź do „Systemu plików”
  3. Idź do „mediów”
  4. Przejdź do swojego użytkownika, np. Loli Chang (z Ubuntu.com)
  5. Powinien zawierać listę wszystkich podłączonych dysków, nie włączając SDA 1 (w twoim przypadku prawdopodobnie C :)
Yusuf Nayab
źródło
1

Stworzyłem wyrażenie regularne, aby pomóc tym, którzy chcą odczytać te dane w jakiejś aplikacji.

Aby to zrobić, polecenie lsblk jest bardziej przydatne, gdy używasz polecenia „-P”. Oto przykład:

$ lsblk -P -o KNAME,FSTYPE,SIZE,MOUNTPOINT,LABEL,MODEL
KNAME="sda" FSTYPE="" SIZE="80G" MOUNTPOINT="" LABEL="" MODEL="VBOX HARDDISK   "
KNAME="sda1" FSTYPE="" SIZE="243M" MOUNTPOINT="/boot" LABEL="" MODEL=""
KNAME="sda2" FSTYPE="" SIZE="1K" MOUNTPOINT="" LABEL="" MODEL=""
KNAME="sda5" FSTYPE="" SIZE="79.8G" MOUNTPOINT="" LABEL="" MODEL=""
KNAME="dm-0" FSTYPE="" SIZE="79G" MOUNTPOINT="/" LABEL="" MODEL=""
KNAME="dm-1" FSTYPE="" SIZE="768M" MOUNTPOINT="[SWAP]" LABEL="" MODEL=""
KNAME="sr0" FSTYPE="" SIZE="1024M" MOUNTPOINT="" LABEL="" MODEL="CD-ROM          "
KNAME="sr1" FSTYPE="" SIZE="1024M" MOUNTPOINT="" LABEL="" MODEL="CD-ROM          "

Możesz przeczytać to wyjście, używając trochę wyrażeń regularnych

/KNAME=\"(.*)\" FSTYPE=\"(.*)\" SIZE=\"(.*)\" MOUNTPOINT=\"(.)*\" LABEL=\"(.*)\" MODEL=\"(.*)\"/g

http://regex101.com/r/uX5eG3/1

Jeśli nie potrzebujesz rozmiaru partycji, możesz użyć polecenia mount -l to

$ mount -l
/dev/mapper/precise32-root on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
udev on /dev type devtmpfs (rw,mode=0755)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)
none on /run/shm type tmpfs (rw,nosuid,nodev)
/dev/sda1 on /boot type ext2 (rw)
rpc_pipefs on /run/rpc_pipefs type rpc_pipefs (rw)
/vagrant on /vagrant type vboxsf (uid=1000,gid=1000,rw)

I przeczytaj to, używając tego rodzaju Regex

/(.*) on (.*) type (.*) \((.*)\)/g

http://regex101.com/r/nE4pQ9/1

Jeśli robisz to w węźle, możesz przekonwertować ciąg znaków na tablicę wystąpień przy użyciu kodu takiego jak

stdout.split("\n").map(function(x){return x.split(/(.*) on (.*) type (.*) \((.*\))/g)}); 
Thiago Mata
źródło