首先不推荐中大信科院自己的操作系统实验课,跟着老师学完,你只是windows里点点鼠标更熟练了。强烈推荐这份南大操作系统实验,我也正在看,欢迎交流@twitter(求粉哟) 实验依赖(ubuntu 12.04下)
sudo apt-get install nasm sudo apt-get install vim sudo apt-get instsall virtualbox
第一次用markdown,好不熟悉,这是第二段?
因为怕考试时候忘了命令,所以将这些记下来。
创建一个新的软盘
dd if=/dev/zero of=floppy.img bs=512 count=2880
512Bx2880是不是正好等于1.44MB,只要修改bs(block size),count参数,你可以创建任何格式大小的磁盘镜像文件。抛弃你的botchs创建空软盘的老土方法吧,linux提供你所需要的任何机制。
汇编编译及写引导扇区
asm -> bin sudo nasm boot.asm -o boot.bin bin -> img sudo dd if=boot.bin of=a.img bs=512 count=1 conv=notrunc
读出硬盘MBR
sudo dd if=/dev/sda of=~/MYBoot.dat bs=512 count=1
用vim取代winHex编辑16进制功能
vim -b floppy.img :%!xxd do some rewrite... :%!xxd -r :wq
往镜像文件添加文件
sudo mkdir -p /mnt/floppy sudo mount floppy.img /mnt/floppy sudo cp *.com /mnt/floppy sudo umount /mnt/floppy
反汇编
ndisasm -o 0x7c00 boot.bin >> boot.asm