一、物理设备的命名规则
在Linux 系统中一切都是文件,硬件设备也不例外。既然是文件,就必须有文件名称。系统内核中的udev 设备管理器
会自动把硬件名称规范起来,目的是让用户通过设备文件的名字可以猜出设备大致的属性以及分区信息等;这对于陌生的设备来说特别方便。另外,udev设备管理器
的服务会一直以守护进程的形式运行并侦听内核发出的信号来管理/dev 目录下
的设备文件。Linux 系统中常见的硬件设备的文件名称如下表所示:
由于现在的IDE 设备已经很少见了,所以一般的硬盘设备都会是以/dev/sd
开头的。而一台主机上可以有多块硬盘,因此系统采用a~p 来代表16 块不同的硬盘(默认从a 开始分配),而且硬盘的分区编号也很有讲究:
主分区或扩展分区的编号从1 开始,到4 结束;
逻辑分区从编号5 开始。
设备名称
和分区名称
设备名称:
/dev 目录
中sda
设备之所以是a
,并不是由插槽决定的,而是由系统内核的识别顺序
来决定的,而恰巧很多主板的插槽顺序就是系统内核的识别顺序,因此才会被命名为/dev/sda
。大家以后在使用iSCSI 网络存储设备
时就会发现,明明主板上第二个插槽是空着的,但系统却能识别到/dev/sdb
这个设备就是这个道理。
分区名称:
首先,分区的编号并不代表着分区的个数,比如sda3 表示这是设备上的第三个分区,这个是错误的
。因为分区的数字编码不一定是强制顺延下来的,也有可能是手工指定
的。因此sda3
只能表示是编号为3 的分区,而不能判断sda 设备上已经存在了3 个分区。
在填了这两个坑
之后,再来分析一下/dev/sda5
这个设备文件名称包含哪些信息,如下图所示:
首先,/dev/
目录中保存的应当是硬件设备文件;其次,sd
表示是存储设备;然后,a
表示系统中同类接口中第一个被识别到的设备,最后,5
表示这个设备是一个逻辑分区。一言以蔽之,/dev/sda5
表示的就是这是系统中第一块被识别到的硬件设备中分区编号为5的逻辑分区的设备文件
。接下来简单科普一下硬盘相关的知识。
正是因为计算机有了硬盘设备,我们才可以在玩游戏的过程中或游戏通关之后随时存档,而不用每次重头开始。硬盘设备是由大量的扇区组成的,每个扇区的容量为512 字节
。其中第一个扇区最重要,它里面保存着主引导记录
与分区表信息
。就第一个扇区来讲,主引导记录需要占用446 字节
,分区表为64 字节
,结束符占用2 字节
;其中分区表中每记录一个分区信息就需要16 字节
,这样一来最多只有4 个分区
信息可以写到第一个扇区中,这4 个分区就是4 个主分区。第一个扇区中的数据信息如下图所示:
二、常用磁盘操作命令
1、分区
A:fdisk不支持大于2TB磁盘 查看、添加、删除、转换分区
B:parted支持大于2TB磁盘
新增分区格式化时提示设备文件不存在:--- No such file or directory的处理方法
来自 <https://blog.csdn.net/huangjin0507/article/details/44619115?utm_source=blogxgwz0>
创建设备文件mknod
来自 <https://www.cnblogs.com/lph970417/p/11547861.html>
方法一:通过命令mknod /dev/sda4 b 8 4(其中b是block型设备文件,8是主设备号,4是辅助设备号)
[root@localhost ~]# ls -l /dev/sda*
brw-rw----. 1 root disk 8, 0 Oct 12 23:55 /dev/sda
brw-rw----. 1 root disk 8, 1 Oct 12 23:25 /dev/sda1
brw-rw----. 1 root disk 8, 2 Oct 12 23:25 /dev/sda2
brw-rw----. 1 root disk 8, 3 Oct 12 23:25 /dev/sda3
brw-r--r--. 1 root root 8, 4 Oct 13 00:13 /dev/sda4
设备文件出来了。(但是手动好像权限有问题,个人推荐下面的自动方法)
方法二:利用start_udev中创建设备文件
[root@localhost ~]# ls -l /dev/sda*