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

相关文章

来自专栏我和未来有约会

Silverlight第三方控件专题

这里我收集整理了目前网上silverlight第三方控件的专题,若果有所遗漏请告知我一下。 名称 简介 截图 telerik 商 RadC...

3985
来自专栏一个爱瞎折腾的程序猿

sqlserver使用存储过程跟踪SQL

USE [master] GO /****** Object: StoredProcedure [dbo].[sp_perfworkload_trace_s...

2000
来自专栏魂祭心

原 canvas绘制clock

4034
来自专栏转载gongluck的CSDN博客

cocos2dx 打灰机

#include "GamePlane.h" #include "PlaneSprite.h" #include "BulletNode.h" #include...

5346
来自专栏张善友的专栏

Silverlight + Model-View-ViewModel (MVVM)

     早在2005年,John Gossman写了一篇关于Model-View-ViewModel模式的博文,这种模式被他所在的微软的项目组用来创建Expr...

2938
来自专栏陈仁松博客

ASP.NET Core 'Microsoft.Win32.Registry' 错误修复

今天在发布Asp.net Core应用到Azure的时候出现错误InvalidOperationException: Cannot find compilati...

4818
来自专栏闻道于事

js登录滑动验证,不滑动无法登陆

js的判断这里是根据滑块的位置进行判断,应该是用一个flag判断 <%@ page language="java" contentType="text/html...

6698
来自专栏Ceph对象存储方案

Luminous版本PG 分布调优

Luminous版本开始新增的balancer模块在PG分布优化方面效果非常明显,操作也非常简便,强烈推荐各位在集群上线之前进行这一操作,能够极大的提升整个集群...

3095
来自专栏我和未来有约会

Kit 3D 更新

Kit3D is a 3D graphics engine written for Microsoft Silverlight. Kit3D was inita...

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

c#实现打印功能

2632

扫码关注云+社区