Linux系统分区及原理

一、分区

1、分区定义:逻辑上将大硬盘分成小硬盘,便于数据的存储读取方便

2、两种分区表形式:

MBR分区表:每块硬盘最大支持2.1TB硬盘,每块硬盘最多支持4个分区。
GPT分区表(全局唯一标识分区):支持9.4ZB硬盘,理论上支持分区数没有限制,但Windows限制128个主分区。

3、MBR分区表的分区类型

①主分区:最多4
②扩展分区:
、把一个主分区拿出来做扩展分区,每块硬盘最多只能有1个扩展分区。
、逻辑分区+主分区<=4
、扩展分区不能写数据,不能格式化,只能在里面包含更多的逻辑分区。(为了突破4个分区的限制)
1234号分区只能分配给主分区和扩展分区,逻辑分区只能从第5个分区开始
③逻辑分区

图像解释:123硬盘为主分区,4盘为扩展分区,在扩展分区里分了许多逻辑分区

 

 

 

 

 

 

 

 

 

二、格式化

1.格式化:

①问题引入:只有分区不能写数据。
②定义:将分区放进文件系统,
就像给一个衣柜打格子,打隔间的时候要把衣柜里的衣服拿出来,所以格式化时候会覆盖了磁盘中原有的内容。

windosFAT16FAT92NTFS linuxEXT2EXT3EXT4XFS
越先进的文件系统,支持越大的分区,读写速度更快,越安全

2、格式化的作用:把磁盘分成了两部分

①一部分用来放索引们(block的索引 inode

Inode(120B):inode号,时间,权限,保存位置(block

②一部分用来放很多block(用来保存实际的数据)作为存储空间,一块block(4kb,2kb)

 

 

 

 

 

 

 

 

 

注意:
inode区和block区都有限制,所以不能无限制传出空文件,inode也是有极限的。
block中存储不论存储慢了没数据,这个block块就不能用了。
block块之间不一定都是连续的。 .

三、设备文件名(为了能找到分区):

linux中为每个分区对应一个设备文件名,设备文件名不用手动分配,为自动分配。(给每个分区起一个名,才能召见这个分区)
windos中不用设备文件名,直接分配盘符即可。

1、例如:

 

 

 

 

 

 

 

2、分区设备文件名:

/dev/hda1:hd代表IDE硬盘接口(淘汰,光驱用)

/dev/sda1:
sd:代表SCSI硬盘接口(老式服务器接口S)、USB接口、SATA硬盘接口(现在家用端接口)
a:代表第一块硬盘
1:第一个分区

SATA硬盘接口

3、注意:

/dev/sdb5 :第二块SATA接口硬盘的第一个逻辑分区
4.作用:有了设备文件名,就可以找到分区了,就可以为分区分配盘符了,linux中叫做挂载点

四、挂载点与挂载

1、挂载点:使用①已经存在的(所以要先创建)②空目录 作为挂载点。

理论上的空目录,包括新建的目录都能作为挂载点,但是/bin//lib//etc/目录除外,题目必须和根在同一个目录下,这些是根目录最基本的数据。单独分出来会出问题

2、挂载点作用:是进入分区访问数据的入口,标记。

就像在windos中有盘符C,才能进入C盘,C是进入此分区访问数据的入口
linux 用空目录挂载点作为进入挂在的设备文件名的分区的访问数据的入口

3、挂载:将设备文件名与挂载点连接起来的过程叫做挂载。

①必须分区(不分配会报错,但可以继续操作):
/ (根分区:安装之前,都是空的,安装的时候必须分的)
swap分区(交换分区,虚拟内存,当真是内存不够的时候,用虚拟内存代替。内核用的):
如果真是内存小于4GB,swap位内存的两倍
如果真是内存大于4GB,swap和内存一致
实验环境,不大于2GB
②推荐分区:
/boot(启动分区,1GB)

如果不分配启动分区,文件都会写在跟分区,如果根分区写满,也没有启动分区,那么就启动不了了。

③常用分区:
/home(用于文件服务器,让用户作文件上传下载用的)
/www(用于web服务器)

五、结构

1、从linux文件系统看:

跟目录是最高目录,其他目录都在根目录下

 

 

 

 

 

 

 

1、从硬盘上看:

①如果给/boot/home单独分区,它们就会有自己的存储空间,也就是说往/home里写数据,数据就会卸载/home目录所分的磁盘中。
/目录下所有其他没有单独分区的目录,比如/etc没有单独分区,所以,往/etc写文件的时候,会写入/(根目录)所分区的硬盘中。