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 条评论
登录 后参与评论

相关文章

来自专栏bboysoul

部署包安装zabbix

昨天给树莓派安装上了一个温度传感器,今天想使用zabbix去统计监控树莓派上温度传感器的数据,所以我就开始在我的一台不怎么用的阿里云服务器上安装zabbix了 ...

1122
来自专栏bboysoul

linux编译安装mysql5.7

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

1053
来自专栏乐沙弥的世界

RMAN 备份详解

RMAN使用服务器会话来完成备份操作,从RMAN客户端连接到服务器将产生一个服务器会话

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

Log4Net日志记录两种方式

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

1082
来自专栏数据和云

MongoDB 初体验:存储引擎 MMAPv1 与高内存消耗及升级迁移

当我对公司的一个内部系统性能无可忍受时,意外发现在这个内存仅为 32G 的服务器上,运行着一个 MongoDB 数据库,其主进程 mongod 占用了 30.7...

1847
来自专栏FreeBuf

一款轻量级Web漏洞教学演示系统(DSVW)

Damn Small Vulnerable Web (DSVW) 是使用 Python 语言开发的 Web应用漏洞 的演练系统。其系统只有一个 python 的...

25110
来自专栏互扯程序

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

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

851
来自专栏西安-晁州

小程序开发知识点总结

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

1661
来自专栏锦小年的博客

Linux使用笔记2-screen的妙用(保留端口会话)

现在一般都是用Windows通过ssh连接到linux,有时候工作到兴起,断网了、或者重启了,这时候一切都完了,重新连接也不能回到以前的会话。那么有没有一种可能...

1798
来自专栏Java架构沉思录

Linux常用Shell脚本知多少

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

671

扫码关注云+社区