
2.BIOS是一个主板上ROM里存储的程序,开机时枯老运行的第一个程序。
3.硬盘分区格式有MBR和GUID(GPT).
MBR:将分区信息保存到磁盘的第一个扇区(MBR扇区)中的64个字节中,每个分区占用16个字节,这16个字节中存
有活动状态标志、 文件系统标识 、起止柱面号、磁头号、扇区号、隐含扇区数目(4个字节)、分区总扇区数目(4个字节)等内容。
4.文件系统格式有多种,Windows使用NTFS,支持FAT16/32。Linux使用Ext2/3。
1.BIOS程序加载运行,从CMOS中找到可以运行系统的设备(硬盘,U盘等)。
2.选择启动设备后,读取第一个扇区中的主引导分区(Master Boot Record,MBR)位置。MBR这个仅有446bytes的硬盘容量里面会放置最基本的引导加载程序(Boot loader)。此时控制权就交给了引导加载程序。
NOTE:引导加载程序是 *** 作系统在安装的时候所提供的,所以它会识别硬盘内的文件系统格式,因此就能够读取内核文件.
3.引导加载程序可以提供不同的开机选项 ,加载系统内核文件,或者把控制权转交给其他loader负责(安装多系统)
NOTE:安装Windows/Linux双系统时要先没碰升安装Windows在装Linux,因为先装Linux在装Windows,安装过程中Windows会把原先MBR中的Linux_boot_loader覆盖成Windows_boot_loader.
引导加载程序(loader)除了可以安装在MBR之外,还可以安装在每个分区的引导扇区。
双系统时loader的位置如下图:
Windows_loader_M1用于加载Windows,Windows_loader_M2指向Linux_loader程序的地址。可以选择把控制权交给Linux_loader。
在预备知识中我们就知道了,开机运行的第一个程序就是 BIOS ,那么开机引导 *** 作系统的切入点也肯定是它了。
BIOS 识别 CMOS 读取硬件信息,从中找出可开机设备,一般自然是硬盘了。
当然,可开机设备不一定是硬盘,或者说你有两个硬盘,这里就不做讨论了。
BIOS 找到第一个扇区之后就查找 MBR 的位置,这是最基本的引导程序(Boot loader),这个程序一旦启动,BIOS 的任务才算圆满。
MBR 中的引导程序运行,这个蔽老时候用户可以对开机选项进行 *** 作,例如转交引导加载的任务给其他引导程序(之后还会提到)。
什么都做完了,当然该 *** 作系统登场,负责提供其基本功能。
Step 2 中提到了第一个扇区。实际上,这个扇区不止包含 MBR,它还包含了一个分区表,用来对硬盘进行分割,文件系统的最小单位是柱面,所以它是以记录柱面号宏镇升来分割硬盘的。
例如第一分区是 1~100 柱面,那么分区记录项第一个的内容就是 1 和 100,其他以此类推。
我们所谓的"分区"实际上就是对这个分区表的记录进行修改。
由于分区表只有 64 bytes,所以最多只能有 4 个分区,这四个分区被称为主(Primary)分区。
那么你肯定要有疑问:分区可不一定只有 4 个啊。
是的,这种情况下就有一个相对于主引导分区的概念——扩展(Extended)分区。
如果我们拿主分区的其中一个存放另外一个分区表储存更多的分区信息,那我们就可以拥有更多分区。不是么。有时间理解一下下图吧。
这里需要注意的地方是,如果有 4 个主分区,我们就再也没有办法存放另外的分区信息,所以一般情况下会留下一个分区存放扩展分区信息,主分区因此最多只有 3 个。
扩展分区只能有一个( *** 作系统限制),扩展分区持续切割,形成新的分区,这就是逻辑分区(logical partition)。我们平时能作为数据访问的分区是主分区和逻辑分区,扩展分区不能格式化。
这里需要说明一下,每个分区都拥有自己的启动扇区,可以用来存放引导程序,并且该引导程序可以将管理权交给另一引导程序(其他分区的引导扇区)或者自己引导所在的分区,是的,可开机的内核文旅答件不是在引导扇区内,而是在各分区内。
意思就是,你可以引导不止一种 *** 作系统,根据你在 boot menu 的选择,可以引导任何在 MBR 指向中的系统。
上述两个原因表明了为何需要先安装 windows *** 作系统,再安装 linux,否则将不会在开机的时候看到 linux 引导选项。
相对于 MBR 分区方案,GUID有以下优点 ( 源自百度百科 ):
GUID 扩展了分区表头,并且兼容了 MBR(第一扇区还是留有 MBR 的空间,为了兼容不支持 GUID 的硬盘),分区信息存放于分区表中,由 GUID HEADER 中的信息标识引导程序 efi 所在的分区。
开机过程(以下是我个人的理解,欢迎指正):
MBR 的引导过程中的知识来源于 《鸟哥的 linux 私房菜》一书,对于 linux *** 作系统感兴趣的同学我觉得很值得一读,GUID 相关知识还不够全面,如果各位看客发现了错误,欢迎指正,也欢迎各位与我交流,共同成长。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)