Bir harddisk'in unmounted bölümü nasıl listelenir ve monte edilir?


Yanıtlar:


43

Atsız Bölümleri Listeleme

Monte edilmemiş bölümleri kısmının listesini ele almak için çeşitli yollar vardır - 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" 
$ 

Biri, tüm unmounted bölümlerini listelemek için AWKçıktılarını ayrıştırmak için biraz sihir kullanabilir lsblk:

$ 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

Veya alternatif olarak:

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

Tam olarak ne oluyor orada tüm listeleme bizim

harfi ile başlayan ilk sütunu içeren satırlar s(çünkü sürücülerin genellikle bu şekilde adlandırılması) ve bir sayı ile biten (bölümleri temsil eden). Önceki çıktımda, docker gibi başka dosya sistemlerine sahip olduğumu görebildiniz, bu yüzden yukarıdaki komutta gereksiz tüm şeylerden kurtulacağız.

Montaj Bölmeleri

Ben fark ettik mountseçici olabilir: o tam dosya sistemini bilmesi gerekir, bu, vb root olarak çalıştırılması gerekiyor udisksctl mount -b /dev/sXYçok daha iyi bir komuttur, otomatik düzenli kullanıcı olarak ran ve bağlar olabilir /media/$USER/klasöründe. Örneğin,

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

2

sudo blkid -o list

tüm monte edilmiş ve sökülmemiş bölümleri listeler. Ek olarak tüm bağlama noktalarını görmek için mountve dfdüğmelerini kullanabilirsiniz .

mount -t type device destination_dir

Cihazınızı / bölümünü monte etmek için kullanılabilir.


Bu sadece monte edilmiş bölümleri listeler. Atsız olanlar dahil değildir.
Suncat2000

2

İlk sorunuza cevap vermek için, koşun:

sudo parted -l

Normal olarak monte edilmişlerse, sadece çalıştırın:

mount -a

Mount man sayfasından: komut

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

(genellikle bir önyükleme komut dosyasında verilir) fstab'ta (uygun tipte ve / veya uygun seçeneklere sahip olan veya olmayan) belirtilen tüm dosya sistemlerinin, noauto anahtar sözcüğünü içerenler dışında belirtilen şekilde monte edilmesine neden olur.

Normal olarak monte edilmemişlerse montaj seçeneklerini sağlamalısınız.


ve açık mountolması sudo mount <options>gerekirse , komutun root gibi çalıştırılması durumunda da olması gerekir ya da şunu alırsınız: mount: sadece root bunu yapabilir
JimLohse

Doğrudan @ Serg'in yanıtı hakkında yorum yapmak için çok yeniyim ama çok ayrıntılı, en azından bunu kaldırabilirim! Cevabına, özellikle udisksctl mount -b /dev/sXYortalama bir kullanıcı tarafından çalıştırılabilen komuta çok iyi baktığından emin olun .
JimLohse,

2

Bu birleştirilmemiş birimleri listelemek için geliştirdiğim şey:

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

1
Cevabınızı nasıl kullanıldığına dair örneklerle genişletebilir misiniz?
WinEunuuchs2Unix

0

Ayrıca kullanabilirsiniz,

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

tüm monte edilmiş bölümlerin listesini almak ve ardından Lsblkhangisinin monte edilmiş listede olmadığını kontrol etmek için kullanın .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.