這個簡短的指南向您展示了在 Linux 和類 Unix 操作系統中查找和列出磁盤分區的所有方法。在進入主題之前,讓我們快速了解一下磁盤分區是什麼以及它們在 Linux 中是如何命名的。
內容
Linux中的磁盤分區
磁盤分區或磁盤切片是一種將物理存儲磁盤設備劃分為邏輯部分的方法。這些部分稱為分區。硬盤驅動器可以包含一個或多個分區。
在 Linux 和類 Unix 系統中,磁盤通常分為三個分區:
- 一個分區用於保存系統文件。它安裝正常
"/"
(root
目錄)。 - 一個分區用於保存用戶配置文件及其個人數據。安裝在
/home
目錄。 - 和一個 貨幣兌換 劃分。
在安裝操作系統或在其上存儲數據之前,所有分區都應使用 EXT4 等文件系統進行格式化。
分區表信息存儲在基於 BIOS 的系統上的主引導記錄 (MBR) 和基於 UEFI 的系統上的 GUID 分區表 (GPT) 中。
系統啟動時,BIOS 或 UEFI 掃描所有存儲設備,檢測 MBR/GPT 區域,查找啟動盤,從默認啟動盤加載 in-memory boot loader(即 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
是第一個 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
此命令列出具有以下名稱的 20 GB 磁盤: sda
,即有兩個分區 sda1
什麼時候 sda2
往下看 類型 上面輸出中的列指示設備的類型。 磁盤 還 部門 (即分區)。
你有沒有註意到還有一個分區名 sr0
• 這表示作為光學媒體安裝的 ISO 映像。
您的系統中可能有多個設備。在這種情況下,只需指定磁盤設備名稱,如下所示:
$ lsblk /dev/sda
上面的命令將顯示第一個磁盤驅動器的分區詳細信息。
您還可以查看文件系統類型、UUID 和掛載點等詳細信息,如下所示:
$ lsblk -io KNAME,TYPE,SIZE,MODEL,FSTYPE,UUID,MOUNTPOINT
或者你可以使用 -fm
顯示掛載點、大小、所有者和模式的選項:
$ lsblk -fm
2. 使用 fdisk 命令查看 Linux 中的磁盤分區。
磁盤 是一個命令行、對話框驅動的程序,用於在 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、使用sfdisk查看Linux中的硬盤分區。
磁盤 這是一個面向腳本的工具,用於對任意塊設備進行分區。 sfdisk 的用法與 fdisk 相同。
使用以下命令檢查您的 Linux 硬盤分區: sfdisk
命令,運行:
$ sudo sfdisk -l
您還可以檢查特定設備的分區。
$ sudo sfdisk -l /dev/sda
4.用cfdisk檢查Linux磁盤分區
磁盤 一個基於 curses 的命令行程序,用於在 Linux 和類 Unix 系統上對任意塊設備進行分區。
使用以下命令檢查 Linux 中所有可用的磁盤分區: cfdisk
, 跑:
$ sudo cfdisk
示例輸出:

按退出 q 或選擇 結束 使用箭頭鍵選擇一個選項,然後按 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 Disk 中查找磁盤分區
GNOME 磁盤 或 gnome-disk-utility 是一個圖形實用程序,用於在 Linux 中查看、修改和配置磁盤和媒體。它預裝在帶有 GNOME 桌面環境的 Linux 發行版上。
打開 GNOME 磁盤工具並找到硬盤上所有可用的分區。

而已。這些是列出 Linux 磁盤分區的一些方法。您可以使用許多其他工具和命令來查找磁盤中的分區。我想我已經說得夠多了。如果您認為我們在此列表中遺漏了一個重要工具,請隨時在下面的評論部分中寫下。
特色圖片由來自Pixabay的Christopher Muschitz提供。
命令行磁盤分區LinuxLinuxLinux Linux 基本 Linux 管理Linux 命令分區 LinuxLinux 提示列出 Linux 分區