磁盘分区
磁盘基本知识 https://www.cnblogs.com/jswang/p/9071847.html
从整体的角度上,硬盘接口分为IDE、SATA、SCSI、光纤通道和SAS五种,个人计算机常见的是IDE和SATA接口。磁盘的设备文件名主要分为IDE接口的 /dev/hd[a-d]以及SATA/SCSI/USB接口的 /dev/sd[a-p]两种
整块磁盘的第一个扇区最为重要,因为其记载了两个重要的信息
(1)MBR(主引导分区):安装引导加载程序(boot loader)的地方,与开机启动有关。大小为446bytes
开机流程:
开机的时候计算机系统会主动执行的第一个程序BIOS。接下来BIOS会去分析计算机里面有哪些存储设备,我们以硬盘为例,BIOS会依据用户的设置去取得能够开机的硬盘,并且到该硬盘里面去读取第一个扇区的MBR位置。MBR这个仅有446bytes的硬盘容量里面会放置最基本的引导加载程序,此时BIOS就功成圆满,而接下来就是MBR内的引导加载程序的工作了。这个引导加载程序的目的是在加载(load)内核文件,由于引导加载程序是操作系统在安装的时候所提供的,所以它会识别硬盘内的文件系统格式,因此就能够读取内核文件,然后接下来就是内核文件的工作,引导加载程序也功成圆满,之后就是操作系统的任务。
引导加载程序(boot loader):
boot loader 的主要任务有下面这些项目:(1)提供菜单:用户可以选择不同的开机选项,这也是多重引导的重要功能。(2)载入内核文件:直接指向可开机的程序区段来开始操作系统。(3)转交其他loader:将引导加载功能转交给其他loader负责。
PS.关于第三项功能的介绍,因为你的计算机中可能有多个引导程序(一般就是我们所说的多系统),所以是引导加载程序除了可以安装在MBR 之外,还可以安装在每个分区的引导扇(boot sector)
如果要安装多重引导,最好先安装 Windows 再安装Linux。这是因为。Linux在安装的时候,你可以选择将引导加载程序安装在MBR或个别分区的启动扇区,而且Linux的 loader 可以手动设置菜单(就是上图的 M1, M2),所以你可以在 Linux 的 boot loader 里面加入Windows开机的选项。Windows在安装的时候,它的安装程序会主动覆盖掉MBR以及自己所在分区的启动扇区,你没有选择的机会,而且它没有让我们自己选择菜单的功能。因此,如果先安装Linux再安装Windows的话,那MBR的引导加载程序就只会有Windows的选项,而不会有 Linux 的选项(因为原本在 MBR 内的 Linux 的引导加载程序就会被覆盖掉)。
(2)分区表:记录整块磁盘的分区情况,大小为64bytes
分区表的64bytes大小总共分为四组记录区,每组记录了该区段的起始和结束的柱面号码
P1:/dev/hda1 P2:/dev/hda2 P3:/dev/hda3 P4:/dev/hda4
由于分区表就只有64bytes而已,最多只能容纳四个分区,这四个分区被称为主(Primary)或扩展(Extended)分区。
其实所谓的“分区”只是针对那个64bytes的分区表进行设置而已。
分区的最小单位为柱面(cylinder)。
磁盘为什么要分区:
1.数据的安全性因为每个分区的数据是分开的。所以,当你需要将某个分区的数据重整时,例如你要重新安装Windows时,可以将C盘中其他重要数据移到其他分区,例如将邮件、桌面数据移动到D盘去,那么重装系统并不会影响到D盘。所以善用分区,可以让你的数据更安全。
2.系统的性能考虑 由于分区将数据集中在某个柱面的区段,例如图 3-3 当中第一个分区位于柱面号码 1~100号,如此一来当有数据要读取自该分区时,磁盘只会搜寻前面1~100的柱面范围,由于数据集中了,将有助于数据读取的速度与性能!所以说,分区是很重要的。
逻辑分区:
因为使用的需要我们可能需要跟多的分区,但是分区表只能记录四条数据,这时我们可以利用额外的扇区来记载更多的分区信息,扩展分区本身并不能被拿来格式化。然后我们可以通过扩展分区所指向的那个区块继续作分区的记录。这时所分出的分区我们叫他逻辑分区(logical partition),而且逻辑分区的设备名称号码只能从5号开始,前面四个号码都是保留给Primary或Extended用的。
P1:/dev/hda1 P2:/dev/hda2 L1:/dev/hda5 L2:/dev/hda6 L3:/dev/hda7 L4:/dev/hda8 L5:/dev/hda9
关于主分区、扩展分区与逻辑分区的特性我们作个简单的总结:
主分区与扩展分区最多可以有四个(硬盘的限制)。 扩展分区最多只能有一个(操作系统的限制)。 逻辑分区是由扩展分区持续切割出来的分区。能够被格式化后作为数据访问的分区为主分区与逻 辑分区。扩展分区无法格式化。逻辑分区的数量依操作系统而不同,在Linux系统中,IDE硬盘最多有59个逻辑分区(5号到63号),SATA硬盘则有11个逻辑分区(5号到15号)。