Bagaimana cara Mendaftar partisi harddisk yang belum di-mount dan memasangnya?

31

Bagaimana cara mencantumkan partisi disk saat dilepas? Dan bagaimana cara memasangnya melalui terminal?

TechJhola
sumber

Jawaban:

43

Daftar Partisi yang Tidak Di-mount

Untuk mengatasi daftar bagian partisi terpasang, ada beberapa cara - 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" 
$ 

Seseorang dapat menggunakan sedikit AWKsihir untuk mengurai output lsblkuntuk mendaftar semua partisi yang belum di-mount:

$ 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

Atau sebagai alternatif:

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

Apa yang sebenarnya terjadi di sana adalah bahwa kami mendaftar semua

baris yang memiliki kolom pertama dimulai dengan huruf s(karena itulah cara drive biasanya dinamai) dan diakhiri dengan angka (yang mewakili partisi). Dalam output saya sebelumnya, Anda dapat melihat bahwa saya memiliki sistem file lain, seperti untuk buruh pelabuhan, jadi pada perintah di atas kita menyingkirkan semua hal yang tidak perlu.

Pemasangan Partisi

Saya telah menemukan bahwa mountbisa pilih-pilih: perlu mengetahui sistem file yang tepat, perlu dijalankan sebagai root, dll. udisksctl mount -b /dev/sXYAdalah perintah yang jauh lebih baik, dapat dijalankan sebagai pengguna biasa, dan dipasang secara otomatis ke /media/$USER/folder. Sebagai contoh,

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

sudo blkid -o list

akan mencantumkan semua partisi yang dipasang dan tidak terpasang. Selain itu Anda dapat menggunakan mountdan dfuntuk melihat semua titik pemasangan.

mount -t type device destination_dir

dapat digunakan untuk memasang perangkat / partisi Anda.

Ron
sumber
Ini hanya mencantumkan partisi yang dipasang. Yang belum di-mount tidak termasuk.
Suncat2000
2

Untuk menjawab pertanyaan pertama Anda, jalankan:

sudo parted -l

Jika biasanya dipasang, jalankan:

mount -a

Dari halaman manual mount: Perintah

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

(biasanya diberikan dalam skrip boots) menyebabkan semua sistem file yang disebutkan dalam fstab (dari jenis yang tepat dan / atau memiliki atau tidak memiliki opsi yang tepat) untuk dipasang seperti yang ditunjukkan, kecuali untuk mereka yang barisnya berisi kata kunci noauto.

Jika biasanya tidak dipasang, Anda harus memberikan opsi untuk memasang.

JimLohse
sumber
dan untuk memperjelas mountperintah perlu sudo mount <options>juga, jika dijalankan selain dari root, atau Anda mendapatkan: mount: hanya root yang bisa melakukan itu
JimLohse
Saya terlalu baru untuk mengomentari langsung jawaban @ Serg tapi cukup lengkap, setidaknya saya bisa mengunggahnya! Pastikan untuk melihat jawabannya, terutama udisksctl mount -b /dev/sXYperintah yang dapat dijalankan oleh pengguna biasa, sangat keren.
JimLohse
2

Ini yang saya kembangkan untuk daftar volume yang tidak terpasang:

lsblk  --noheadings --raw | awk '{print substr($0,0,4)}' | uniq -c | grep 1 | awk '{print "/dev/"$2}'
Buck
sumber
1
Bisakah Anda memperluas jawaban Anda dengan contoh-contoh tentang bagaimana itu digunakan?
WinEunuuchs2Unix
0

Anda juga bisa menggunakan,

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

untuk mendapatkan daftar semua partisi yang dipasang, dan kemudian gunakan Lsblkuntuk memeriksa yang tidak ada di daftar yang dipasang.

Sufiyan Ghori
sumber