打造操作系统(1.4)将引导扇区写入U盘
2014-06-26 12:50
447 查看
之前说到如何将引导扇区文件写入到软盘镜像中,然后,我们可以用写好的软盘启动电脑。但是,也许你会抱怨,现在谁还用软盘启动电脑啊。是的,没有,笔者当初也这么抱怨过。不过,我们肯定是有办法不用软盘的。比如,U盘。
前面说到,只要将符合要求的数据写到软盘的第一个扇区,那么它就能用来启动计算机了。同样,如果我们将刚刚生成的引导扇区文件写入到U盘的第一个扇区,同样也可以制作一个引导U盘。
不多说,我们直接进入正题吧,如何将文件写道U盘的第一个扇区。
请读者在尝试之前备份U盘中的数据,因为在我们写入引导扇区之后,U盘数据会被破坏(有两个解决方案,一时备份U盘数据,二是备份U盘的第一个扇区,事后将第一个扇区还原即可)。
刚才说到,将引导扇区数据写入到U盘第一个扇区就行了。
那么,我们的代码比较简单,读者参考“打造操作系统1.3”的代码,稍作修改即可。
在这里笔者直接贴上关键代码了。
细心的读者肯定会注意到,其实1.3中的代码已经具备这样的功能了。就是将floppywriter的第二个参数换成目标驱动器的对应表示就行了。比如 floppywriter boot.bin \\.\H:即可完成。
不过,这里存在一些问题,我们贸然的将引导扇区写入到U盘中,会破坏U盘中的数据。如何解决?笔者前面已经提示,备份。当然也有更好的方法,笔者将在之后的讨论。
谢谢。
前面说到,只要将符合要求的数据写到软盘的第一个扇区,那么它就能用来启动计算机了。同样,如果我们将刚刚生成的引导扇区文件写入到U盘的第一个扇区,同样也可以制作一个引导U盘。
不多说,我们直接进入正题吧,如何将文件写道U盘的第一个扇区。
请读者在尝试之前备份U盘中的数据,因为在我们写入引导扇区之后,U盘数据会被破坏(有两个解决方案,一时备份U盘数据,二是备份U盘的第一个扇区,事后将第一个扇区还原即可)。
刚才说到,将引导扇区数据写入到U盘第一个扇区就行了。
那么,我们的代码比较简单,读者参考“打造操作系统1.3”的代码,稍作修改即可。
在这里笔者直接贴上关键代码了。
hDrive = CreateFile( "\\\\.\\H:", GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
细心的读者肯定会注意到,其实1.3中的代码已经具备这样的功能了。就是将floppywriter的第二个参数换成目标驱动器的对应表示就行了。比如 floppywriter boot.bin \\.\H:即可完成。
不过,这里存在一些问题,我们贸然的将引导扇区写入到U盘中,会破坏U盘中的数据。如何解决?笔者前面已经提示,备份。当然也有更好的方法,笔者将在之后的讨论。
谢谢。
相关文章推荐
- 把自己的操作系统写入U盘(FAT32)引导扇区
- 打造操作系统(1.3)如何写入引导扇区
- 自己动手写操作系统——(1)将引导写入U盘
- 打造操作系统(1.1)引导扇区
- 打造操作系统(1.2)引导扇区中的疑问
- 小白笔记-----------------------------关于使用UltraISO写入硬盘硬盘镜像...便捷启动...写入新的引导扇区...设备正忙的失败处理
- 操作系统1——引导扇区的理解
- 操作系统:使用AT&T实现引导扇区
- 1.1_30天自制操作系统笔记_第一天_引导扇区
- 读书笔记:Orange's 一个操作系统的实现(1) - 实验环境搭建和引导扇区的编写
- 写入MBR的直接GRUB引导U盘启动DOS和PE实战
- U盘写入镜像安装Ubuntu_打造Win7、XP、Ubuntu独立三系统
- 自制操作系统:引导扇区的实现
- 利用bochs完成《orange's一个人的操作系统》引导扇区的实验
- 自己动手写操作系统 将引导程序成功写入优盘启动电脑
- 从引导扇区到内核——操作系统雏形形成过程的总结
- 操作系统:使用AT&T实现引导扇区
- 安装CentOS时误将将引导项写入U盘后的修复
- 用U盘引导,安装Ubuntu Linux操作系统!扔掉光盘吧!也省得刻碟了
- 操作系统:实现引导扇区