操作系统的引导(个人笔记)
程序员文章站
2022-06-19 16:49:38
...
计算机在接电后,运行的是bios,bios是运行在主板的一个小程序,然后bios将找到MBR(Main Boot Record 主引导程序),MBR存在于硬盘最开始的扇区,0盘0道1扇区,MBR引导扇区中内容:
- 446字节引导程序以及参数;
- 64字节的分区表;
- 2字节结束标记0x55 和 0xaa
MBR负责找次引导程序。
每个分区占16字节,故有4个分区表,这四个分区中有次引导程序,MBR遍历这四个分区,将系统控制权交给次引导程序。
次引导程序是操作系统提供的的加载器,由加载器完成操作系统的自举。
注:约定好:活动分区位于0x80
OBR(OS Boot Record)内核加载引导扇区,在OBR扇区前三个字节存放了跳转指令,MBR找到活动分区后,就跳到OBR引导扇区起始位置,OBR扇区前三个指令存放的是跳转指令。
OBR:
1.跳转指令
2.厂商信息,版本
3.BIOS参数块
4.操作系统引导程序
5.结束标记0x55,0xaa
通电开机后,BIOS调用int 0x19h
找到任何可用磁盘,就把它第一个扇区加载到0x7c00。
主引导程序代码段
SECTION MBR vstart = 0x7c00
mov ax,cs
mov ds,ax
mov es,ax
mov ss,ax
mov fs,ax
mov sp,0x7c00
mov ax,0x600
mov bx,0x700
mov cx,0
mov dx,0x184f
int 0x10
mov ah,3
mov bh,0
int 0x10
mov ax,message
mov bp,ax
mov cx,5
mov bp,ax
mov cx,5
mov ax,0x1301
mov bx,0x2
int 0x10
jmp $
message db "this is mbr"
times 510-($-$$) db 0
db 0x55,0xaa
上一篇: 使用Js打印页面
下一篇: 在GitHub上开源:贡献你第一段代码
推荐阅读
-
读书笔记 计算机系统--系统架构与操作系统的高度集成 第一章概叙
-
读书笔记 计算机系统--系统架构与操作系统的高度集成 第二章处理器体系结构
-
【学习笔记】C语言习题:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。
-
荐 操作系统实验:单处理器系统的进程调度(学习笔记)
-
改变笔记本操作系统的五大注意事项的详细讲解
-
centos7.6使用openssl生成CA签署的证书个人实验笔记
-
机器人操作系统ROS笔记--Gazebo的使用
-
个人学习笔记:c++数组实现的模板队列和栈
-
土豆酱的个人笔记—正则表达式
-
重装windows操作系统后Ubuntu11.04无法引导的解决办法