Bochs模拟器教程
+ -

Bochs ATA设备ata

2019-09-09 24 0

ata0, ata1, ata2, ata3

这些选项支持多达4个ata通道。对于每个通道,必须指定两个基本io地址和irq。默认情况下启用ata0和ata1,其值如下所示。

实例

ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14
ata1: enabled=1, ioaddr1=0x170, ioaddr2=0x370, irq=15
ata2: enabled=1, ioaddr1=0x1e8, ioaddr2=0x3e0, irq=11
ata3: enabled=1, ioaddr1=0x168, ioaddr2=0x360, irq=9

ata0-master, ata0-slave, ata1-*, ata2-*, ata3-*

ata0-master, ata0-slave, ata1-*, ata2-*, ata3-* 定义了所有连接的ata设备特性。

选项 说明
type 设备类型 [disk | cdrom]
path image路径
mode image 类型, 仅磁盘有效 [flat | concat | external | dll | sparse | vmware3 | vmware4 | undoable | growing | volatile | vpc | vbox | vvfat ]
cylinders only valid for disks
heads 仅适用于磁盘
spt 仅适用于磁盘
status 仅仅适用于cdroms [inserted | ejected]
biosdetect 侦测类型 [auto | cmos | none]
translation BIOS完成的转换类型(旧版int13),仅适用于磁盘 [none | lba | large | rechs | auto]
model identify device ATA命令返回的字符串
journal 可撤消、易失性和vvfat磁盘的重做日志的可选文件名

必须指定连接设备的类型。对于Bochs 2.0或更高版本,它可以是磁盘或cdrom。

必须将“路径”指向硬盘映像文件、cdrom iso文件或物理cdrom设备。要创建硬盘映像,请尝试运行bximage。

在Unix中,可以将原始设备用作Bochs硬盘,但出于安全原因,我们不建议使用它。在Windows中,没有简单的方法。

如果CHS设置为0/0/0(柱面是使用heads=16和spt=63计算的),磁盘几何自动检测将使用bximage创建的图像。对于其他硬盘映像和模式,必须使用柱面、磁头和spt。在所有情况下,从映像报告的磁盘大小必须正好是C*H*S*512。来自其他项目的平面硬盘映像可能会在文件末尾存储其他信息,从而导致此检查失败。只有在这种情况下,当Bochs恐慌时,才可以安全地选择“继续”。

磁盘转换方案(在旧版int13 BIOS函数中实现,由较旧的操作系统(如MS-DOS)使用)可以定义为:

  • none:无转换,对于高达528MB的磁盘(1032192个扇区)
  • large:一种标准的位移算法,适用于高达4.2GB的磁盘(8257536扇区)
  • lba:一种标准的lba辅助算法,适用于高达8.4GB的磁盘(16450560个扇区)
  • auto:自动选择最佳翻译方案。(如果系统无法启动,则应更改)

mode选项定义如何处理磁盘映像。磁盘可以定义为:

  • flat:单文件平面布局
  • concat:多文件布局
  • external :开发人员的特定,通过C++类
  • dll:特定于开发人员的,通过dll
  • sparse :可堆叠、可提交、可回滚
  • vmware3:vmware版本3磁盘支持
  • vmware4:vmware版本4磁盘支持(又称VMDK)
  • sparse :具有可提交重做日志的只读基文件
  • growing :增长文件
  • volatile:具有volatile redog的只读基文件
  • vpc:固定/动态大小的虚拟PC映像
  • vbox:fixed/dynamic size Oracle(tm)VM VirtualBox映像(VDI版本1.1)
  • vvfat:本地目录显示为VFAT磁盘(具有易失性redog/可选提交)

默认值

 mode=flat, biosdetect=auto, translation=auto, model="Generic 1234"

实例

ata0-master: type=disk, path=10M.img, mode=flat, cylinders=306, heads=4, spt=17, translation=none
ata1-master: type=disk, path=2GB.cow, mode=vmware3, cylinders=5242, heads=16, spt=50, translation=echs
ata1-slave:  type=disk, path=3GB.img, mode=sparse, cylinders=6541, heads=16, spt=63, translation=auto
ata2-master: type=disk, path=7GB.img, mode=undoable, cylinders=14563, heads=16, spt=63, translation=lba
ata2-slave:  type=cdrom, path=iso.sample, status=inserted

0 篇笔记 写笔记

Bochs ATA设备ata
ata0, ata1, ata2, ata3这些选项支持多达4个ata通道。对于每个通道,必须指定两个基本io地址和irq。默认情况下启用ata0和ata1,其值如下所示。实例ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14ata1: ena......
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

您的支持,是我们前进的动力!