如何在Linux中列出磁盘分区

在这个简短的指南中,我们将看到在Linux和类似Unix的操作系统中查找和列出磁盘分区的所有可能方法。 在进入本主题之前,让我们快速看一下什么是磁盘分区以及如何在Linux中命名磁盘分区。

Linux中的磁盘分区

磁盘分区或磁盘切片是一种将物理存储磁盘设备划分为多个逻辑部分的方法。 这些部分称为分区。 硬盘驱动器可以包含一个或多个分区。

在Linux和类Unix系统中,磁盘通常分为三个分区:

  • 一个分区用于保留系统文件。 通常安装在 "/"root 目录)。
  • 一个分区用于保留用户配置文件及其个人数据。 它安装在 /home 目录。
  • 还有一个 交换 划分。

在安装操作系统和/或在其中保存任何数据之前,应使用文件系统(例如EXT4)格式化所有分区。

分区表信息存储在基于BIOS的系统中的主启动记录(MBR)和基于UEFI的系统中的GUID分区表(GPT)中。

在系统引导时,BIOS或UEFI扫描所有存储设备,检测MBR / GPT区域,查找引导磁盘,从默认引导磁盘将引导加载程序(即grub2)加载到内存中,执行引导代码以读取分区表并确定 /boot 分区,将内核加载到内存中,最后将控制权传递给内核。 内核负责其余的引导过程并加载操作系统。

Linux中的磁盘和分区名称

您需要知道在创建,安装和删除分区时Linux使用的正确名称。

Linux中的磁盘和分区的名称与其他操作系统不同。 Linux OS中的基本命名方案如下:

  • 第一个软盘驱动器的名称是 /dev/fd0
  • 第二个软盘驱动器的名称是 /dev/fd1, 等等。
  • 检测到的第一个硬盘(主要主磁盘)名为 /dev/sda
  • 检测到的第二个硬盘名为 /dev/sdb, 等等。
  • 第一个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  

使用以下命令列出Linux中的磁盘分区 lsblk 命令

如您在上面的输出中看到的, lsblk 命令列出了一个名为20GB的磁盘 sda,即两个分区 sda1sda2。 如果你看下 类型 上面的输出中的列,它显示了设备的类型,即 磁碟 要么 部分 (即分区)。

您是否注意到还有一个分区名称 sr0? 它代表安装为光学介质的ISO图像。

您的系统中可能有多个设备。 在这种情况下,只需指定磁盘设备名称,如下所示:

$ lsblk /dev/sda

上面的命令将在第一个磁盘驱动器中显示分区详细信息。

您甚至可以显示更多详细信息,包括文件系统类型,UUID,Mountpoint等,如下所示:

$ 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检查硬盘分区

磁盘 是用于分区任何块设备的面向脚本的工具。 sfdisk的使用与fdisk的使用相同。

使用以下命令检查Linux中的硬盘分区 sfdisk 命令,运行:

$ sudo sfdisk -l

您还可以检查特定设备中的分区。

$ sudo sfdisk -l /dev/sda

4.使用cfdisk检查Linux磁盘分区

磁盘 是基于curses的命令行程序,用于在Linux和类Unix系统中对任何块设备进行分区。

使用以下命令检查Linux中所有可用的磁盘分区 cfdisk, 跑:

$ sudo cfdisk

样本输出:

使用cfdisk检查Linux磁盘分区使用cfdisk检查Linux磁盘分区

要退出,请按 q 或选择 放弃 使用箭头键选择选项,然后按Enter。

默认情况下,Cfdisk列出以下磁盘的分区详细信息 /dev/sda 磁盘。

5.使用blkid在Linux中查找磁盘分区

笨蛋 是另一个列出所有可识别分区及其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"

使用blkid在Linux中查找磁盘分区使用blkid在Linux中查找磁盘分区

您还可以列出表中的所有分区,包括当前的安装点:

$ 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

使用hwinfo获取磁盘分区详细信息使用hwinfo获取磁盘分区详细信息

在这里 --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 

使用Inxi列出Linux分区的详细信息使用Inxi列出Linux分区的详细信息

8.通过探测proc文件系统手动列出所有磁盘分区

proc文件系统 (或不久 工艺)是由Linux内核维护的虚拟文件系统。 有时也称为过程信息伪文件系统。 它不包含“真实”文件,但是包含运行时系统信息,例如系统内存,已安装的设备,硬件配置等。所有这些信息都在名为的特殊目录下提供 /proc 在linu。

磁盘和分区的详细信息位于 /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

通过在Linux中探测proc文件系统来列出磁盘分区通过在Linux中探测proc文件系统来列出磁盘分区

9.在Linux中查看磁盘分区

分手 是用于在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中查看磁盘分区在Linux中查看磁盘分区

所有上述工具都是基于命令行的。 如果您是不熟悉Terminal的新手,则可以使用以下两个图形工具来检查Linux中的分区详细信息。

10.在Linux中使用GParted查看磁盘分区详细信息

GNOME分区编辑器 (或不久 GParted)是图形前端 parted 命令行工具。 使用GParted,您可以通过简单易用的图形界面创建和管理磁盘分区。

GParted默认情况下未安装,但在多个Linux发行版的默认存储库中可用。 因此,您可以使用发行版的默认程序包管理器来安装GParted。 例如,Gpated可以安装在Debian,Ubuntu和其他基于DEB的系统上,如下所示:

$ sudo apt install gparted

要查看磁盘分区表,只需从菜单或Dash打开GParted实用程序。

使用GParted查看磁盘分区详细信息使用GParted查看磁盘分区详细信息

重要的提示: 除非您知道自己在做什么,否则不要进行任何更改。

11.使用GNOME磁盘查找磁盘分区

GNOME磁盘 或gnome-disk-utility是用于在Linux中查看,修改和配置磁盘和介质的图形实用程序。 它已预装在具有GNOME桌面环境的Linux发行版中。

打开GNOME Disks实用程序以找到硬盘中的所有可用分区。

使用GNOME磁盘查找磁盘分区使用GNOME磁盘查找磁盘分区

就这样。 这些是列出Linux磁盘分区的几种方法。 还有许多其他工具和命令可用于在磁盘中查找分区。 我想我已经讲够了。 如果您认为我错过了此列表中的任何重要工具,请随时在下面的评论部分中添加注释。

来自Christopher Muschitz的特色图片 Pixabay

命令行磁盘分区LinuxLinux管理Linux基础Linux命令Linux分区Linux提示列出Linux分区

Sidebar