日期:2014-05-16  浏览次数:20980 次

保护模式运行环境freedos问题~!!!!
1,将附件中freedos-img.tar.gz解压后,将其中a.img改名为freedos.img,放入要运行的文件夹中

2,制作软盘b(对应镜像文件pm.img) 放入运行文件夹中[a.img] pm.img

3,修改文件夹中的bochsrc:
floppya: 1_44=freedos.img, status=inserted -->这个镜像为启动盘,启动dos
floppyb: 1_44=pm.img, status=inserted -->这个镜像中有我们要运行的*.com文件
boot:a

4,启动bochs,运行freedos,格式化新建的b盘(对应镜像文件pm.img)

5,把汇编得到的pmtest1b.com文件复制到:
[root@sam1 bootscript_sam]# sudo mount -o loop ../pm.img /mnt/floppy 
[root@sam1 bootscript_sam]# sudo cp pmtest1b.com /mnt/floppy/
[root@sam1 bootscript_sam]# sudo umount /mnt/floppy/

6、然后在freedos中执行pmtest1b.com
A:\> B:
B:\> pmtest1b.com


为什么到最后一步时说bad command or file name,还有为什么要执行umount命令?这样不就又删掉复制进去的文件了么?

------解决方案--------------------
你是要在fredos里面执行 *.com文件? 不懂你在干嘛,有个方法很简单,就是将 com文件直接写到fredos.img 里面去,这样就万无一失,具体怎么写你知道吧?我就不说了
------解决方案--------------------
有两个方法写,一个是用dd命令,一个是mount 之后cp 进去,明白了么?像这样
mkdir /mnt/flp (建一个目录,挂载点)
sudo mount loop -o fredos.img /mnt/flp
sudo cp *.com /mnt/flp
sudo umount /mnt/flp

然后用fredos作为img启动,你在里面dir 就可以看到你刚刚cp进去的com文件。
dd命令是用来写绝对扇区用的,类似diskcp,就是硬拷贝,但是前提是你得明白文件格局(fs)是怎么样的,我就不多说了。。。