pc机,嵌入式系统,启动过程,引导过程,bootloader,grub
2011-07-06 16:57
483 查看
参考文章
IBM:linux引导内幕
个人Notes:
(1)PC机和嵌入式系统的启动方式通常有些不同,PC机在bootloader之前有BIOS,可能是由PC机的复杂功能决定的:A.提供很多灵活性,比如支持多操作系统等,而不同的操作系统通常需要不同 的bootloader(当然,linux下的GRUB是同时支持WIN和linux的)。 B.PC机上需要初始化的硬件多,为了减小bootloader的大小,将一些硬件的初始化放在BIOS。
(2)硬盘上的每个系统都在改系统的主分区的前512字节(boot sector)保存着和MBR内容(事实上,MBR的内容是在安装系统时将该系统的boot sector的内容)
(2)MBR里只有最多446字节的bootloader代码,且只是bootloader的第一阶段的代码,它的作用是加载bootloader的第二阶段的代码,它会在MBR中接下来的64字节分区表中查找一个活动分区,再将该活动分区里的bootloader的第二阶段代码加载到内核。第二阶段的代码的作用是:A.读取
http://forum.ubuntu.org.cn/viewtopic.php?f=139&t=257860&start=0
因为grub可以安装到mbr,不论分区是否活动,grub照常起来,
grub一起来,管你分区活动不活动
GRUB的步骤1包含在 MBR中。由于受MBR的大小限制,步骤一所做的几乎只是装载GRUB的下一步骤(存放在硬盘的其它位置)。步骤1既可以直接装载步骤2,也可以装载步骤 1.5:GRUB的步骤1.5包含在MBR后面的30KB中。步骤1.5载入步骤2。当步骤2启动后,它将呈现一个界面来让用户选择启动的操作系统。
http://forum.ubuntu.org.cn/viewtopic.php?f=120&t=232357 14楼
1 楼:windows 的 mbr 只做一件事,找到主分区表中标记为“活动”的分区,并跳到那个分区的引导扇区执行。没有备份它的必要。grub 直接用一条语句跳到 windows 分区的引导扇区。
4 楼:mbr 里并没有 ntldr 代码。ntldr 引导代码在每一个 windows 分区的引导扇区,其功能就是找到该分区下名为 ntldr 的文件并执行。所以 grub4dos 甚至可以不执行引导扇区的 ntldr 引导代码,而直接找 ntldr 文件,就是 chainloder /ntldr 的写法。
11 楼:第一个分区通常不是紧接在 mbr 后面的。mbr 是0磁道1扇区,而第一个分区一般从 1 磁道开始,中间通常隔着 63 个备用空白扇区,刚好可以放下 stage 1.5。当然,如果第一分区紧接在 mbr 之后,或 mbr 之后的空白扇区已被使用,将不会安装 stage 1.5。强行指定安装 stage 1.5 会报 Error 34 : No spare sectors on the disk 而不能安装。
没有 stage 1.5 时,stage 1 可以直接指向 stage 2。stage 1.5 的好处是它能够识别文件系统,从 stage 1.5 找 stage2 时,它是找分区上叫 stage2 的 文件。而 stage1 直接找 stage2 则是直接指向 stage2 文件在磁盘上的物理地址,这样如果 stage2 文件被挪动并且原位置被其他数据覆盖,引导就会失败。
IBM:linux引导内幕
个人Notes:
(1)PC机和嵌入式系统的启动方式通常有些不同,PC机在bootloader之前有BIOS,可能是由PC机的复杂功能决定的:A.提供很多灵活性,比如支持多操作系统等,而不同的操作系统通常需要不同 的bootloader(当然,linux下的GRUB是同时支持WIN和linux的)。 B.PC机上需要初始化的硬件多,为了减小bootloader的大小,将一些硬件的初始化放在BIOS。
(2)硬盘上的每个系统都在改系统的主分区的前512字节(boot sector)保存着和MBR内容(事实上,MBR的内容是在安装系统时将该系统的boot sector的内容)
(2)MBR里只有最多446字节的bootloader代码,且只是bootloader的第一阶段的代码,它的作用是加载bootloader的第二阶段的代码,它会在MBR中接下来的64字节分区表中查找一个活动分区,再将该活动分区里的bootloader的第二阶段代码加载到内核。第二阶段的代码的作用是:A.读取
http://forum.ubuntu.org.cn/viewtopic.php?f=139&t=257860&start=0
因为grub可以安装到mbr,不论分区是否活动,grub照常起来,
grub一起来,管你分区活动不活动
GRUB的步骤1包含在 MBR中。由于受MBR的大小限制,步骤一所做的几乎只是装载GRUB的下一步骤(存放在硬盘的其它位置)。步骤1既可以直接装载步骤2,也可以装载步骤 1.5:GRUB的步骤1.5包含在MBR后面的30KB中。步骤1.5载入步骤2。当步骤2启动后,它将呈现一个界面来让用户选择启动的操作系统。
http://forum.ubuntu.org.cn/viewtopic.php?f=120&t=232357 14楼
1 楼:windows 的 mbr 只做一件事,找到主分区表中标记为“活动”的分区,并跳到那个分区的引导扇区执行。没有备份它的必要。grub 直接用一条语句跳到 windows 分区的引导扇区。
4 楼:mbr 里并没有 ntldr 代码。ntldr 引导代码在每一个 windows 分区的引导扇区,其功能就是找到该分区下名为 ntldr 的文件并执行。所以 grub4dos 甚至可以不执行引导扇区的 ntldr 引导代码,而直接找 ntldr 文件,就是 chainloder /ntldr 的写法。
11 楼:第一个分区通常不是紧接在 mbr 后面的。mbr 是0磁道1扇区,而第一个分区一般从 1 磁道开始,中间通常隔着 63 个备用空白扇区,刚好可以放下 stage 1.5。当然,如果第一分区紧接在 mbr 之后,或 mbr 之后的空白扇区已被使用,将不会安装 stage 1.5。强行指定安装 stage 1.5 会报 Error 34 : No spare sectors on the disk 而不能安装。
没有 stage 1.5 时,stage 1 可以直接指向 stage 2。stage 1.5 的好处是它能够识别文件系统,从 stage 1.5 找 stage2 时,它是找分区上叫 stage2 的 文件。而 stage1 直接找 stage2 则是直接指向 stage2 文件在磁盘上的物理地址,这样如果 stage2 文件被挪动并且原位置被其他数据覆盖,引导就会失败。
相关文章推荐
- Linux系统启动过程及grub引导故障排错(二)
- 从PC机、嵌入式linux、以及android系统的启动过程来总结uboot到底是干嘛的
- 从PC机、嵌入式linux、以及android系统的启动过程来总结uboot到底是干嘛的
- Linux系统启动过程及grub引导故障排错(一)
- Linux系统启动过程及grub引导故障排错(二)
- 嵌入式系统的BootLoader技术浅析_启动过程
- GRUB启动过程分析 & GRUB 引导程序配置
- 系统启动过程中出现:error: no such partition grub rescue
- u盘安装linux,将grub安装到了u盘,将U盘拔掉后系统无法引导启动的解决方法
- 【嵌入式Linux学习七步曲之第三篇 Linux系统bootlaoder移植】U-BOOT全线移植分析系列之四--U-boot如何引导Linux内核启动?
- 嵌入式Linux启动过程分析3-bootloader
- 嵌入式开发手记(一)嵌入式系统启动过程 (S5pv210)
- 【嵌入式】bootloader启动过程分析
- 基于ARM-uCLinux嵌入式系统启动引导的实现
- 【嵌入式】bootloader启动过程分析
- GRUB启动过程分析 & GRUB 引导程序配置
- GRUB启动过程分析 & GRUB 引导程序配置
- 嵌入式Linux系统启动过程
- 有关嵌入式bootloader和上电启动过程的网页
- Linux系统引导过程(BIOS和Bootloader部分)