Wie zeige ich alle verfügbaren Festplatten / Partitionen an?

246

Ich habe eine 6-GB-IDE-Festplatte in meinem Keller gefunden. Ich möchte es anschließen und sehen, was darauf sein könnte. Das Laufwerk scheint im BIOS erkannt zu werden.

Ich kann in Ubuntu keine Dateien anzeigen, und Ubuntu ist das einzige Betriebssystem auf diesem bestimmten Computer. Ich habe mich gefragt, ob Ubuntu eine Entsprechung zur Windows-Funktion "Arbeitsplatz" hat, in der alle verfügbaren Laufwerke / Speichergeräte aufgelistet sind. In der Regel zeigt Arbeitsplatz C: an, das geöffnet werden kann, um alle Ihre Verzeichnisse und Dateien anzuzeigen. Zu diesem Zeitpunkt ist es Ubuntus Home-Ordner sehr ähnlich.

Wie kann ich alle verfügbaren Partitionen dieses Laufwerks oder aller verfügbaren Festplatten anzeigen / auswählen, ohne den Inhalt zu formatieren oder zu manipulieren?

Casey Hungler
quelle
6
Verwenden Sie Gparted , aber mit Vorsicht! Dies kann ein gefährliches Werkzeug sein. Wenn Sie sich nur die Partitionen ansehen, ist es in Ordnung
Wahrscheinlich doppelt (vielleicht sogar die kanonische Frage): Welches Festplattenlaufwerk ist welches?
Peter Mortensen

Antworten:

421

Es gibt viele Möglichkeiten, aber mein Favorit ist lsblk. Hier ist eine Demonstration:

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

Das würde folgendes zeigen:

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

Es zeigt:

  • Der Name des Laufwerks und die Partitionen, über die es verfügt.
  • Der Typ des Dateisystems.
  • Die Größe des gesamten Laufwerks und die Größe jeder Partition.
  • Der Einhängepunkt und, falls verfügbar, die Beschriftung für sie.

Sie können mit den Optionen herumspielen, indem Sie sich zuerst die mit verfügbaren Optionen ansehen lsblk --help. Ich mag lsblkwegen der freundlichen Art, die Informationen anzuzeigen, wenn sie zum Beispiel mit fdiskoder verglichen werden parted.

Luis Alvarado
quelle
21
Danke, lsblkist für mich lesbarer als fdisk.
Aditya MP
5
Perfekt, dafür muss nichts installiert werden.
Justin
6
Ich brauche das anscheinend nicht sudo.
Szabgab
1
Wie können Sie ein Festplattenetikett ergänzen?
Jonney
4
Dieser Befehl hat sogar die Fähigkeit, als JSON auszugeben, lsblk --output-all --jsonwomit es fantastisch ist!
Zren
83

Die Befehlszeilenlösung:

  • So überprüfen Sie, welche Laufwerke Ihr System sehen kann:

    sudo fdisk -l
    

Wenn sich Ihr Laufwerk in der Liste befindet, können Sie wie folgt sehen, welche Partitionen sich auf dem Laufwerk befinden:

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

Erstellen Sie dann irgendwo ein Verzeichnis und hängen Sie eine der Partitionen an. Sie können beispielsweise eine FAT32-Partition, die sich dev/sda3schreibgeschützt befindet, in ein Verzeichnis /media/my_test_mountladen

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

Mit diesem Ansatz erhalten Sie mehr Kontrolle, da Sie verschiedene Einhängeoptionen verwenden können, z. B. die Partition schreibgeschützt einhängen.

Siehe man mountfür weitere Einzelheiten.

Sergey
quelle
23

Ich zweitens Luis darin lsblk(8)ist wahrscheinlich die einfachste und prägnanteste Lösung. Es ist sehr einfach zu visualisieren, was da ist und gibt Ihnen alle benötigten Informationen schnell:

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

Zur Vereinfachung finden Sie hier eine Liste aller verfügbaren Spalten, die verwendet werden können.

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
quelle
6

Nautilus (in dem Sie Ihren Basisordner anzeigen) zeigt alle im System eingebundenen Laufwerke an. Wenn das Laufwerk vom Computer erkannt wird, können Sie es einbinden und verwenden.

Anweisungen und Informationen zum Mounten von Laufwerken finden Sie hier: https://help.ubuntu.com/community/Mount

Histo
quelle
6

Um die Festplatten aufzulisten, benutze ich

sudo parted -l

Ausgabe:

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

Und um die Partitionen aufzulisten, wie andere bereits vorgeschlagen haben, können Sie Folgendes verwenden:

sudo lsblk -f

Welches wird Ihnen die Dateisystempartitionstypen sagen

Layke
quelle
partedgibt mir die Hardware-Informationen und lsblkgibt mir die Partitionsinformationen. Sieht aus wie was ich brauchte. Schade, dass es keinen einzigen Befehl gibt, mit dem alles dokumentiert werden kann, um die Notfallwiederherstellung zu unterstützen. Danke!
Suncat2000
4

Die folgende Lösung ist sehr einfach, übersichtlich, ein GUI-Ansatz und zeigt Ihnen genau, was Sie auf Ihrer Festplatte angelegt haben:

  1. Gehen Sie zu "System-Tools" in Ihrer Hauptstartliste
  2. Starte "GParted"
  3. Geben Sie Ihr Passwort ein (sollte Ihr Anmeldepasswort sein, wenn Sie der Administrator sind.) Ihnen werden Ihre Festplattenlayouts, Partitionsgrößen und verwendeten Mengen angezeigt.
  4. Beenden Sie die GParted-Anwendung

VORSICHT: Verändern Sie NICHTS, es sei denn, Sie wissen, was Sie tun!

Auderus
quelle
2

(Aufbauend auf vorherigen Ratschlägen in Bezug auf lsblk).

Für die faule Schreibkraft (und wenn Sie die Größen nicht benötigen) können Sie verwenden:

sudo lsblk -f

das ist das gleiche wie mit -o NAME,FSTYPE,LABEL,MOUNTPOINT

zum Beispiel

NAME                 FSTYPE             LABEL MOUNTPOINT
sda
└─sda1               ntfs             TOSHIBA
sdb
└─sdb1               LVM2_member
  └─root-root (dm-0) ext4                     /
Jack
quelle
2

Verwenden Sie die folgenden Befehlszeilen, um einen guten Überblick über die Partitionen zu erhalten (Position, Größen, freier Speicherplatz und Einhängepunkte).

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

Wenn Ihr Terminalfenster breit genug ist (z. B. 130 Zeichen), können Sie die lsblkBefehle zu kombinieren

sudo lsblk -fm
Sudodus
quelle
1

Späte Antwort, aber versuchen Sie Folgendes:

  1. Dateien öffnen (Anwendung aus Bindestrich oder Ordner öffnen)
  2. Gehe zu "Dateisystem"
  3. Gehe zu "Medien"
  4. Gehen Sie in Ihren Benutzer Eg Lola Chang (Von Ubuntu.com)
  5. Es sollte alle angeschlossenen Laufwerke auflisten, nicht einschließlich des SDA 1 (in Ihrem Fall wahrscheinlich C :)
Yusuf Nayab
quelle
1

Ich habe einige reguläre Ausdrücke erstellt, um diejenigen zu unterstützen, die diese Daten in eine Anwendung einlesen möchten.

Dazu ist der Befehl lsblk sinnvoller, wenn Sie den Befehl "-P" verwenden. Hier ein Beispiel:

$ 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          "

Sie können diese Ausgabe lesen, wenn Sie einen regulären Ausdruck verwenden

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

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

Wenn Sie die Größe der Partition nicht benötigen, können Sie mount -l to verwenden

$ 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)

Und lesen Sie es mit so einem Regex

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

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

Wenn Sie dies in node tun, können Sie den String mit einem Code wie dem folgenden in ein Array von Vorkommen konvertieren

stdout.split("\n").map(function(x){return x.split(/(.*) on (.*) type (.*) \((.*\))/g)}); 
Thiago Mata
quelle