linux磁盘分区

Linux磁盘分区包括基本分区和扩展分区,最多共4个。基本分区直接使用,扩展分区需进一步分区成逻辑分区。MBR包含引导加载程序和分区表,每个磁盘最多4个主分区或3个主分区加1个扩展分区。扩展分区用于超过4个分区的情况。Linux分区包括boot、swap和根分区,其中swap是虚拟内存,boot存放Grub和内核,根分区包含除boot外的所有目录。
摘要由CSDN通过智能技术生成

linux磁盘分区(Linux disk partition),主要分为基本分区(primary partion)扩充分区(extension partion)两种基本分区和扩充分区的数目之和不能大于四个。且基本分区可以马上被使用但不能再分区。扩充分区必须再进行分区后才能使用,也就是说它必须还要进行二次分区

在 Linux 中,每一个硬件设备都映射到一个系统的文件,对于硬盘、光驱等 IDE 或 SCSI 设备也不例外。Linux把各种 IDE 设备分配了一个由 hd 前缀组成的文件;而对于各种 SCSI 设备,则分配了一个由 sd 前缀组成的文件。

分区简介

磁盘的组成

磁盘由盘片,机械手臂,磁头,主轴马达组成,而数据的写入主要是在盘片上面,盘片上又细分为扇区与柱面两种单位,扇区每个为512bytes那么大,其中,磁盘的第一个扇区特别重要,因为磁盘的第一个扇区记录了两个重要的信息:

1、主引导分区(MBR):可以安装引导加载程序的地方,有446bytes

图1

2、分区表:记录整块硬盘分区的状态,有66bytes。

磁道:图1中硬盘被一圈圈分成18等分的同心圆,这些同心圆就是磁道,但打开硬盘,用户不能看到这些,它实际上是被磁头磁化的同心圆这些磁道是有间隔的,因为磁化单元太近会产生干扰。

扇区:每个磁道中被分成若干等份的区域。扇区是硬盘数据存储的最小单位。

柱面:假如一个硬盘只有图1中的3个磁盘片,每一片中的磁道数是相等的。从外圈开始,这些磁道被分成了0磁道、1磁道、2磁道...具有相同磁道编号的同心圆组成面就称作柱面。为了便于理解,柱面可以看作没有底的铁桶。从图1可以看出,柱面数就是磁盘上的磁道数。柱面是硬盘分区的最小单位。因此,一个硬盘的容量=柱面*磁头*扇区*512。

簇:扇区是硬盘数据存储的最小单位,但操作系统无法对数目众多的扇区进行寻址,所以操作系统就将相邻的扇区组合在一起,形成一个簇,然后再对簇进行管理。每个簇可以包括2、4、8、16、32、64个扇区。

磁盘分区表

在分区表所在的64bytes容量中,总共分为四组记录区,每组记录区记录了该区段的起始与结束的柱面号码。

假设上面的硬盘设备文件名为/dev/hda时, 那么这四个分区在Linux系统中的设备文件名如下所示,重点在于文件名后面会再接一个数字,这个数字与该分区所在位置有关:

1)、P1:/dev/hda1

2)、P2:/dev/hda2

3)、P3:/dev/hda3

4)、P4:/dev/hda4

由于分区表只有64bytes而已,最多只能容纳四个分区,这四个分区被称为主或扩展分区。根据图1所示与说明,我们可以得到几个重要信息:

1、其实所谓分区,只是针对那个64bytes的分区表进行设置而已

2、硬盘默认的分区表仅能写入四组分区信息。

3、这四组分区信息我们称为主或扩展分区

4、分区的最小单位为柱面

5、当系统要写入磁盘时,一定会参考磁盘分区表,才能针对某个分区进行数据的处理。

硬盘的分区

要掌握硬盘的分区,需要掌握MBR、扩展分区、逻辑分区的概念。

一个是放置该硬盘的信息区,称之为主引导记录(MBR,Main Boot Record),一个是实际文件数据放置的地方。其中,MBR是整个硬盘最重要的区域,一旦MBR物理实体损坏时,则该硬盘就差不多报废了,一般来说,MBR有512个字节,且可以分为两个部分。

(1)第一部分有446个字节,用于存放引导代码,即是bootloader。

(2)第二部分有64个字节,用于存放磁盘分区表。其中,每个分区的信息需要用16个字节来记录。因此,一个硬盘最多可以有4个分区,这4个分区称之为主分区和扩展分区(extended)。

注:通常所说的"硬盘分区"就是指修改磁盘分区表,它定义了"第n个磁盘块是从第x个柱面到第y个柱面"。因此,当系统要读取第n个磁盘块时,就是去读硬盘上第x个柱面到第y个柱面的信息。

由于扩展分区只能有一个,所以这4个分区可以是4个主分区或者3个主分区加1个扩展分区,如下所示:

P + P + P + P

P + P + P + E

重点说明的是,扩展分区不能直接使用,还需要将其划分为逻辑分区才行,这样就产生了一个问题,既然扩展分区不能直接使用,但为什么还要划分出一定的空间来给扩展分区呢?这是因为,如果用户想要将硬盘划分为5个分区的话,那该如何?此时,就需要扩展分区来帮忙了。

由于MBR仅能保存4个分区的数据信息,如果超过4个,系统允许在额外的硬盘空间存放另一份磁盘分区信息,这就是扩展分区。若将硬盘分成3P+E,则E实际上是告诉系统,磁盘分区表在另外的那份分区表,即扩展分区其实是指向正确的额外分区表。本身扩展分区不能直接使用,还需要额外将扩展分区分成逻辑分区才能使用,因此,用户通过扩展分区就可以使用5个以上的分区了。

注意:

(1)实际上,不建议用户将硬盘分为4个主分区,这是因为,假如一个20GB的硬盘,若4个主分区占据了15GB的空间,则剩下的5GB空间完全不能使用,因为已经没有多余的分区表可以记录这些空间了。

(2)考虑到磁盘的连续性,一般建议将扩展分区放在最后面的柱面内。

(3)理论上允许一个硬盘只有1个主分区,其它空间都分配给扩展分区。

在Windows操作系统中,是先将物理地址分开,再在分区上建立目录。在Windows操作系统中,所有路径都是从盘符开始,如C://program file。

Linux正好相反,是先有目录,再将物理地址映射到目录中。在Linux操作系统中,所有路径都是从根目录开始。Linux默认可分为3个分区,分别是boot分区、swap分区和根分区。

无论是Windows操作系统,还是Linux操作系统,每个分区均可以有不同的文件系统,如FAT32、NTFS、Yaffs2等。

(1)boot分区

该分区对应于/boot目录,约100MB。该分区存放Linux的Grub(bootloader)和内核源码。用户可通过访问/boot目录来访问该分区。换句话说,用户对/boot目录的操作就是操作该分区。

(2)swap分区

该分区没有对应的目录,故用户无法访问。

Linux下的swap分区即为虚拟内存。虚拟内存用于当系统内存空间不足时,先将临时数据存放在swap分区,等待一段时间后,然后再将数据调入到内存中执行。所以说,虚拟内存只是暂时存放数据,在该空间内并没有执行。

Ps:虚拟内存

虚拟内存是指将硬盘上某个区域模拟为内存。因此虚拟内存的实际物理地址仍然在硬盘上。虚拟内存,或者说swap分区只能由系统访问,其大小为物理内存的2倍。

(3)根分区

在Linux操作系统中,除/boot目录外的其它所有目录都对应于该分区。因此,用户可通过访问除/boot目录外的其它所有目录来访问该分区。

注意:

(1)在Linux操作系统中,用户可根据需要进行修改分区。修改后的分区中,同一目录下的文件可能在不同分区中。比如/home目录下有a、b、c三个目录,可将不同的分区挂载到这三个目录下,这种操作是允许的。

(2)逻辑分割的数量依操作系统而不同,在Linux系统中,IDE硬盘最多有59个逻辑分割(5号到63号),SATA硬盘则有11个逻辑分割(5号到15号)。 (鸟哥版的)

不过根据最新的 linux内核技术规范中指示,逻辑分区可以无限。

<1>硬盘上至少有1个主分区。

<2>逻辑分区不能再进行分区。

(3)Linux分区目录和"盘符"的关系:

假如硬盘安装在IDE1的主盘,并且用户想分区成6个可以使用的硬盘分区,则可以采用下面两种方式。

方式一:采用3个主分区和3个逻辑分区

方式二:采用1个主分区和5个逻辑分区

当然还有其他的分区方式,只要满足上述说的规则就行

安装Linux时,默认分为三个区,分别是/boot分区、根分区和swap分区。这三个分区分别对应的盘符是hda1、hda2、hda3。

(4)Linux允许使用fdisk -l命令和df -h命令来查询其硬盘分区。其中,df无法显示出swap分区的大小。

[root@localhost /]#df -h

文件系统 容量 已用 可用 已用% 挂载点

/dev/hda2 8.8GB 3.1GB 5.3GB 38% / (根分区)

/dev/hda1 99MB 9.2MB 85MB 10% /boot (boot分区)

(5)在PC机下,A、B盘并不存在,这两个盘在Linux下类似于hda1/hda3,而C盘类似于hda2,D、E、F盘类似于hda5、hda6、hda7。

(6)swap分区不对应"盘符"。

(7)若硬盘的MBR已坏(0号扇区),则该磁盘就不能再作为引导盘,只能作为数据盘。因为MBR位于硬盘的起始处,用户不能通过软件进行修复,也不能跳过起始处。而硬盘中间的某个磁道坏了,用户可以软件修复,也可以跳过该磁道。

嵌入式分区

嵌入式系统可以分为4个区,分别是bootloader、para、kernel、根分区等,与Windows、Linux分区不同。

(1)在嵌入式系统中,没有swap分区,只有实际的物理空间。

(2)bootloader、para、kernel这三个分区的功能类似于Linux系统中的/boot分区,这三个分区分别存放嵌入式系统的启动代码和内核。

注:Linux系统中/boot分区内存放着linux启动代码和内核源码。

(3)根分区(/)可以构造,其功能类似于Linux系统中的根分区.在这个分区中可以创建许多目录,比如/root、/home、/usr等,但不能创建/boot目录。

(4)分区bootloader、para、kernel只能由地址来区分,而根分区只能由目录来区分。

(5)嵌入式系统的驱动程序、上层软件都放在根分区.在嵌入式系统启动后,系统无法查看到bootloader、para、kernel这三个分区。

转自:百度百科-验证

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
毕业设计,基于SpringBoot+Vue+MySQL开发的公寓报修管理系统,源码+数据库+毕业论文+视频演示 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本公寓报修管理系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息,使用这种软件工具可以帮助管理人员提高事务处理效率,达到事半功倍的效果。此公寓报修管理系统利用当下成熟完善的Spring Boot框架,使用跨平台的可开发大型商业网站的Java语言,以及最受欢迎的RDBMS应用软件之一的MySQL数据库进行程序开发。公寓报修管理系统有管理员,住户,维修人员。管理员可以管理住户信息和维修人员信息,可以审核维修人员的请假信息,住户可以申请维修,可以对维修结果评价,维修人员负责住户提交的维修信息,也可以请假。公寓报修管理系统的开发根据操作人员需要设计的界面简洁美观,在功能模块布局上跟同类型网站保持一致,程序在实现基本要求功能时,也为数据信息面临的安全问题提供了一些实用的解决方案。可以说该程序在帮助管理者高效率地处理工作事务的同时,也实现了数据信息的整体化,规范化与自动化。 关键词:公寓报修管理系统;Spring Boot框架;MySQL;自动化;VUE
毕业设计,基于SpringBoot+Vue+MySQL开发的社区医院管理系统,源码+数据库+毕业论文+视频演示 信息数据从传统到当代,是一直在变革当中,突如其来的互联网让传统的信息管理看到了革命性的曙光,因为传统信息管理从时效性,还是安全性,还是可操作性等各个方面来讲,遇到了互联网时代才发现能补上自古以来的短板,有效的提升管理的效率和业务水平。传统的管理模式,时间越久管理的内容越多,也需要更多的人来对数据进行整理,并且数据的汇总查询方面效率也是极其的低下,并且数据安全方面永远不会保证安全性能。结合数据内容管理的种种缺点,在互联网时代都可以得到有效的补充。结合先进的互联网技术,开发符合需求的软件,让数据内容管理不管是从录入的及时性,查看的及时性还是汇总分析的及时性,都能让正确率达到最高,管理更加的科学和便捷。本次开发的社区医院管理系统实现了病例信息、字典表、家庭医生、健康档案、就诊信息、前台、药品、用户、用户、用户表等功能。系统用到了关系型数据库中王者MySql作为系统的数据库,有效的对数据进行安全的存储,有效的备份,对数据可靠性方面得到了保证。并且程序也具备程序需求的所有功能,使得操作性还是安全性都大大提高,让社区医院管理系统更能从理念走到现实,确确实实的让人们提升信息处理效率。 关键字:社区医院管理系统;信息管理,时效性,安全性,MySql
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值