您的位置:首页 > 其它

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

2015-07-09 18:51 323 查看
原本的启动是从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的源代码来对操作系统进行分析。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: