关于U盘启动操作系统《30天自制操作系统》

原本的启动是从img启动的,而且这个img是用FAT12文件系统进行格式化的(具体去搜索FAT12文件格式,这里给大家推荐一篇http://www.doc88.com/p-646605198560.html),那么也就是说我们的img文件符合FAT12文件系统的格式了,接下来我们用winhex这个软件来查看我们的img文件,同时比对FAT12文件系统的格式,看是否我们的img文件同FAT12文件系统描述的相同:



从上图中可以看到里面有一个haribotesys的目录项,那么我们看看我们的U盘里面是否存在这个文件


从上图可以看到U盘里面确实存在HARIBOTE.SYS这个文件,说明我们的U盘在利用fdisk来拷贝img文件的同时就已经被FAT12文件系统格式化了,那么也就是说window下我们的U盘的大小应该为1.44M了,虽然在window下我们的U盘显示的是1.44M(这个高级格式化的结果,高级格式化是将U盘格式化为特定的文件系统格式,我们的U盘被FAT12格式化了,那么window就会以FAT12文件系统定义的信息来计算大小),但是实际上我们的U盘还是4G的(这个是低级格式化的结果,4G的计算是根据U盘的head(磁头)、sector(扇区)、cylinder(柱面)来计算的,这个计算与文件系统无关)。



那么下面的目录信息是怎么写到img文件中的呢?这个就得去看看Makefile了,其实在Makefile中进行拷贝的时候主要做的工作是FAT12文件系统格式化(wbinimg src:ipl.bin len:512 from:0 to:0 ),这个时候img已经被FAT12文件系统格式化了,接下来的文件拷贝的操作就会自动的修改FAT的位图、目录等相关控制信息,然后接着是文件的拷贝(copy from:haribote.sys to:@:)这个过程其实就是一个简单的文件的拷贝过程,当然文件的拷贝过程自然会修改文件系统的相关控制信息了。



从上面的讲解,再结合前面我写的的文章——如何制作从U盘启动,可以总结出来,如果在开发过程中没有遇到启动扇区的修改(也就是说ipl.nas)的修改的话,那么可以将生成的haribote.sys直接的拷贝到U盘即可,都不用fdisk来进行拷贝了,这样是不是更加的省事了呢。


好了,今天的文章的内容就这么多了,接下来我会结合《30天自制操作系统》这本书和linux0.01的源代码来对操作系统进行分析。



阅读更多
想对作者说点什么? 我来说一句

30自制操作系统(PDF全)

2015年08月19日 52.13MB 下载

没有更多推荐了,返回首页

不良信息举报

关于U盘启动操作系统《30天自制操作系统》

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭