【转载】FAT12格式的引导程序(2)

1、用WinImage来写入到引导区的详细步骤:

启动WinImage后,打开“文件”菜单,单击菜单中的“打开”命令。

选择之前保存的磁盘镜像文件“boot.img”或者“boot.ima”。

打开“映像”菜单,单击菜单中的“引导扇区属性”命令。

在弹出的“引导扇区属性”对话框中,单击“打开”按钮。

浏览并选择经过汇编后生成的引导程序,如:“boot.bin”,然后单击“打开”按钮以选择引导文件并关闭对话框。注意此处所选择的文件长度应该是512字节,文件类型是BIN启动文件。

返回到“引导扇区属性”对话框时,看看“OEM 字串”的信息应该是引导程序中的“BS_OEMName”字段,在这里也就是“MSWIN4.1”,然后单击“确定”按钮以确认写入引导扇区并关闭对话框。

返回到WinImage主界面中,打开“文件”菜单,单击菜单中的“保存”命令,最后退出WinImage,即可以把引导文件写入到软盘镜像的引导扇区中了。

2、用FloppyWriter来写入到引导区详细步骤:

FloppyWriter.exe是《自己动手写操作系统》这本书的随书光盘里的一个小工具,专门用于将引导文件写入到磁盘的引导扇区中,非常的好用。

打开FloppyWriter工具。单击“Write File to Image”按钮以写入磁盘镜像文件。

浏览并选择经过汇编后生成的引导程序,如:“boot.bin”,然后单击“打开”按钮以选择引导文件并关闭对话框。注意此处所选择的文件长度应该是512字节,文件类型是Binary files(*.bin)启动文件。

选择之前保存的磁盘镜像文件“boot.img”或者“boot.ima”,如果无法浏览,则在文件类型中选择“All(*.*)”即可,然后单击“打开”按钮以选择磁盘镜像文件并关闭对话框。

最后,成功写入到磁盘镜像文件会出现以下对话框,单击“确定”按钮关闭它以完成写入引导代码的操作。

好了,引导程序也成功的写入到引导扇区了,此时应该进入历史性的一刻了。

我们先建立一个虚拟机来测试我们之前编写的引导程序。

打开Microsoft Vitual PC 2007。如果此时还没有建立任何的虚拟机,会立即弹出“新建虚拟机向导”的欢迎窗口。

当然,如果已经存在虚拟机,也可以打开“文件”菜单,单击菜单中的“新建虚拟机向导”来打开上面的欢迎窗口。

选择“新建一台虚拟机”,单击“下一步”按钮。

在名称和位置下面的文本框中输入此虚拟机的名称,还可以单击“浏览”按钮以选择此虚拟机文件的存储位置,在这里输入“MeOS”为例,然后单击“下一步”按钮。

在操作系统类型中选择“其他”,单击“下一步”按钮。

新建默认的虚拟的内存大小为128MB,如果觉得不够就可以选择“更改分配内存大小”来设置此虚拟机的内存。在这里设置虚拟机的内存为256MB,然后单击“下一步”按钮。

在虚拟硬盘选项中,选择“新建虚拟硬盘”,单击“下一步”按钮。

在虚拟硬盘位置窗口中,在名称和位置下面的文本框中输入储存虚拟机硬盘目录和文件名称,在虚拟硬盘大小中输入数值,一般默认即可,单击“下一步”按钮。

最后,单击“完成”按钮就可以成功完成新建虚拟机的操作了。

这样,系统中就有一台可以运行的虚拟机了。选择它(这里是MeOS),然后单击“启动”按钮来运行它。

这就是虚拟机的启动界面,跟真实机器的启动相同吧。此时请打开“软驱”菜单,单击“载入虚拟软盘映像”命令以加载我们编写并制作的引导磁盘。

浏览并选择之前制作的磁盘镜像文件“boot.img”或者“boot.ima”,单击“打开”按钮以加载引导磁盘镜像文件。

虚拟系统将继续启动,如果系统启动失败后才加载引导磁盘镜像,将它复位就可以了。

激动人心的一刻开始了。看看虚拟系统的屏幕上显示的是什么?红色的“MSWIN4.1”!这就是我们自己的操作系统,虽然现在什么也做不了,但只要持之以恒,总有一刻可以让它旗帜飘扬!

到此,我们完成了自己的引导代码编写,并成功的让它运行了起来。其实操作系统也没有想像中的神秘,到底它也只是一段代码而已。在之后的文章中,将继续介绍加载系统核心、保护模式、任务切换、图形编程、中断处理等精彩纷呈的内容。

我的电脑我做主,我使用自己的操作系统!

附录1:如果需要使用3.5寸1.44MB高密软盘来测试引导系统,可以使用HDCOPY将制作好的磁盘镜像文件写入到磁盘中,用这张磁盘即可引导系统。同时,如果将这段简单的引导代码写入到硬盘的引导扇区中,也是可以启动系统的。

来源: http://blog.sina.com.cn/s/blog_626a27090100eupi.html

来自为知笔记(Wiz)

时间: 2024-08-12 00:52:29

【转载】FAT12格式的引导程序(2)的相关文章

【转载】FAT12格式的引导程序

FAT12格式的引导程序 在上一篇文章中详细介绍了FAT12格式的引导扇区数据结构,详情请浏览: 地址是:http://blog.sina.com.cn/s/blog_3edcf6b80100cr08.html 现在我们来编写一个简单的符合FAT12格式的引导程序,用它来领略一下程序的力量,并以此来敲开操作系统神秘的大门. 其实,只要是在0磁头0柱面1扇区中的指令能加载到7c00h处运行的程序,并且在扇区最后两字节分别是55和AA,就可以称为有效的引导扇区,能成功的引导系统,那么为什么还要大费周

标准FAT12格式软盘启动区介绍

DB 0xeb,0x4e,0x90 DB "xxx" ; 启动区的名称是任意的字符串,八个字节 DW 512 ; 每个扇区的大小(必须为512),占用2个字节 DB  1   ; 簇的大小(必须为一个扇区) DW 1 :FAT的起始位置 DB  2 ; FAT的个数 DW 224 ; 根目录的大小 DW 2880   ; 该磁盘的大小 DB  0xf0 ;磁盘的种类 DW 9 :FAT的长度 DW 18 ; 1个磁道有几个扇区 DW 2   ; 磁头数 DD 0 ; 不使用分区,必须是

转载-Webp格式用户Android客户端

原文地址: http://blog.csdn.net/shichaosong/article/details/8752828 Webp格式用户Android客户端 分类: Android基础2013-04-02 18:37 1232人阅读 评论(0) 收藏 举报 今天看淘宝Android客户端的leader分析他们做淘宝客户端的经验的时候,听到了这样一个东西:WEBP,是一种图片格式. 1.百度百科:http://baike.baidu.com/view/4447461.htm WebP (发音

【转载】FAT12文件系统之引导扇区结构

FAT12文件系统之引导扇区结构 文件系统即文件管理系统,是操作系统的重要组成部分之一,如果需要开发底层磁盘驱动或编写自己的操作系统,就必须详细了解文件系统. FAT12是Microsoft公司DOS操作系统所支持的文件系统之一,此外还有FAT16和FAT32,之后会分别详述这些文件系统.当软盘被标准格式化后,磁盘被格式化为:每磁头80个柱面(磁道),每个柱面有18个扇区,每个扇区有512字节空间.所以标准软盘的总空间(容量)为: 2*80*18*512=1474560B=1440K=1.44M

第十天、初识 FAT12

由于文件的大小不同和不停的增删操作,同一个文件的数据往往不能完整地存放在磁盘的一个连续的区域内,而会分成若干段,像一条链子一样存放,这种存储方式称为文件的链式存储.为了实现文件的链式存储,磁盘上必须准确地记录哪个文件占用了哪些扇区,哪些扇区还没有被占用等信息.用来记录磁盘中文件如何被分散存储在不同扇区的信息的表格就叫 FAT(File Allocation Table,文件分配表).可以采用多种办法记录文件占用存储单元的信息,FAT 表响应的也有很多种格式,3.5 英寸软盘采用的是 FAT12

各种操作系统

或许大部分人都知道Windows,可能相当一部分人知道Linux,甚至知道Linux和Windows的纷争.可是提到国内制作的操作系统时恐 怕就知之甚少了.能提起名字的,恐怕仅仅有中科院的红旗.国防科技大学的银河麒麟.可是,国人制作的操作系统就仅仅有这么几个商业化的或者科研计划的操作系统 么? 事实上远不是这样.在民间,已经有大量的操作系统人才在积蓄着自己的力量,已经有优秀的作品公布了出来,这里面既包含了Magic Linux.RelaxBSD这类比較成熟完好的系统,也包含了那些刚刚起步还仅仅有

汇编语言进阶和Makefile进阶---第二天

摘要: 原创博文:转载请标明出处:http://www.cnblogs.com/zxouxuewei 首先加载启动代码: ; hello-os ; TAB=4 ORG 0x7c00 ; 指明程序装载地址 ; 标准FAT12格式软盘专用的代码 Stand FAT12 format floppy code JMP entry ;程序跳转指令 DB 0xeb, 0x4e, 0x90 DB "HELLOIPL" ; 启动扇区名称(8字节) DW 512 ; 每个扇区(sector)大小(必须5

[自制简单操作系统] 1、从0-1到汇编再到c语言的奥秘

目录: 1.用0-1编写最简单的操作系统 2.用汇编改写上面0-1程序 2.1 只用DB的汇编改写版  2.2 加入RESB汇编的改写版  2.3 进一步使用汇编替换0-1文件  2.4 核心程序也用汇编改写  2.5 向汇编程序中加入IPL(启动程序装载器)  2.6 从启动区执行操作系统(读盘的应用) 3.汇编和C语言混合开发 3.1 32位开发及C语言混合开发引入 3.2 汇编引入C语言(用汇编写C语言函数)  3.3 C语言实现内存写入  3.4 C语言指针的强大  3.5 色号设定与调

android在设计界面 drawable,canvas,和Bitmap

一.drawable  图形对象,可以转载常用格式的图像,可能是(位图)Bitmapdrawable,或者shapedrawable(图形),还可能是多种其他图片格式GIF,PNG,JEPG 二.Bitmap 就是位图,用于图片的处理 三.Canvas 意为画布,就是绘画的目标区域,用来管理Bitmp或者path路径 下面就是讲到drawable转换成Bitmap的方法 我所知有两种方法(两种方法谁好谁坏,得看情况) (1)常见的一种方法就是创建个Bitmap出来,再用画布绑定这个位图,将dra