« 上一篇下一篇 »

Linux服务器中如何查看分区表类型?在Linux中查看分区表的4种方法

  Linux管理员的日常工作,就是我们需要一次又一次地查看硬盘的分区表。这有助于我们通过为进一步分区腾出空间来重新组织旧驱动器,并在必要时为新驱动器创建空间。您可以在硬盘上创建不超过四个主分区,但可以在多个逻辑分区或扩展分区上创建,具体取决于系统上安装的硬盘大小。

分区表包含有关所有逻辑磁盘或分区的信息,位于硬盘的0扇区中。您的设备在分区表中列为/dev/sda,/dev/sdb等。 sd *设备是指系统上的SCSI或SATA磁盘。例如,/dev/sda将是第一个SATA/SCSI硬盘,/dev/sdb将是第二个SATA/SCSI硬盘。

本文列出并说明了使用各种Linux命令查看设备的分区表。我们将使用CLI来运行这些命令。您可以通过系统Dash或Ctrl + Alt + T快捷方式打开Ubuntu命令行终端。

我们在Ubuntu 18.04 LTS系统上运行了本文中提到的命令和过程。

通过lsblk命令查看分区表
lsblk命令列出系统的所有块设备及其逻辑分区。在终端中输入以下命令以列出分区表:

lsblk

在Linux中查看分区表的4种方法

NAME - 设备名称
MAJ:MIN -Major和Min Device number
RM-设备是否可拆卸(1)或不可拆卸(0)
SIZE - 设备大小
RO -设备是只读的(1)还是不是(0)
TYPE - 设备类型,即,如果它是磁盘或分区等。
MOUNTPOINT - 设备的安装点(如果适用)。
在上面的输出中,您可以看到我的sda设备从sda1到sda5的所有逻辑分区。以下是七列所示:

 

使用fdisk命令获取分区列表
代表格式化磁盘或固定磁盘的fdisk命令主要用于创建或删除硬盘分区。 它也用于格式化磁盘,但是,在这里我们将使用它来列出分区表,方法是使用特定的标志。

-l标志与fdisk一起使用以列出指定设备的分区表,然后退出。 如果未提及任何设备名称,fdisk将使用/proc/partitions文件中提到的设备。

-l选项显示指定设备的分区表,然后退出。 如果没有给出设备,则使用/proc/partitions中提到的那些设备(如果存在)。 输入以下命令:

linuxidc@linuxidc:~/www.linuxidc.com$ sudo fdisk -l

向下滚动时,输出显示分区表,如下所示:

在Linux中查看分区表的4种方法

Disk /dev/loop0:34.7 MiB,36323328 字节,70944 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

......省略......

linuxidc@linuxidc:~/www.linuxidc.com$ fdisk -l /dev/sda

设备      启动  起点    末尾    扇区 大小 Id 类型
/dev/sda1  *    2048 41940991 41938944  20G 8e Linux LVM

在Linux中查看分区表的4种方法

这是各栏目所示的内容

设备 - 设备/逻辑分区的名称
启动 -This列中的*符号表示相应的分区包含用于引导系统的引导加载程序信息
起点 - 分配给此分区的起始扇区。
末尾 - 分配给此分区的结束扇区。
扇区 - 为此分区分配的扇区数。
大小 - 分区的大小。
ID-系统用于此分区的ID
类型  - 此分区使用的文件类型或系统。
使用sfdisk命令查看分区
虽然sfdisk命令主要用于操作Linux上的分区表,但它也可以用于通过使用以下语法列出设备的分区表:

sudo sfdisk -l/dev/devicename

例如:

sudo sfdisk -l /dev/sda

Linux服务器中如何查看分区表类型?在Linux中查看分区表的4种方法

如您所见,此命令提供与fdisk命令相同的分区表信息。 您只能以授权的sudo用户身份查看fdisk和sfdisk命令的结果。

使用parted命令获取硬盘分区
列出设备分区表的另一种方法是通过parted命令。 parted命令在前面提到的fdisk和sfdisk命令上有优势,因为前者没有列出大小超过2 TB的分区。

使用以下语法查看设备的分区表:

sudo parted /dev/devicename

例子:

linuxidc@linuxidc:~/www.linuxidc.com$ sudo parted /dev/sda
GNU Parted 3.2
使用 /dev/sda
欢迎使用 GNU Parted! 输入 'help'可获得命令列表.
(parted)    

该命令将进入“(parted)”提示模式。 您可以在此处输入以下值,以帮助您查看设备的分区表。

Unit GB:通过此输入,您可以选择以GB显示的输出。
Unit TB:通过此输入,您可以选择要在TB中显示的输出。
输入您的选择,之后系统将显示相应的分区表。

输入help命令,会列出所有可用的命令。常用的是cp,rm,resize,resure,set,mkparfs,print。

1)print用于显示当前的分区情况

2)set可以设置分区的标志:set 1 boot on

3)mkpartfs创建分区:mkpartfs primary linux-swap 1KB 2MB

4)rm删除分区,可用resure恢复

5)cp将拷贝分区内容到新的分区

6)resize可以改变分区的大小

Linux服务器中如何查看分区表类型?在Linux中查看分区表的4种方法

实际的应用场景:无损压缩大分区

用resize可以修改分区的大小,但是要做到无损,只能减小该分区的结束位置,因为分区表的信息在起始的位置。但是如何知道,该分区已经占用了多少空间。可以用df命令来查看:有一项是available,注意不能用总容量-used部分计算,原因就不说了吧。这样resize可以保证无损压缩。

注意使用前,要先unmount该分区。交换分区要swapoff,才能修改。修改完后用swapon打开,swapon -s可以显示交换分区使用情况。

要退出parted命令模式,只需键入quit,然后单击Enter。

或者,您可以使用以下命令列出系统所有块设备上的所有分区布局:

linuxidc@linuxidc:~/www.linuxidc.com$ sudo parted -l

Linux服务器中如何查看分区表类型?在Linux中查看分区表的4种方法

由于sda是我唯一的块设备,因此该命令仅显示该分区。

注意:主要用于列出SCSI设备及其属性的lsscsi命令还列出了某些系统上的分区表。 您可以通过以下命令安装它:$ sudo apt-get install lsscsi

通过我们在本文中介绍的各种Linux命令,您现在可以查看硬盘设备的分区表。 一些命令有许多其他基本功能,但由于它们也列出了分区表,我们已将它们包含在我们的文章中。 您现在可以更好地管理存储设备的空间和分区。

 

partx 也简要的说一说,有些系统自带了这个工具,功能也简单,和fdisk 、parted、cfdisk 来说不值一提;不用也罢;
用法: partx 设备名 

代码:
[root@localhost beinan]# partx /dev/hda
# 1:        63- 12289724 ( 12289662 sectors,   6292 MB)
# 2:  12289725- 45062324 ( 32772600 sectors,  16779 MB)
# 3:  45062325-124519814 ( 79457490 sectors,  40682 MB)
# 4:         0-       -1 (        0 sectors,      0 MB)
# 5:  45062388- 61448624 ( 16386237 sectors,   8389 MB)
# 6:  61448688- 81931499 ( 20482812 sectors,  10487 MB)
# 7:  81931563- 83505869 (  1574307 sectors,    806 MB)
# 8:  83505933-106944704 ( 23438772 sectors,  12000 MB)
# 9: 106944768-124519814 ( 17575047 sectors,   8998 MB)