问题描述
创建虚拟硬盘后,用
./bochs -f bochsrc.disk
命令运行bochs程序后出现
[HD ] ata0-0: could not open hard drive image file ‘hd60M.img’
解决方案
网上查询后得到几种说法
- bochs刚启动的时候提示不能打开文件,是因为有个镜像文件名加.lock的文件,删除即可
比如你的镜像文件为linglong.img, bochs的安装目录在/home/aoe/bochs/下面,在该目录下ls查看一下,会发现有一个linglong.img.lock文件,删掉之后,重新启动bochs即可。
- 启动bochs时载入配置文件错误,启动时使用完整的bochs -f bochsrc 就OK了
这种情况也可以通过修改配置文件完成
在用bximage程序创建磁盘文件成功后会有一行(图中最后一行),加到配置文件即可
megs : 512
romimage: file=/home/cooiboi/bochs/share/bochs/BIOS-bochs-latest
vgaromimage: file=/home/cooiboi/bochs/share/bochs/VGABIOS-lgpl-latest
boot: disk
log: bochs.out
mouse:enabled=0
keyboard:keymap=/home/cooiboi/bochs/share/bochs/keymaps/x11-pc-us.map
ata0:enabled=1,ioaddr1=0x1f0,ioaddr2=0x3f0,irq=14
#新加入的代码
ata0-master: type=disk, path="hd60M.img", mode=flat,cylinders=121,heads=16,spt=63
#gdbstub:enabled=1,port=1234,text_base=0,data_base=0,bss_base=0
但不幸的是我的问题好像没有这么复杂,最后才想到可能是权限问题,在报错指令前加个sudo
就好了 -f后面是我配置文件的名称
sudo ./bochs -f bochsrc.disk
后,回车,输入c继续
成功