Jak wyświetlić listę partycji dysku, gdy są odmontowane? A jak zamontować je przez terminal?
źródło
Jak wyświetlić listę partycji dysku, gdy są odmontowane? A jak zamontować je przez terminal?
Wyświetlanie niezamontowanych partycji
Aby rozwiązać ten listing nieoprawione przegród części, istnieje kilka sposobów - 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"
$
Przydałoby się trochę AWK
magii, aby przeanalizować dane wyjściowe i wyświetlić lsblk
listę wszystkich odmontowanych partycji:
$ 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
Lub alternatywnie:
$ lsblk --noheadings --raw -o NAME,MOUNTPOINT | awk '$1~/[[:digit:]]/ && $2 == ""'
sdb1
sdb2
sdb3
sdb4
sdb5
To, co się dokładnie dzieje, polega na tym, że wymieniamy wszystkie
wiersze, które mają pierwszą kolumnę zaczynającą się na literę s
(bo tak zwykle nazywane są dyski) i kończącą się liczbą (reprezentującą partycje). Na moim poprzednim wyjściu widać, że mam inne systemy plików, takie jak doker, więc w powyższym poleceniu pozbywamy się wszystkich niepotrzebnych rzeczy.
Montowanie partycji
Odkryłem, że mount
może być wybredny : musi znać dokładny system plików, musi być uruchamiany jako root, itp. udisksctl mount -b /dev/sXY
Jest znacznie lepszym poleceniem, może być uruchamiany jako zwykły użytkownik i automatycznie instaluje się w /media/$USER/
folderze. Na przykład,
$ udisksctl mount -b /dev/sdb5
Mounted /dev/sdb5 at /media/xieerqi/0ca7543a-5463-4a07-8bbe-233a7b0bd625.
sudo blkid -o list
wyświetli listę wszystkich zamontowanych i odmontowanych partycji. Ponadto możesz użyć mount
i, df
aby zobaczyć wszystkie punkty montażu.
mount -t type device destination_dir
można użyć do zamontowania urządzenia / partycji.
Aby odpowiedzieć na pierwsze pytanie, uruchom:
Jeśli są normalnie zamontowane, po prostu uruchom:
Ze strony podręcznika montowania: polecenie
Jeśli nie są normalnie montowane, musisz podać opcje montażu.
źródło
mount
komenda musi byćsudo mount <options>
również wykonana, jeśli uruchomisz ją inaczej niż root, lub otrzymasz: mount: tylko root może to zrobićudisksctl mount -b /dev/sXY
polecenie, które może być uruchomione przez przeciętnego użytkownika, bardzo fajnie.Oto, co opracowałem, aby wyświetlić listę niezmontowanych woluminów:
źródło
Możesz także użyć,
aby uzyskać listę wszystkich zamontowanych partycji, a następnie użyj,
Lsblk
aby sprawdzić, które nie były na zamontowanej liście.źródło