Linux——分区和格式化

一、分区
 1、磁盘分区
  磁盘分区是使用分区编辑器(Partition Editor)在磁盘上划分几个逻辑部分。碟片一旦划分成数个分区(Partition),不同类的目录与文件就可以存储进不同的分区,分区的目的就是分类存放数据和文件,使存储和取用数据更便捷。
 2、两种分区表形式
  MBR分区表(主引导记录分区表):最大支持2.1TB的硬盘,每块硬盘最多支持4个分区,这里的分区是指主分区
  GPT分区表(全局唯一标识分区表):支持9.4ZB硬盘(1ZB=1024PB,1PB=1024EB,1EB=1024TB),理论上支持的分区数没有限制,但Windows限制128个主分区
 3、MBR分区类型
  主分区:最多4个
  扩展分区:1块硬盘最多1个扩展分区,主分区加扩展分区不得超过4个,扩展分区不能写入数据,也不能格式化,只能包含逻辑分区
  逻辑分区:格式化后可以写入数据
:正确的分区方式是将磁盘分成小于三个的主分区(主分区个数必须大于1,因为系统的激活需要在主分区进行)和一个扩展分区,再将该扩展分区分为若干个逻辑分区

二、格式化
 光有分区,还不能写入数据,还需要将分区进行格式化。
 格式化(高级格式化)又称逻辑格式化,它是指根据用户选定的文件系统(如FAT16、FAT32、NTFS、EXT2、EXT3、EXT4等),在磁盘的特定区域写入特定数据(所选文件系统的文件管理数据),也就是在分区中划出一片磁盘空间用于存放文件分配表、目录表等用于文件管理的数据。也就是说格式化的目的是将文件系统写入分区,以便于更好的管理存放在该分区的文件。
 格式化时会先清空分区数据,再进行分区格式化。前面说了,格式化的目的是将文件系统写入分区,以便于管理文件。格式化会将每个区分分成两部分:一部分用来存放文件的索引节点(INode,每个INode的大小为128b,保存文件的INode号、各种操作的时间信息、读写权限和数据保存位置),分区格式化后INode的个数也就确定了,INode的个数限制了分区存放文件的个数,在INode使用完之后即使分区还有剩余空间也将不能存储数据,虽说INode使用完的概率极低,但还是应尽量不要上传空白文件,虽然空白文件不占用空间(block),但占用INode;另一部分用来存放数据,存放数据的部分又会被分成一个个的数据块(block,默认大小4KB,也可分成2KB或1KB),但我们存放的文件大小不一定恰好就是4KB的倍数,假如我们有个10KB大小的文件,那将会被存储在3个数据块(block)上,而且这3个数据块也不一定是挨着的(分配给一个文件的数据块会尽可能挨着,这样便于查看和管理,但有时会不挨着,Windows中的磁盘碎块整理的作用就是将散落存放的文件尽量的挨着存放),一个block上是不能存放多个文件的,例如前面举的例子,10KB的文件将占用3个block,而第三个block却没占满,那这第三个block是不能再存放其他的文件的,因此block的大小越小,空间越能被充分利用,但是不一定越小越好,因为越小文件在读取和存放的时候都会越慢。
:FAT16、FAT32、NTFS是Windows系统下使用的文件系统;EXT2、EXT3、EXT4、XFS是Linux系统使用的文件系统,用哪种文件系统管理分区,就需要将这个文件系统的数据写入该分区。

三、设备文件名
 Linux会给所有硬件都起一个名字,即设备文件名,这样才能根据这个名字找到这个硬件,进而对硬件进行操作,Linux中硬件和对应的设备文件名如下图所示:
在这里插入图片描述
 分区的对应设备文件名:
  IDE硬盘接口:/dev/hda1
  SCSI硬盘接口、SATA硬盘接口:/dev/sda1

  ①其中a表示的是第一块硬盘(连接的第一个硬盘接口,第二块硬盘会被标识为b),1表示这个硬盘的第一个主分区,因此第二块硬盘的第三个主分区的设备文件名会是/dev/sdb3;但是要注意分区号中的1、2、3、4只能分配给主分区或扩展分区,不能分配至逻辑分区,如下图示例:
   a、将硬盘分成3个主分区(1、2、3),一个扩展分区(4),扩展分区又分成两个逻辑分区(5、6)
在这里插入图片描述
   b、将硬盘分成1个主分区(1)和1个扩展分区(2),再将扩展分区分成3个逻辑分区(5、6、7),这里逻辑分区是不会被识别成3或4的
在这里插入图片描述
   因此设备文件名/dev/sdb5表示的是第二块硬盘的第1个逻辑分区,其他一次类推
  ②目前主流的硬盘接口类型是SATA

四、挂载
 Linux中为每个硬件起了一个设备文件名,用来标识硬件设备,我们可以通过该设备文件名去操作相应的硬件(硬盘也是硬件设备,可进行读写操作),这就是Linux中挂载的概念,即通过把硬件设备文件名和挂载点连接起来以实现Linux系统和各个硬件之间的连接。这里所谓的挂载点其实是Linux中的一个目录,在这个目录下创建一个和硬件的设备文件名一致的空文件夹来实现硬件设备的挂载(比如将/dev/sdb1标识的磁盘挂载到/boot下,则需要在/boot下创建一个名/dev/sdb1的空文件夹,这样访问该磁盘时就需要通过/boot目录访问,或者说/boot目录下的文件将会被保存在/dev/sdb1所标识的磁盘中,也就是说此时第二块硬盘的第一个主分区的挂载点是/boot),也就是说在Linux系统中通过目录名称对应设备文件名进而对应硬件设备来完成对硬件的操作,或者说将硬件挂载到Linux系统的某个目录下,挂载点其实就是操作硬件设备的入口。
 Linux中必须使用已经存在的空目录作为挂载点,注意一定要是已存在的空目录,挂载点是系统访问分区或其他硬件的入口。

五、系统安装前的分区建议
 1、必须分区
  根分区:/
  交换分区:swap分区,可看做系统的虚拟内存,当真实内存不够时临时充当内存
  建议:若真实内存(此处指虚拟机内存)小于4GB,swap分区的大小为内存的两倍;若真实内存大于4GB,swap的大小和内存一致
 2、推荐分区
  启动分区:/boot,推荐大小1GB,用来挂载磁盘1号主分区(即系统分区/dev/sda1),专门将该分区独立出来的作用是怕文件存放过多磁盘空间不足导致系统无法启动等问题,因此将系统与其他文件分隔开来,类似于Windows中的C盘专门用来存放系统文件且一般不会在C盘中存放其他文件一样
 3、常用分区:和机器的用途有关
  /home:用于文件服务器
  /www:用于web服务器

 如下图所示:将系统分区(/dev/sda1)挂载到/boot下,把第二个主分区(/dev/sda2)挂载到/home下,第三个主分区(/dev/sda3)挂载到/下
文件系统结构
 这样,/home目录下的所有文件都会存储在/dev/sda2中,/目录下的文件(如图中/etc下的文件)会存储在/dev/sda3中

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值