Linux查看硬盘(fdisk | lsblk)
Posted Xavier Jiezou
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux查看硬盘(fdisk | lsblk)相关的知识,希望对你有一定的参考价值。
摘要
本文将讨论如何在 Linux 中查看硬盘和硬盘分区。
引言
首先,我们需要弄清楚 Linux 中硬盘和硬盘分区的命名规则。
硬盘命名规则
由于 Linux 中所有的设备都是以文件的形式出现,因此硬盘也不例外,也是用一个文件来表示。
硬盘设备文件名格式一般为 /dev/xxy
。前两个字母 xx
标明硬盘类型:
- sd:表示这个硬盘是采用 SCSI SATA 或 USB 接口的硬盘
- hd:表示这是一个采用 IDE 接口的硬盘(目前基本不用了)
y
则表明硬盘是用此类接口的第几个硬盘。y
一般是 a-z
之间的英文字符。例如,/dev/shd
表示这是第四个使用 IDE 接口的硬盘。
分区命名规则
接下来,我们介绍 Linux 中硬盘分区的命令规则。分区同样以一个文件的形式出现,硬盘上分区文件的命令规则一般为 /dev/xxyn
,比硬盘文件多了一个 n
,n
表示分区,主分区或拓展分区用数字 1-4 表示,逻辑分区从5 开始。如 /dev/hda3
表示在第一个 IDE 硬盘上的第三个主分区或拓展分区。
用法
fdisk
Linux 中使用 fdisk -l 硬盘名|分区名
命令可以显示或操作磁盘分区表。例如,查看系统中的第一个硬盘:
root@centos:~# fdisk -l /dev/sda
Disk /dev/sda:1.84 TiB,2000398934016 字节,3907029168 个扇区
Disk model: ST2000NX0253
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 4096 字节
I/O 大小(最小/最佳):4096 字节 / 4096 字节
磁盘标签类型:gpt
磁盘标识符:27E8F38B-1909-4730-B931-D399FF19A594
设备 起点 末尾 扇区 大小 类型
/dev/sda1 2048 4095 2048 1M Bios 启动
/dev/sda2 4096 976895 972800 475M Microsoft 基本数据
/dev/sda3 976896 3726032895 3725056000 1.8T Linux LVM
输出信息分为两部分。第一部分显示硬盘的基本参数,包括容量、磁头数和扇区数等。第二部分显示硬盘的分区情况。如果硬盘没有分区,这部分是空白;如果已经分区,每行将代表一个分区,各个字段的定义如下:
Device
:分区名Boot
:是否允许标准 DOS PC 主引导记录引导该分区(该标记对 Linux 的 GRUB 引导装载程序没有意义)Start
:分区起始柱面End
:分区结束柱面Blocks
:大小为 1k 的块的数量Id
:分区的预期用途(并不是真实用途,82 表示交互分区,83 表示数据分区)
值得一提的是,目前逐渐成为主流的固态硬盘中,虽然没有盘片、磁头、扇区这些物理零件,但固态硬盘的接口规范、定义功能及使用方法上与普通机械硬盘完全相同。因此,逻辑上固态硬盘也有柱面、扇区,磁头等参数。
上一篇文章介绍了使用 fdisk
命令查看指定硬盘设备或分区的信息。本文将介绍一个新的命令 lsblk
,该命令以非常友好的方式列出系统中所有硬盘设备及分区的情况,为我们分区或创建文件系统做好准备。
lsblk
除 fdisk 外,我们更推荐使用 lsblk
命令来查看系统中所有的硬盘情况,lsblk
会显示系统中除了内存虚拟磁盘外的所有可用块设备的信息:
root@centos:~# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 1.8T 0 disk
├─sda1 8:1 0 1M 0 part
├─sda2 8:2 0 475M 0 part
└─sda3 8:3 0 1.8T 0 part
├─centos-root 253:0 0 1.7T 0 lvm
└─centos-swap 253:1 0 32G 0 lvm
sdb 8:16 0 931.5G 0 disk
├─sdb1 8:17 0 512M 0 part /boot/efi
└─sdb2 8:18 0 931G 0 part /
sdc 8:32 0 1.8T 0 disk
└─sdc1 8:33 0 1.8T 0 part /home1
sdd 8:48 0 223.6G 0 disk
└─sdd1 8:49 0 223.6G 0 part
从上述输出信息中,可以直观地了解到目前系统的硬盘分区及挂载情况。你也许可以发现,lsblk
显示的块设备的名字十分特别。事实上,Linux 中的块设备的命名是有一定规则的。
- 对于 SATA、SCSI 或 USB 接口的硬盘或 U 盘,其命名规则如下:
主设备文件名 | 次设置文件名(分区) |
---|---|
sd[小写字母] 如 sda、sdb 等 | sd[小写字母][正整数] 如 sda1、sdc1 等 |
- 对于 NVMe(M.2)接口的硬盘,其命名规则如下:
主设备文件名 | 次设置文件名(分区) |
---|---|
nvme[非负整数] 如 nvme0、nvme1 等 | sd[非负整数]n[正整数]p[正整数] 如 nvme0n1p1、nvme1n1p3 等 |
- 对于 CD 或 DVD (ROM)光驱设备,其命名规则如下:
主设备文件名 | 次设置文件名(分区) |
---|---|
sr[非负整数] 如 sr0、sr1 等 | 光驱不能分区 |
特别要注意的是,Linux 中的存储设备的名字并非固定,在热插拔、重启等操作后,存储设备名字中的序号可能会发生改变。如 sda
变成 sdc
,这种改变可能会让系统管理员犯一些低级错误,如误删数据,误分区等,因此通过设备文件操作硬盘之前,一定要确认好设备名称。在自动化管理和配置文件中,如开机自动挂载配置文件 /etc/fstab
,强烈不建议使用设备文件名来指定存储设备,而是应该使用设备的 UUID。
参考
以上是关于Linux查看硬盘(fdisk | lsblk)的主要内容,如果未能解决你的问题,请参考以下文章