您的位置:首页 > 其它

30天自制操作系统——用U盘启动自制系统

2014-02-28 14:52 204 查看
最近试读了《30天自制操作系统》的前两章,感觉很有意思。

但是发现里面写的系统都是用软盘启动的,现在在大多数电脑上已经看不见软驱了,所以如果想运行书中的操作系统只能通过qemu(随书光盘中已经附带)模拟运行。这样的话成就感就会少很多,感觉像是在做一个简单的控制台程序,相信大多数童鞋都希望能做出一个能在真机上运行,能秀出来的作品。那有没有方法通过U盘去启动书中“自制”的操作系统呢?我的思路就是通过利用U盘启动,然后虚拟软驱去启动img文件(软盘映像),这样原书的代码无需任何修改就可以“移植”到U盘上来,通过学习书中的内容,来定制自己的专属操作系统!

同样以下方法也适用于用U盘启动任何基于软驱的操作系统,例如MS-DOS。

需要以下4种的工具:

HPUSBFW

所用版本:HP优盘格式化工具HPUSBFW+2.20.exe

grubinst_gui

所用版本:grubinst-1.1-bin-w32-2008-01-01

grub4dos

所用版本:grub4dos-0.4.4-2009-01-11

Defraggler

所用版本:Defraggler_2.13.670

下载地址请自行百度

或者从此处下载,我已经把四个工具打包上传

点击打开链接

GRUB是一个多操作系统启动程序,我们利用这个工具来自制我们U盘启动盘,然后去启动对应的软驱映像文件。

1、使用HPUSBFW格式化U盘

注意:格式化U盘会造成U盘所有数据丢失!请备份好重要文件!

在设备一栏选择对应的U盘,千万不要选错!








文件系统就选择FAT32吧,勾选快速格式化,点击开始。





U盘所有数据将被清空,到此HPUSBFW的使命就结束了。

2、安装grub到U盘

解压grubinst-1.1-bin-w32-2008-01-01,运行grubinst_gui.exe





勾选如上图所示,注意磁盘的选择,选择的是你的U盘,由于选择的是磁盘,所以不显示盘符,如果你的电脑有多块硬盘或者插了多个U盘之类的,请注意区分!

点击安装





成功的话如上图所示。

然后解压grub4dos-0.4.4-2009-01-11,拷贝三个文件到U盘根目录





至此grub安装完毕!

3、配置grub

menu.lst是grub的配置文件,通过grub我们可以在开机的时候在多个操作系统中选择,现在我们需要配置menu.lst以启动自制的操作系统!

复制对应的img到U盘,此处以随书光盘下的projects\30_day\harib27f\haribote.img为例

如下图,复制到U盘根目录下





用文本编辑器打开menu.lst,可以看见一些示例配置,其中有一项示例就是启动img映像文件



下面修改menu.lst,我们不使用grub的选项功能,直接启动自制系统(menu.lst的更多配置可以自行百度)

map --mem (hd0,0)/haribote.img (fd0)

map --hook

chainloader (fd0)+1

rootnoverify (fd0)



红色的地方就是.img文件的路径

其实到这里已经差不多快完成了,但是grub启动img有一个小小的限制,就对应的映像文件的物理上必须连续,也就是说没有碎片,不过软盘的映像文件只有1.4MB大小,直接复制进去几乎不可能产生碎片!但是为了以防万一,我们还是要用磁盘整理工具防止.img文件有碎片,这里使用的磁盘整理工具是Defraggler,它可以针对某个文件整理,正好对应了我们的需求。顺带说一句,Defraggler是一款很优秀的磁盘整理工具,如果你忍受不了windows下自带的磁盘整理工具的速度的话,可以试试这个。

打开Defraggler,选择Action->Defrag File,选择U盘下对应的.img文件,点击OK即可



至此我们的自制系统的U盘启动盘就制作完成了!

grub功能很强大,通过配置可以启动各种操作系统,有兴趣的童鞋可以定制自己的U盘启动盘。

接下来就要真机运行一下,要在bios里把U盘设置为第一启动盘

进入bios并设置的方法每个主板都不太一样,请参阅自己机器主板的说明或百度。

如果你暂时不想重启你的电脑只是想试试你的U盘自制系统是否work,可以用VMware配置虚拟机测试,注意在创建虚拟机是要把虚拟机的硬盘配置成物理驱动,选择成制作好的U盘,配置下bios启动顺序即可。

show一下真机运行效果:



《30天自制操作系统》我只试读了前两章,还不知道这个系统怎么用(尴尬),只运行了下bball,好像是用线条画出一个球的图像示例程序。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: