Wie liste ich eine nicht gemountete Partition einer Festplatte auf und mounte sie?


Antworten:


43

Auflisten von nicht bereitgestellten Partitionen

Um die Liste der unmontierten Partitionen Teil zu adressieren, gibt es mehrere Möglichkeiten - lsblk, fdisk, parted, blkid.

$ lsblk
NAME                             MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda                                8:0    0 111.8G  0 disk 
└─sda1                             8:1    0 111.8G  0 part /
sdb                                8:16   0 232.9G  0 disk 
├─sdb1                             8:17   0   1.5G  0 part 
├─sdb2                             8:18   0 138.6G  0 part /media/WINDOWS
├─sdb3                             8:19   0   8.1G  0 part 
├─sdb4                             8:20   0     1K  0 part 
├─sdb5                             8:21   0  68.5G  0 part 
└─sdb6                             8:22   0   5.8G  0 part 
loop0                              7:0    0   100G  0 loop 
└─docker-8:1-1589297-pool (dm-0) 252:0    0   100G  0 dm   
loop1                              7:1    0     2G  0 loop 
└─docker-8:1-1589297-pool (dm-0) 252:0    0   100G  0 dm   
$ sudo fdisk -l
[sudo] password for xieerqi: 

Disk /dev/sda: 120.0 GB, 120034123776 bytes
255 heads, 63 sectors/track, 14593 cylinders, total 234441648 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000b5321

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048   234440703   117219328   83  Linux

Disk /dev/sdb: 250.1 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders, total 488397168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x96360d50

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *        2048     3074047     1536000   27  Hidden NTFS WinRE
/dev/sdb2         3074048   293617502   145271727+   7  HPFS/NTFS/exFAT
/dev/sdb3       471437312   488396799     8479744   17  Hidden HPFS/NTFS
/dev/sdb4       293617662   471437311    88909825    5  Extended
/dev/sdb5       315830272   459382783    71776256   83  Linux
/dev/sdb6       459384832   471437311     6026240   82  Linux swap / Solaris

Partition table entries are not in disk order

Disk /dev/mapper/docker-8:1-1589297-pool: 107.4 GB, 107374182400 bytes
255 heads, 63 sectors/track, 13054 cylinders, total 209715200 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 65536 bytes / 65536 bytes
Disk identifier: 0x00000000

Disk /dev/mapper/docker-8:1-1589297-pool doesn't contain a valid partition table
$ sudo parted -l                                                               
[sudo] password for xieerqi: 
Model: ATA Radeon R7 (scsi)
Disk /dev/sda: 120GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End    Size   Type     File system  Flags
 1      1049kB  120GB  120GB  primary  ext4         boot


Model: ATA TOSHIBA MK2555GS (scsi)
Disk /dev/sdb: 250GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size    Type      File system     Flags
 1      1049kB  1574MB  1573MB  primary   ntfs            boot, diag
 2      1574MB  150GB   149GB   primary   ntfs
 4      150GB   241GB   91.0GB  extended
 5      162GB   235GB   73.5GB  logical   ext4
 6      235GB   241GB   6171MB  logical   linux-swap(v1)
 3      241GB   250GB   8683MB  primary   ntfs            hidden


Model: Linux device-mapper (thin-pool) (dm)
Disk /dev/mapper/docker-8:1-1589297-pool: 107GB
Sector size (logical/physical): 512B/512B
Partition Table: loop

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


$ sudo blkid
[sudo] password for xieerqi: 
/dev/sda1: UUID="86df21bf-d95f-435c-9292-273bdbcba056" TYPE="ext4" 
/dev/sdb1: LABEL="System" UUID="F4F688B2F68876A0" TYPE="ntfs" 
/dev/sdb2: LABEL="TI105866W0A" UUID="4EBAAE53BAAE36FD" TYPE="ntfs" 
/dev/sdb3: LABEL="HDDRECOVERY" UUID="BC4ED40D4ED3BDF8" TYPE="ntfs" 
/dev/sdb5: UUID="0ca7543a-5463-4a07-8bbe-233a7b0bd625" TYPE="ext4" 
/dev/sdb6: UUID="3a6e2270-19a2-49d7-aab3-5efb92d3b3d0" TYPE="swap" 
/dev/loop0: UUID="a3693b88-7899-4628-848d-d9012205cf56" TYPE="ext4" 
/dev/mapper/docker-8:1-1589297-pool: UUID="a3693b88-7899-4628-848d-d9012205cf56" TYPE="ext4" 
$ 

Man könnte ein bisschen AWKMagie verwenden, um die Ausgabe von lsblkzu analysieren und alle nicht gemounteten Partitionen aufzulisten:

$ lsblk  --noheadings --raw | awk '$1~/s.*[[:digit:]]/ && $7==""'              
sdb1 8:17 0 1.5G 0 part 
sdb3 8:19 0 8.1G 0 part 
sdb4 8:20 0 1K 0 part 
sdb5 8:21 0 68.5G 0 part 
sdb6 8:22 0 5.8G 0 part

Oder alternativ:

$ lsblk --noheadings --raw -o NAME,MOUNTPOINT | awk '$1~/[[:digit:]]/ && $2 == ""'                                       
sdb1 
sdb2 
sdb3 
sdb4 
sdb5 

Was genau dort passiert, ist, dass wir alle auflisten

Zeilen, deren erste Spalte mit einem Buchstaben beginnt s(so werden Laufwerke normalerweise benannt) und mit einer Zahl endet (die Partitionen darstellen). In meiner vorherigen Ausgabe konnte man sehen, dass ich andere Dateisysteme habe, wie zum Beispiel für Docker, sodass wir im obigen Befehl alle unnötigen Dinge loswerden.

Einhängen von Partitionen

Ich habe herausgefunden, dass mountes wählerisch sein kann: es muss das genaue Dateisystem kennen, es muss als root ausgeführt werden usw. Dies udisksctl mount -b /dev/sXYist ein viel besserer Befehl, kann als normaler Benutzer ausgeführt werden und wird automatisch in den /media/$USER/Ordner geladen. Beispielsweise,

$ udisksctl mount -b /dev/sdb5 
Mounted /dev/sdb5 at /media/xieerqi/0ca7543a-5463-4a07-8bbe-233a7b0bd625.

2

sudo blkid -o list

listet alle gemounteten und nicht gemounteten Partitionen auf. Außerdem können Sie mountund verwenden df, um alle Einhängepunkte anzuzeigen.

mount -t type device destination_dir

kann verwendet werden, um Ihr Gerät / Ihre Partition zu mounten.


Hier werden nur gemountete Partitionen aufgelistet. Unmontierte sind nicht enthalten.
Suncat2000,

2

Um Ihre erste Frage zu beantworten, führen Sie Folgendes aus:

sudo parted -l

Wenn sie normalerweise gemountet sind, führen Sie einfach Folgendes aus:

mount -a

Auf der Mount-Manpage: Der Befehl

mount -a [-t type] [-O optlist]

(normalerweise in einem Boot-Skript angegeben) bewirkt, dass alle in fstab genannten Dateisysteme (vom richtigen Typ und / oder mit oder ohne die richtigen Optionen) wie angegeben gemountet werden, mit Ausnahme derer, deren Zeile das Schlüsselwort noauto enthält.

Wenn sie normalerweise nicht gemountet sind, müssen Sie die Optionen zum Mounten angeben.


und um klar zu sein, muss der mountBefehl sudo mount <options>auch ausgeführt werden, wenn er nicht als root ausgeführt wird, oder Sie erhalten: mount: das kann nur root
JimLohse 18.01.16

Ich bin zu neu, um die Antwort von @ Serg direkt zu kommentieren, aber es ist ziemlich erschöpfend, zumindest kann ich es befürworten! Achten Sie darauf, seine Antwort zu lesen, insbesondere den udisksctl mount -b /dev/sXYBefehl, der von einem durchschnittlichen Benutzer ausgeführt werden kann, sehr cool.
JimLohse

2

Das habe ich entwickelt, um nicht gemountete Volumes aufzulisten:

lsblk  --noheadings --raw | awk '{print substr($0,0,4)}' | uniq -c | grep 1 | awk '{print "/dev/"$2}'

1
Könnten Sie Ihre Antwort mit Beispielen zur Verwendung erweitern?
WinEunuuchs2Unix

0

Sie können auch verwenden,

blkid -c /dev/nul | awk -F: '{print $1}'

um die Liste aller gemounteten Partitionen abzurufen und dann Lsblkzu überprüfen, welche nicht in der gemounteten Liste enthalten sind.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.