這個簡短的指南描述了在 Linux 和類 Unix 操作系統上查找和列出磁盤分區的所有可能方法。在深入探討這個主題之前,讓我們快速了解一下磁盤分區是什麼以及如何在 Linux 中命名它。
內容
Linux 上的磁盤分區
磁盤分區或磁盤切片是一種將物理存儲磁盤設備分區為邏輯部分的方法。這些部分稱為分區。硬盤驅動器可以包含一個或多個分區。
在 Linux 和類 Unix 系統上,磁盤通常分為三個分區。
- 一個分區用於保存系統文件。通常安裝在
"/"
((((root
目錄)。 - 一個分區用於保存用戶配置文件及其個人數據。它安裝在
/home
目錄。 - 還有一個 貨幣兌換 劃分。
在安裝操作系統或存儲數據之前,必須使用 EXT4 等文件系統對所有分區進行格式化。
分區表信息存儲在基於 BIOS 的系統上的主引導記錄 (MBR) 和基於 UEFI 的系統上的 GUID 分區表 (GPT) 中。
系統啟動時,BIOS或UEFI掃描所有存儲設備,找到MBR/GPT區域,找到啟動盤,從默認啟動盤加載內存中的啟動加載程序(即grub2),啟動代碼進行讀取。拆分並識別表格 /boot
創建一個分區,將內核加載到內存中,最後將控制權交給內核。內核處理引導過程的其餘部分並加載操作系統。
Linux中磁盤和分區的名稱
您需要知道 Linux 將用於創建、掛載和刪除分區的正確名稱。
Linux 磁盤和分區的名稱與其他操作系統不同。 Linux 操作系統的基本命名方案是:
- 第一個軟盤驅動器的名稱是
/dev/fd0
.. - 第二個軟盤驅動器的名稱是
/dev/fd1
, ETC。 - 找到的第一個硬盤驅動器(主)的名稱是
/dev/sda
.. - 找到的第二個硬盤的名稱
/dev/sdb
, ETC。 - 第一個 SCSI CD-ROM 的名稱是
/dev/scd0
..別名/dev/sr0
..
你可能想知道什麼 sda
代表。 sd
原來供參考 SCSI 磁盤 雖然是設備,但現在常用來指代SATA設備和可移動設備。
每個磁盤的分區通過在磁盤名稱中添加一個十進制數字來表示。例如, sda1
First SCSI 硬盤上的第一個分區。 sda2
表示第一個硬盤的第二個分區,sdb1 表示第二個硬盤的第一個分區。用業餘語言, s
指接口(SATA、SAS 或 SCSI) d
對於光盤 a
是設備ID,數字是分區ID。這同樣適用於添加到系統的後續磁盤。
對於本指南,知道 Linux 磁盤名稱和分區名稱就足夠了。如果您需要更多詳細信息,簡單的網絡搜索可以為您提供大量相關結果。讓我們回到主題。 在 Linux 上查看磁盤分區有多種方法。第一的, lsblk
命令行實用程序。
1. 使用 lsblk 命令列出 Linux 磁盤分區
這個 lsblk 一個實用程序,顯示有關指定塊設備和所有可用塊設備的信息,以及它們在 Linux 上的分區方案。它讀到 sysfs
與文件系統 udev db
收集磁盤和分區信息並以樹格式顯示輸出。
要使用 lsblk 命令列出磁盤和分區信息,請不帶任何選項運行它。
$ lsblk
再次,
$ sudo lsblk
樣本輸出:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
loop0 7:0 0 55M 1 loop /snap/core18/1705
loop1 7:1 0 55M 1 loop /snap/core18/1754
loop2 7:2 0 69.4M 1 loop /snap/lxd/15223
loop3 7:3 0 71.2M 1 loop /snap/lxd/15913
loop4 7:4 0 27.1M 1 loop /snap/snapd/7264
loop5 7:5 0 29.8M 1 loop /snap/snapd/8140
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1M 0 part
└─sda2 8:2 0 20G 0 part /
sr0 11:0 1 1024M 0 rom
lsblk
命令正如您在上面的輸出中看到的 lsblk
這個命令是 sda
有兩個分區。 sda1
什麼時候 sda2
..看著下面 類型 上面的輸出列。指示設備的類型。 磁盤 還 部門 (即分區)。
您是否注意到還有一個分區名稱? sr0
• 表示作為光學媒體安裝的 ISO 映像。
您的系統可能有多個設備。在這種情況下,只需按如下方式指定磁盤設備名稱:
$ lsblk /dev/sda
上述命令將顯示第一個磁盤驅動器的分區詳細信息。
您還可以查看文件系統類型、UUID、掛載點等詳細信息,如下所示:
$ lsblk -io KNAME,TYPE,SIZE,MODEL,FSTYPE,UUID,MOUNTPOINT
或者, -fm
查看掛載點、大小、所有者、模式的選項:
$ lsblk -fm
2.在Linux上使用fdisk命令顯示磁盤分區
磁盤 一個命令行對話框驅動程序,用於在 Linux 中管理硬盤上的分區表和分區。
要查看 Linux 上的磁盤分區,請執行以下操作: fdisk
命令與 -l
選項是 root
還 sudo
用戶:
$ sudo fdisk -l
樣本輸出:
[...]
Disk /dev/sda: 20 GiB, 21474836480 bytes, 41943040 sectors
Disk model: VBOX HARDDISK
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 46F42576-F542-4AD4-9BE4-31E59BAFE3C1
Device Start End Sectors Size Type
/dev/sda1 2048 4095 2048 1M BIOS boot
/dev/sda2 4096 41940991 41936896 20G Linux filesystem
fdisk
Linux 命令上面的輸出顯示了所有可用的磁盤分區。
要查看特定磁盤驅動器的分區表,請顯式聲明其名稱,如下所示:
$ sudo fdisk -l /dev/sda
3、在Linux上使用sfdisk查看硬盤分區
磁盤 is 是一個面向腳本的工具,用於拆分任何塊設備。 sfdisk的用法和fdisk的用法一樣。
使用以下命令檢查 Linux 硬盤分區 sfdisk
命令,執行:
$ sudo sfdisk -l
您還可以檢查特定設備的分區。
$ sudo sfdisk -l /dev/sda
4、使用cfdisk查看Linux磁盤分區
磁盤 一個基於 curses 的命令行程序,用於在 Linux 和類 Unix 系統上對塊設備進行分區。
使用以下命令檢查 Linux 上所有可用的磁盤分區 cfdisk
, 跑:
$ sudo cfdisk
樣本輸出:

按退出 qq 或選擇 結束 使用箭頭鍵選擇一個選項,然後按 Enter。
默認情況下,Cfdisk 列出分區詳細信息 /dev/sda
盤子。
5、在Linux上使用blkid查找磁盤分區
這個 黑色的 是另一個列出所有已識別分區及其 UUID(通用唯一標識符)的命令行程序。
要列出 Linux 機器上的所有分區,請運行 blkid,如下所示: root
還 sudo
用戶:
$ sudo blkid
樣本輸出:
/dev/sda2: UUID="81bb4976-a820-4e0d-92ab-1a754f9837bd" TYPE="ext4" PARTUUID="ea153271-0c12-4b95-9dee-3dab58a1fd03"
/dev/loop0: TYPE="squashfs"
/dev/loop1: TYPE="squashfs"
/dev/loop2: TYPE="squashfs"
/dev/loop3: TYPE="squashfs"
/dev/loop4: TYPE="squashfs"
/dev/loop5: TYPE="squashfs"
/dev/sda1: PARTUUID="02fcad04-66ea-41e0-8673-4e3fbbf1883a"

您還可以列出表中的所有分區,包括當前掛載點。
$ sudo blkid -o list
樣本輸出:
device fs_type label mount point UUID
------------------------------------------------------------------------
/dev/sda2 ext4 / 81bb4976-a820-4e0d-92ab-1a754f9837bd
/dev/loop0 squashfs /snap/core18/1705
/dev/loop1 squashfs /snap/core18/1754
/dev/loop2 squashfs /snap/lxd/15223
/dev/loop3 squashfs /snap/lxd/15913
/dev/loop4 squashfs /snap/snapd/7264
/dev/loop5 squashfs /snap/snapd/8140
/dev/sda1 (not mounted)
6.使用hwinfo工具獲取磁盤分區的詳細信息
華訊 一個免費的開源命令行實用程序,用於搜索 Linux 系統的硬件信息。 它探測 Linux 系統上存在的硬件,並顯示有關每個硬件設備的大量詳細信息。
許多 Linux 發行版默認不安裝 Hwinfo。 請參閱以下鏈接以在您的 Linux 系統上安裝 Hwinfo。
- 如何使用 Hwinfo 查找 Linux 系統的硬件信息
安裝後,運行以下命令獲取 Linux 系統上的磁盤分區列表 hwinfo
效用:
$ hwinfo --block --short
樣本輸出:
disk:
/dev/sda VBOX HARDDISK
partition:
/dev/sda1 Partition
/dev/sda2 Partition
cdrom:
/dev/sr0 VBOX CD-ROM

這裡 --short
這些選項用於以用戶友好的格式準確顯示磁盤名稱、分區名稱和 CD ROM,但所有其他詳細信息除外。
如果要查看分區的完整詳細信息,只需將其刪除 --short
選項。
7.用inxi列出Linux分區詳情
印西 命令行系統信息工具。該腳本是專門為控制台和 IRC 編寫的。您還可以將其作為論壇技術支持的調試工具,快速確定您的系統配置和硬件。
Inxi 默認不可用。它必須安裝在 Linux 機器上,如以下指南所示。
- 如何使用 inxi 查找 Linux 系統詳細信息
安裝後,列出分區詳細信息 inxi
-P 使用標誌。
$ inxi -P
樣本輸出:
Partition:
ID-1: / size: 19.56 GiB used: 5.72 GiB (29.3%) fs: ext4
dev: /dev/sda2
如果要查看整個分區的詳細信息 -p
(小字):
$ inxi -p
樣本輸出:
Partition: ID-1: / size: 19.56 GiB used: 5.72 GiB (29.3%) fs: ext4 dev: /dev/sda2
ID-2: /snap/core18/1705 raw size: 54.9 MiB size: <superuser/root required> used: <superuser/root required>
fs: squashfs dev: /dev/loop0
ID-3: /snap/core18/1754 raw size: 54.9 MiB size: <superuser/root required> used: <superuser/root required>
fs: squashfs dev: /dev/loop1
ID-4: /snap/lxd/15223 raw size: 69.3 MiB size: <superuser/root required> used: <superuser/root required>
fs: squashfs dev: /dev/loop2
ID-5: /snap/lxd/15913 raw size: 71.2 MiB size: <superuser/root required> used: <superuser/root required>
fs: squashfs dev: /dev/loop3
ID-6: /snap/snapd/7264 raw size: 27.1 MiB size: <superuser/root required> used: <superuser/root required>
fs: squashfs dev: /dev/loop5
ID-7: /snap/snapd/8140 raw size: 29.8 MiB size: <superuser/root required> used: <superuser/root required>
fs: squashfs dev: /dev/loop4

8.探測proc文件系統手動列出所有磁盤分區
進程文件系統 (或者很快 處理) 是由 Linux 內核維護的虛擬文件系統。有時稱為進程信息偽文件系統。 它包含運行時系統信息,例如係統內存、安裝的設備和硬件配置,而不是“真實”文件。所有這些信息都在一個名為的特殊目錄下。 /proc
在 Linux 上。
磁盤和分區詳細信息可以在以下位置找到: /proc/partitions
文檔。因此,您可以通過使用以下命令查看此文件的內容來列出所有磁盤分區: cat
命令:
$ cat /proc/partitions
樣本輸出:
major minor #blocks name
7 0 56264 loop0
7 1 56268 loop1
7 2 71008 loop2
7 3 72952 loop3
7 4 30540 loop4
7 5 27740 loop5
11 0 1048575 sr0
8 0 20971520 sda
8 1 1024 sda1
8 2 20968448 sda2

9.在Linux上使用parted查看磁盤分區
劃分 用於在 Linux 和類 Unix 系統上處理磁盤分區的命令行程序。它支持
各種分區表格式,如 MS-DOS 和 GPT。 Parted 旨在創建和管理大於 2TB 的磁盤上的分區。
在 Linux 上查看磁盤分區 parted
命令與 -l
選項:
$ sudo parted -l
樣本輸出:
Model: ATA VBOX HARDDISK (scsi)
Disk /dev/sda: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 2097kB 1049kB bios_grub
2 2097kB 21.5GB 21.5GB ext4

以上所有工具都是基於命令行的。如果您是終端新手,可以使用以下兩個圖形工具查看 Linux 中的分區詳細信息。
10.在Linux上使用GParted查看磁盤分區詳情
GNOME 分區編輯器 (或者很快 GParted) 是圖形前端 parted
命令行工具。 GParted 允許您通過易於使用的圖形界面創建和管理磁盤分區。
默認情況下不安裝 GParted,但在某些 Linux 發行版的默認存儲庫中可用。因此,您可以使用發行版的默認包管理器安裝 GParted。例如,Gpated 可以安裝在 Debian、Ubuntu 和其他基於 DEB 的系統上,如下所示:
$ sudo apt install gparted
要查看磁盤分區表,只需從菜單或破折號中打開 GParted 實用程序。

重要的提示: 除非您知道自己在做什麼,否則不要更改任何內容。
11.使用GNOME磁盤查找磁盤分區
GNOME 光盤 或者 gnome-disk-utility 是一個圖形實用程序,用於在 Linux 上查看、修改和配置磁盤和媒體。 它預裝在帶有 GNOME 桌面環境的 Linux 發行版上。
打開 GNOME 磁盤工具並找到硬盤上所有可用的分區。

而已。這些是列出 Linux 磁盤分區的幾種方法。您可以使用許多其他工具和命令來查找磁盤中的分區。我想我說得夠多了。如果您認為您在此列表中遺漏了重要工具,請在下面的評論部分留言。
特色圖片由 Aliexpress 上的 Christopher Muschitz 提供。
命令行磁盤分區 LinuxLinux LinuxBasics 管理 Linux 命令 LinuxPartitioning Linux 提示列表 Linux 分區