目录
主分区,扩展分区,逻辑分区(标准分区)
硬盘一般划分为一个“主分区”和“扩展分区”,然后在扩展分区上再分成数个逻辑分区。
磁盘=主分区+扩展分区(逻辑分区1+逻辑分区2+……)
简易的记忆就是:
主分区就是"C盘","C盘"之外就是扩展分区,可以扩展分区分出D盘,E盘,F盘等逻辑分区。
主分区可以直接挂载成 C,D,E,F......盘。扩展分区,不行,需要在上面再创建逻辑分区1,2,3……之后才能挂载成D盘(逻辑分区1),E盘(逻辑分区2),F盘(逻辑分区3)……
磁盘分区(硬分区):主分区+扩展分区
逻辑分区:主分区+逻辑分区1+逻辑分区2,逻辑分区3……
主分区可以有多个(最多4个),这个时候主分区就不是‘C盘’了,而是选其中一个当‘C盘’。
(为什么主分区可以做‘C盘’?因为硬盘最前面有一个MBR分区表,主板可以直接读取该区域信息引导启动系统)
主分区和引导分区(引导区)
二者并不平级,引导分区就是主分区和逻辑分区上的一块区域,个人认为应该叫分区的”引导区“,记录主分区和逻辑分区信息,引导程序如何去读写数据。
例如:主分区的引导区
主分区的数据区:用于存储操作系统、程序文件和用户数据等
主分区的引导分区:存储操作系统的启动扇区和引导加载程序
简易的理解就是:
主分区就是“C盘“,引导区就是"C盘"的'入口'--分区信息区域,上电后硬件先读引导区上的信息,然后知道如何访问"C盘"数据区的操作系统。
粗略的启动过程描述:
简略:
硬件启动-->主分区上的引导区-->主分区上的数据区-->启动完成,可以开始读写其他分区。
概述:
硬件启动,BIOS或UEFI固件会从主分区的引导区读取引导信息,启动[引导加载程序](如GRUB),[引导记载程序]加载数据到内存中,启动操作系统内核,操作系统内核继续完成操作系统的启动过程,操作系统会访问硬盘上的其他分区(包括主分区和逻辑分区)
引导分区(或称为启动分区)确实存放了操作系统的启动扇区和引导加载程序。当计算机启动时,BIOS或UEFI固件会从这个引导分区读取引导信息(也称为启动扇区或MBR扇区),并将控制权交给引导加载程序(如GRUB、LILO、Windows Boot Loader等)。
然而,在启动过程中,引导加载程序并不直接从主分区读取操作系统数据来启动操作系统。相反,引导加载程序会加载操作系统内核文件(例如Windows的NTLDR或Linux的vmlinuz)和相关的初始化文件(如INITRD或initrd.img),这些文件通常存储在特定的文件系统分区上(可以是主分区或逻辑分区)。引导加载程序将这些文件加载到内存中,并配置必要的硬件和软件环境,然后将控制权交给操作系统内核。
操作系统内核在内存中启动后,会接管计算机的控制权,并继续完成操作系统的启动过程。在这个过程中,操作系统会访问硬盘上的其他分区(包括主分区和逻辑分区),以加载必要的驱动程序、配置文件和用户数据等。
因此,虽然引导分区在启动过程中起到了关键的作用,但它并不直接读取主分区上的操作系统数据来启动操作系统。相反,它是通过引导加载程序来加载操作系统内核和初始化文件,然后由操作系统内核完成启动过程。
逻辑分区和标准分区的区别
标准分区(或称为逻辑分区),二者同一个概念。
交换分区Swap
类似于windows的虚拟内存。
作用是:Linux的交换分区Swap类似于Windows的虚拟内存,都是当物理内存不足时,将部分数据从内存中移至硬盘的某个区域,从而为当前运行的程序提供足够的内存空间。
Linux的交换分区Swap vs Windows的虚拟内存
- 管理方式:虚拟内存挂在某个盘符下,Swap分区通常是一个独立的分区
- 使用时机:Windows即使物理内存没有用完也会去用到虚拟内存,而Linux只有当物理内存用完的时候才会去动用虚拟内存(即Swap分区)。
- 数据交换:内存不足时,OS会把内存中暂时不用的数据交换出去,放在Swap分区中--SWAP OUT。当某进程需要这些数据,OS又会把Swap分区中的数据交换回物理内存中--SWAP IN。而在Windows中,虚拟内存的管理方式可能有所不同。
为什么硬盘只能有四个主分区
因为MBR中的分区表只有64个字节的空间,而每个分区需要占16个字节的空间来描述,所以只能将磁盘分4个区。
(磁盘为什么只能分成4个“主分区”?https://baijiahao.baidu.com/s?id=1596694324131116315&wfr=spider&for=pc
实例:
确切的说,硬盘最多只能有4个分区(主分区和扩展分区) ,它可以是
4个主分区(P+P+ P+P)
3主分区+1 扩展分区 (P+P+ P+E)
2主分区+1 扩展分区(P+P+E)
1主分区+1 扩展分区(P+E)
既主分区+扩展分区最多4个,扩展分区只1个
主分区的优势
把磁盘分成4个“主分区”它的优势还是很明显的:
1、分区结构简单,数据和分区丢失时,更容易恢复。(逻辑分区层次更多更复杂,且MBR区域需要专用工具才能修改,不容易被破坏)
2、分区个数少,文件查找速度更快。(不需要遍历多个分区表)
3、减少了文件簇的分布,访问文件的速度明显加快。(较少的分区,文件簇的分布可能更加集中,这有助于减少磁盘的磁头移动次数)
当计算机启动时,BIOS会读取磁盘的第一个扇区(MBR扇区)来获取启动信息。
主分区比逻辑分区寻址少了一步,系统读取MBR表之后可以直接访问到主分区,而逻辑分区则是先读MBR表找到扩展分区,然后再读取扩展分区表找到对应的逻辑分区。比主分区多了一步:
所以安装操作系统,默认都是给你分4个主分区分别挂载成C盘,D盘,E盘,F盘,这个是性能最好的方式。
lvm分区与标准分区(逻辑分区)
安装linux系统时 有时候会提示lvm分区与标准分区
逻辑分区(标准分区):划分好之后就无法改变其大小。(只能使用 符号链接,或者使用调整分区大小的工具)
LVM分区:可以在不用停机的状态下更改磁盘分区大小。
原理:
物理分区卷添加到一个组,在组之上 创建lvm 逻辑卷;好处是卷组可以扩展其他的磁盘物理卷,
如图是构建lvm分区的步骤:
以下是标准分区
以下包含lvm分区
(摘自: 如何区分Linux中标准分区与lvm分区_https://blog.csdn.net/coffee66666/article/details/136066525)
Linux分区方案介绍
1.标准分区(逻辑分区):可以包含文件系统或swap交换空间,也能提供一个容器,用于软件RAID和LVM物理卷。
2.BTRFS:Btrfs是一个具有几个设备相同的特征的文件系统。它能够处理和管理多个文件,大文件和大体积比的ext2,ext3和ext4文件系统。
3.LVM(逻辑卷):创建一个LVM分区自动生成一个LVM逻辑卷。 普通的磁盘分区调整size不方便需要专用工具且不能跨磁盘,LVM可以解决这些痛点。
Linux手动分区标准及建议
(https://www.cnblogs.com/xiaoyao404/p/17890596.html)
1. boot分区(标准分区):一般300Mb左右
作用:引导分区,包含了系统启动的必要内核文件,即使根分区损坏也能正常引导启动,一般这些文件所占空间在200M以内。
分区建议:可选100M-500M之间,空间充足的建议分300-500M。避免由于长期使用的冗余文件塞满这个分区。
分区格式:建议ext4,可按需求更改。
2. /boot/efi分区:一般200M左右
作用:对于GPT分区表(UEFI启动模式),efi分区是必须的,它用来存放操作系统的引导器(loader)和启动操作系统所必需的引导文件和相关驱动程序
分区格式:EFI System Partition格式
3. swap分区:一般是物理内存的1-2倍,如2048mb 4096mb
作用:类似于Windows的虚拟内存,在内存不够用时占用硬盘的虚拟内存来进行临时数据的存放,而对于linux就是swap分区
分区建议:建议是物理内存大小的1-2倍
分区格式:swap格式
4. / 分区(根分区):所有分区完成后,剩余全部空间
作用:Linux系统具有 “一切皆文件” 的思想和特点,所有的文件都从这里开始。如果我们有大量的数据在根目录下(比如做FTP服务器使用)可以划分大一点的空间。
分区建议:15G+。根分区和home分区的大小类似于C盘和D盘的空间分配,主要占空间在哪儿就把那里分大容量。
分区格式:建议ext4
5. var分区(可选):按需求,日志量大的给它分大一点不吃亏,也可以不给分区,系统会自动挂载在/根分区下
作用:用于log日志的文件的存放,如果不分则默认在/目录下
分区建议:如果你安装的linux是用于服务器或者经常做日志分析,请划分var分区,避免日志文件不断膨胀塞满导致根分区而引发问题。
分区格式:建议ext4
6.home分区(可选):按需求,也可以不给home分区,系统会自动挂载在/根分区下
作用:存放用户数据,HOME的结构一般是 HOME/userName/userFile,如果不分则默认在/目录下
分区建议:如果用户数据多可以考虑将此分区适当增大,请参考“根分区”分区建议;一般硬盘的主要容量几乎都在Home分区和根分区下
分区格式:建议ext4
Linux文件系统格式介绍
1. Ext:第一代扩展文件系统。
2. Ext2: 第二代扩展文件系统,用以代替ext,ext2 的经典实现为Linux内核中的ext2fs文件系统驱动,最大可支持2TB的文件系统,到Linux核心2.6版时,扩展至可支持32TB。
3. Ext3: 第三代扩展文件系统(英语:Third extended filesystem,缩写为ext3)
4. Ext4: 第四代扩展文件系统,是ext3文件系统的后继版本。引入到Linux2.6.19内核中。
5.XFS:能在断电以及操作系统崩溃的情况下保证数据的一致性。CentOS 7起始已将XFS作为默认的文件系统。
6.swap:swap文件系统,用于交换分区。在Linux中,使用整个交换分区来提供虚拟内存。
7.vfat: Linux对DOS,Windows系统下的FAT(包括fat16和Fat32)文件系统的一个统称
8.NFS: NFS即网络文件系统,用于在UNIX系统间通过网络进行文件共享,用户可将网络中NFS服务器提供的共享目录挂载到本地的文件目录中,从而实现操作和访问NFS文件系统中的内容。
9.EFI system partition: EFI BIOS的文件系统分区,里面包含了启动操作系统所必须的文件,当BIOS使用UEFI模式是,必须使用此格式创建EFI系统分区。