一个操作系统的实现--freedos中edit问题
来源:互联网 发布:ubuntu软件更新器 编辑:程序博客网 时间:2024/06/06 04:01
freedos中edit问题
在于渊的一个操作系统的实现第二版中,第四章开始那里写到:假设是x.img,然后把它作为FreeDos的B盘,格式化后就可以方便的往其中添加文件了和目录了(比如使用FreeDos里面的edit.exe),可是在FreeDos里面我找不到edit.exe啊。
不过,格式化B盘也就是x.img那里我也卡了好一会,然后发现就把之前的第三单元的pmtest2.asm和其配套的文件按照之前的做法启动bochs,然后参照我之前的保护模式的操作就可以格式化B盘也就是x.img了。
然后我在网上找到采用linux上mount虚拟软盘x.img,然后写入该虚拟软盘的方法。但写入文件后,使用xxd命令检查虚拟软盘x.img,发现和OrangS上描述的信息不一样,然后我想应该是通过这个方法进行文件的写入应该可能是随机的吧,然后我就继续寻找方法了。
可是啊,freedos的edit.exe我还是不会操作。
最后的最后,终于找到了方法,可以说是在百度/同学的帮助的帮助下再加上自己操作完成的,毕竟自己是小白。
首先,我之前在第三章的时候写到过,需要下载一个freedos的压缩包,并使用linux指令解压,在解压后的文件夹里面,有a.img,b.img,c.img和bochsrc配置文件。打开bochsrc配置文件,模仿其内容,将我们自己之前的bochsrc配置文件进行修改,使得bochs把c.img作为启动盘,此时是以硬盘c.img启动。
//原来edit操作被封装在了c.img虚拟硬盘中。而a.img也就是freedos.img并没有edit操作。
然后,在使用terminal的时候,启动bochs。如果是以调试模式进行启动的话,启动后直接按c,回车,bochs把c.img作为启动硬盘启动。然后输入edit,回车,成功进入edit界面!!!
然而,这并不是结束,我探索了好一会,才了解到怎么向B盘也就是x.img写入文件和目录等操作。
你需要知道,edit界面使不能使用鼠标的,然后我们需要使用Alt键和左右键进行工具栏切换,在File工具栏,有Dos选择,按进去,在那个Dos界面进行文件操作,创建文件和目录,最后才会保存到x.img中,输入exit回车可以退回蓝色界面,创建文件和目录等操作成功后可以回到蓝色界面继续操作,可以向文件里面增删查改内容。
最后,你还需要了解这些知识。
在蓝色界面进入的dos界面和windows的指令格式一致,不过好像只能进行它提供的指令功能,我们这里需要了解的知识如下。
dir指令:查看当前目录有的文件与目录
cd指令:cd.. 回退到上一级目录;cd 回退到根目录;cd 文件夹名 进入某文件夹
md指令(md 目录名):创建特定文件夹
rd指令(rd 目录名):删除特定文件夹
echo指令(echo TXT文件内容>>文件名.txt):创建特定文件
del指令(del 文本文件名包括后缀):删除特定文件
cls指令:清屏
-------------------------------------
假设是x.img,然后把它作为FreeDos的B盘,格式化后就可以方便的往其中添加文件了和目录了(比如使用FreeDos里面的edit.exe),可是FreeDos里有edit.exe吗?呵呵,找了好久没有找到。google了半天,也没找到有用的信息。
没办法,采用linux上mount虚拟软盘x.img,然后写入该虚拟软盘的方法。但写入文件后,使用xdd命令检查虚拟软盘x.img,发现和OrangS上描述的信息不一样啊,估计是Linux上的文件写格式和FreeDos上的不一致。这下可是没法继续了。于是,又回头看FreeDos。
后来看了看从Bochs网站上面下载的freedos-img.tar.gz,其中有Bochs配置文件,该文件使用c.img作为Bochs启动盘,c.img明显比OrangS所提的a.img大好多,猜测可能c.img上可能有edit.exe,于是尝试了一下,果然有。
最后综合说一下FreeDos+edit.exe问题的解决过程:
1、使用bximage命令生成x.img文件
2、参照freedos-img.tar.gz里的Bochs配置文件,修改试验用的Bochs配置文件,使Bochs从c.img启动
3、格式化x.img对应的虚拟软盘
4、使用edit.exe编辑文件
-------------------------------------
完美搞定!
- 一个操作系统的实现--freedos中edit问题
- 一个操作系统的实现中关于64位和32位的问题
- 一个操作系统的实现--内存管理中32位和64位的问题
- 《orange's:一个操作系统的实现》学习过程中问题的解决(持续更新)
- 一个操作系统的实现
- ucos中edit的WM_NOTIFY_CHILD_HAS_FOCUS问题
- MFC Edit Control 中 换行的问题
- Orange's 一个操作系统的实现--Bochs遇到的问题
- 一个操作系统的实现:第三章 保护模式 调试问题
- 自己动手写操作系统--搭建保护模式下的运行环境:bochs下安装freedos
- 自己动手写操作系统--搭建保护模式下的运行环境:bochs下安装freedos
- 关于一个操作系统实现中bochs的安装
- 一个操作系统的实现读书笔记
- 一个操作系统的实现入门
- 一个操作系统的实现笔记
- 一个操作系统的实现01
- 初见《一个操作系统的实现》
- 《一个操作系统的实现》:准备工作
- C++ 重载、重写、重定义
- 监督学习应用-梯度下降
- KMP算法入门理解<一>:
- 关于pthread里面一些函数的使用心得!
- Java基本语法-----java常量
- 一个操作系统的实现--freedos中edit问题
- 《转》【笔记1】关于联想g470更换intel5300网卡的问题
- poj Dropping tests
- 《转》【笔记2】关于Linux 802.11n csi tool的安装注意事项
- C++ Socket 发送 http post请求
- HDOJ-----5053立方和公式
- 解决httpclient超时设置不生效的问题
- EXTJS4.0.7开发积累(6)
- 内容提供器 Content Provider (一)