学习 <<一个操作系统的实现>>也有一段时间了,但是一直没有动手真正地实践过。今天终于下定决心来玩一下,根据书中的例子做一个自己的操作系统,并启动进入该系统。准备工作就是一个Ubuntu系统且按照书上要求安装了相应的软件,另外就是一个普通U盘。
具体步骤如下:
1>编译“操作系统”
#nasm boot.asm -o boot.bin
运行上面命令后,你会在在当前目录下看到生成boot.bin文件
2>通过如下命令根据输出结果找到你的U盘的对应设备文件
#sudo fdisk -l
我这里找到的U盘对应的设备文件为/dev/sdb1
3>将512字节的boot.bin写入U盘的第一个扇区
# sudo dd if=./boot.bin of=/dev/sdb1 bs=512 count=1
bs即块的大小(以byte为单位), count即一共要写入多少个块的内容到U盘第一扇区
4>重启电脑,指定从U盘启动,你将看到如下激动人心的红色文字:
Hello, OS world!
怎么样,此时的心情是很激动吧?反正我是有一点了, ^_^。
PS:
将boot.bin写入U盘后,此U盘就不能被正常使用了。我的修复办法是切换到Windows系统下,插入U盘然后右键格式化掉就可以正常使用了。