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。
腾讯云智研发成长空间 5088人发布