Bochs与Windows交换文件的解决方案:

工具:Bochs、WinImage、Notepad++
环境:Windows,Bochs中运行的是Linux 0.11
步骤:
  1. 使用bximage.exe创建一个镜像,然后复制到Linux 0.11所在的目录下(我用的是diskb.img):
    bximage

  2. 然后,修改``bochsrc.bxrc`(建议使用Notepad++):

    romimage: file=$BXSHARE/BIOS-bochs-latest
    megs: 16
    vgaromimage: file=$BXSHARE/VGABIOS-lgpl-latest
    floppya: 1_44="bootimage-0.11", status=inserted
    floppyb: 1_44="diskb.img", status=inserted
    ata0-master: type=disk, path="hdc-0.11.img", mode=flat, cylinders=410, heads=16, spt=38
    boot: floppy
    log: bochslog.txt
    

    将第五行中的floppyb: 1_44=“你刚才用步骤一创建的img文件名”,其他不用改。

  3. 修改好后,双击bochsrc.bxrc,进入系统后,执行如下:

    [usr/root]# mdir a:      #一定要先执行这个,否则会出现好多"Reset-floppy called"
    [usr/root]# mdir b:
    

挂在软盘b
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hm2CoiGQ-1570524279751)(C:/Users/Futur/Desktop/exp8/images/floppyb.png)]
未执行mdir a:而直接执行mdir b:的运行结果:
直接执行mdir b:的运行结果

  1. 现在先安装WinImage(官网有下)了,安装好后,用它打开你创建的img文件(先关闭Bochs):
    用WinImage打开diskb.img

    里面是空的,下面将Windows本地的文件写进去:
    使用WinImage写入文件

  2. ok,我写入了三个文件:
    写入三个文件

现在,将这三个文件复制到当前文件夹中mcopy b:文件名 目的路径

[/usr/root]# mkdir kernel     # 创建一个文件夹
[/usr/root]# cd kernel        #进入kernel文件夹
[/usr/root/kernel]# mcopy b:makefile .     #将b盘中的makefile复制到当前文件夹下

vi下看一下makefile,好像多了好多^M
makefile多了好多^M

  1. 好吧,我坑你了,哈哈,sorry。用Notepad++解决问题:
    Notepad++解决编码问题
    嗯,现在可以了。

  2. 如果要将img中的文件导出,在WinImage中打开img文件后,右键点击Extrat

P.S.

  • 如果vi出现xxxx busy xxxx的:rm /temp/*
  • 以上打开img文件都要关闭Bochs。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值