ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

使用vmware+dos加载软驱内的自制操作系统

2022-06-17 15:00:49  阅读:181  来源: 互联网

标签:文件 操作系统 虚拟机 点击 vmware 软盘 dos com 软驱


在orange's一个操作系统的实现里面用dos加载了自己的boot.com文件来拉起自己的操作系统。原书中是使用bochs来加载的,但是我一般经常用的是vmware,在这里记录一下方法。

 

1.首先创建一个虚拟机

 

 选择典型

 

 稍后安装操作系统

 

 操作系统和版本都选择其他

 

 

 名字和虚拟机路径随意

 

 最大磁盘大小不用给太多,因为测试用的自制操作系统也暂时没那么大。下面储存为单个文件或是多个文件均可

 

 最后点击完成,虚拟机就创建完毕了

2.安装ms-dos

现在打开这个虚拟机的话,会显示operating system not found,这是显然的因为咱们没还没给这个虚拟机安装操作系统。

正如前面所说的,正常的引导区只有512字节,所以咱们现在要安装msdos来靠这个操作系统来运行我们的操作系统

首先下载一个ms-dos的安装光盘镜像,这个上网搜一下msdos光盘镜像就会有网站下载,文件结尾应当是一个.iso的文件

之后,在这个页面:

 

 点击CD/DVD(IDE)

 

 点击选中右边的使用ISO映像文件,并浏览设置文件路径为你刚刚下载的光盘映像的文件路径,并点击最下面的确定

 

 再次开启虚拟机,看到如下页面,输入1并enter开始安装ms-dos

 

 一路yes/continue,来到这个页面,点击create a fat32/16/12 primary partition,之后点击出现的reboot now

reboot完成之后会出现invalid system disk,这是正常现象。原因是咱们现在默认是从硬盘启动的,但是咱们要从光盘启动,只要将启动方式改变为从光盘启动就行了,只需要如下操作:

 

 找到打开电源时进入固件,点击并重新开机

 

 来到Boot页面,并将CD-Rom drive 移动到最上方。shift+可以向上移动一项

Fn + F10save and exit,并按enter选中yes确定退出

 

 再次选中安装msdos,一路next/continue/Yes直到遇到下面选项

 

 这里选择No,只要是关于add-on的全部选择No就行

 

 这里需要选择dont load,否则会导致unrecoverable privilaged operation error,如果这里一不小心点错了最后我会告诉你怎么补救

后面又是一堆Next/OK, 还会有一个选项点击Load both即可

 

 关闭虚拟机,再次来到这个页面,取消勾选右上角的启动时连接,否则每次开机都会试图重新安装msdos

 

 再次开机,正常情况下你应该能看到这个页面了,说明msdos安装完成

3.加载软盘

 

 点击左侧编辑虚拟机设置来到这个页面,点击下方的添加

 

选择软盘驱动器,点击完成

 

 

 按照orange's 一个操作系统的实现书中的做法,应该可以得到一个pm.img软盘映像文件,这个文件中应当有你的操作系统,类似boot.com文件这样的东西。这个软盘映像文件可以是你在其他地方,如用bximage创建出来的,也可以点击创建用vmware创建一个软盘映像文件。在这里把路径选择为.img软盘映像文件的路径。注意要取消勾选启动时连接,因为系统检测到软盘的话会试图从软盘中找操作系统,但是咱们的软盘里现在不是一个完整的操作系统,只是一个com二进制文件。

 

 打开虚拟机,在进入msdos系统后打开虚拟机设置,设备状态勾选上已连接,这样的话就相当于有个软盘连接上了虚拟机

 

 输入A:可以切换到A盘符也就是我这边的软盘,dir查看软盘中的内容,发现了我的boot.com文件

 

 boot.com执行结果,一切正常!

 

附录:

unrecoverable privilaged operation error的解决办法

如果你运行boot.com发现出现了上述错误,说明你安装了ems386,请参考这篇博客解决:

(40条消息) 自己动手写操作系统--几个问题_robbie1314的博客-CSDN博客

 

标签:文件,操作系统,虚拟机,点击,vmware,软盘,dos,com,软驱
来源: https://www.cnblogs.com/player-unknow/p/16385737.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有