引导扇区通常指设备的第一个扇区,用于加载并转让处理器控制权给操作系统。引导扇区的大小为512字节。
计算机启动的时候,会从最初一个扇区读取设备,然后检查这个扇区的最后两个字节,即第511和512字节。如果最后两个字节是0x55和0xAA,那它就认为这个扇区的开头是启动程序,并开始执行这个程序,否则就会报一个不能启动的错误。
我们将我们所写的操作系统存储在一个虚拟软盘里,为了加载操作系统,我们需要自己来编写一个引导扇区,将操作系统内核加载到内存中。那么如何知道操作系统文件在软盘的哪个位置呢?这就需要文件系统,而不同的文件系统有它不同的格式。文件系统一般会把磁盘划分为若干层次以方便组织和管理,这些层次包括:
- 扇区(Sector):磁盘上的最小数据单元
- 簇(Cluster):一个或多个扇区
-
分区(Partition):通常指整个文件系统
对于软盘,笔者采用的是FAT12格式。FAT12格式的结构如下:
- 引导扇区(Boot Sector)
位于第一个扇区,在软盘上就是0柱面(磁道)0磁头1扇区
- 文件分配表(FAT)
紧接着引