04Linux的磁盘分区

硬件设备在Linux中的命名

Linux中每一个设备都被当成文件,所有的设备文件都在/dev这个目录下。

设备

文件名

IDE硬盘

/dev/hd[a-d]

SATA/USB/SCSI硬盘

/dev/sd[a-p]

U盘

/dev/sd[a-p]

软驱

/dev/fd[0-1]

打印机

25针:/dev/lp[0-2] usb:/dev/usb/lp[0-15]

鼠标

usb:/dev/usb/mouse[0-15] ps2:/dev/psaux

当前CD/DVD ROM

/dev/cdrom

当前鼠标

/dev/mouse

磁带机

IDE:/dev/ht0 SCSI:/dev/st0

磁盘的文件命名规则

磁盘的接口有两种,分别是IDE接口、SATA接口。目前主流的接口是SATA接口。 使用IDE接口的设备我们称为IDE设备。

  • IDE设备 一个IDE接口可以连接两个IDE设备,主机中一般用两个IDE接口,因此最多可以连接四个IDE设备。 这两个IDE接口通常被称为IDE1、IDE2,而每个IDE接口连接的两个IDE设备又被分为主设备和从设备。

设备

主设备

从设备

IDE1

/dev/hda

/dev/hdb

IDE2

/dev/hdc

/dev/hdd

-SATA设备 以SATA/USB/SCSI为接口的磁盘使用的都是SCSI模块来驱动的,因此他们的设备文件名都是/dev/sd[a-p]。但是与IDE设备不同的是,他们的文件名没有一定的顺序,谁先插上去,谁就是a,以此类推。

磁盘的组成

整个磁盘的第一个扇区非常重要,因为他记录了重要的信息:

  • 主引导分区Master Boot Record,MBR,446bytes 可以安装“引导加载程序“的地方
  • 分区表,64bytes 记录整块硬盘的分区状况

磁盘分区表

对磁盘进行分区时,采用柱面作为基本单位。 分区表有64bytes,被分成四个区域,每个区域记录当前磁盘的所有分区的起始和结束柱面号。 例如:一块IDE硬盘被分成四个区域: P1:/dev/hda1 P2:/dev/hda2 P3:/dev/hda3 P4:/dev/hda4

每个磁盘的分区表只能被分成四个区域,这四个区域被称为主分区或扩展分区。 分区的最小单位是柱面。 当系统进行数据的读写时,一定要参考分区表才能进行。

分区的原因

  • 保证数据的安全性 每个分区的数据是相互独立的,当对某一个分区的数据进行重整时就不会影响到其他分区的数据了。
  • 提升系统的性能 同一个分区的数据集中在某个柱面的某一段。由于数据集中了,所以读取数据的效率也就提高了。

扩展分区

主分区和扩展分区都是分区表中的一条记录,主分区中存放通过直接索引就能到达的分区的开始和结束的柱面号;而扩展分区中存放的是逻辑分区表的开始和结束柱面号,这张逻辑分区表中才存放分区的开始和结束柱面号。 由于一张分区表只能存放四条记录,也就是四个分区,当我们想要多一些分区的时候就必须要通过扩展分区来实现。 PS:分区表中的四条记录对应的设备文件名分别是:/dev/hda1、/dev/hda2、/dev/hda3、/dev/hda4, 这四个文件名是永远不会改变的,即使有哪个记录是空的。 逻辑分区一定是从5开始,分别是:/dev/hda5、/dev/hda6…… PS:扩展分区最多只能有1个! PS:Linux中,IDE硬盘最多有59个逻辑分区,5号-63号;SATA硬盘最多有11个逻辑分区,5号-15号。 PS:在Windows中若D、E盘都是扩展分区中的逻辑分区,那么他们可以整合成一个分区;若两个盘一个是逻辑分区,一个是主分区,那他们是不能合并的。 PS:一块硬盘的第一个扇区记录了MBR和分区表,非常的重要,如果第一个扇区坏了,那么整个硬盘就报废了。

例题:假如我的PC有两块SATA硬盘,我想在第二块硬盘分出6个分区,那么可以怎么分? 答:方式1:P+P+P+E方式,设备文件名分别是: /dev/sdb1、/dev/sdb2、/dev/sdb3、/dev/sdb5、/dev/sdb6、/dev/sdb7 方式2:P+E方式,设备文件名分别是:/dev/sdb1、/dev/sdb5、/dev/sdb6、/dev/sdb7、/dev/sdb8、/dev/sdb9

综上所述:一个硬盘的第一个扇区存放两个东西,一个是MBR,一个是分区表。 分区表中只能存放四条记录,这四条记录存放的是每个分区的起始柱面号和终止柱面号。这四条记录的类型只能是两种:主分区Primary和扩展分区Extended,并且扩展分区最多有1个。 主分区中直接存放分区的起始和结束柱面号,而扩展分区中存放逻辑分区的起始和结束柱面号,逻辑分区中才是存放实际可用分区的起始和终止柱面号。

开机过程

PS:CMOS是一块嵌入在主板上的存储器。 BIOS中的程序读取CMOS中用户的设置,获取用户设置的可以开机的硬盘,读取该硬盘中的第一个扇区的MBR的位置,运行MBR中的引导加载程序Boot loader,这个程序去加载操作系统内核文件,然后操作系统就启动了,接下来就是操作系统的事了。 PS:MBR=Master Boot Record:主引导分区,它是磁盘的空间。Boot loader是引导加载程序,他是位于MBR中的一个程序。

挂载

目录树 在Linux中,整个文件系统呈一棵以/为根目录的树。

挂载 把一个目录当作磁盘中某一个分区的进入点,也就是说,进入了这个目录,就进入了这个磁盘的这个分区。 这个进入的目录我们就称为挂载点。 根目录一定要挂载到某个分区。

如何寻找挂载点? 假设分区1挂载到/下,分区而挂载到/home下,那么/home/chai.txt这个文件的挂载点是哪个? 答:只要逆向寻找第一个挂载点就是这个文件的挂载点。 本题中是/home而不是/

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏格子的个人博客

mysql5.7.21安装和主从同步

很久之前就做过mysql的部分应用架构,包括主从复制和集群等,一直没有形成博客记录下来,虽然网上也有很多的相关资料,但是出于加深记忆,还是把自己的操作步骤和截图...

14110
来自专栏大数据和云计算技术

HBase框架基础(一)

HBase的基础框架,将分成几个章节对HBase进行描述,不当之处还望大家批评指正。下面是了解HBase基础架构的第一部分。

19840
来自专栏散尽浮华

ELK实时日志分析平台环境部署--完整记录

在日常运维工作中,对于系统和业务日志的处理尤为重要。今天,在这里分享一下自己部署的ELK(+Redis)-开源实时日志分析平台的记录过程(仅依据本人的实际操作为...

63370
来自专栏bboysoul

linux编译安装mysql5.7

wget mirrors.sohu.com/mysql/MySQL-5.7/mysql-boost-5.7.17.tar.gz 因为官方下载地址速度太慢了,所...

19430
来自专栏西安-晁州

小程序开发知识点总结

我承认,最近比较懒了,博客也很久没更新了,太对不住自己了,做了一段时间小程序开发,总结了一些知识点,直接上菜。

26210
来自专栏互扯程序

Linux常用Shell脚本,值得学习及收藏

在运维中,尤其是linux运维,都知道脚本的重要性,脚本会让我们的 运维事半功倍,所以学会写脚本是我们每个linux运维必须学会的一门功课,这里收藏linux运...

25510
来自专栏乐沙弥的世界

Linux 6 下yum方式安装配置LAMP平台

1、apache httpd与php之间的衔接是通过模块化的方式来实现。 2、对于perfork模式使用libphp5模块,worker和event模式则使...

17020
来自专栏北京马哥教育

NFS实现(双httpd + php-fpm + nfs + mysql 搭建discuz论坛)

NFS相关介绍 一、NFS简介 1. NFS(Network File System): NFS是一个文件共享协议, 也是是在类Unix系统中在内核中实现的文件...

37570
来自专栏跟着阿笨一起玩NET

Log4Net日志记录两种方式

     log4net库是Apache log4j框架在Microsoft .NET平台的实现,是一个帮助程序员将日志信息输出到各种目标(控制台、文件、数据库...

41720
来自专栏沃趣科技

ASM 翻译系列第二十弹:ASM Internal ASM file number 7

原作者:Bane Radulovic 译者: 郭旭瑞 审核: 魏兴华 DBGeeK社群联合出品 ASM file number 7 ASM元信息7号...

38870

扫码关注云+社区

领取腾讯云代金券