无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 2779|回复: 2
打印 上一主题 下一主题

[已解决] 问个(md)内存盘的问题

[复制链接]
跳转到指定楼层
1#
发表于 2011-8-24 09:22:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
资料上说(md)的磁盘号是0xFFFF(两字节) ,并说给(rd)改磁盘号时要避免和(md)相撞!

If (rd) is a hard drive image, you should change the drive number to a value greater than or equal to 0x80(but should avoid using 0xffff,because 0xffff is for the (md) device). ---------摘自README_GRUB4DOS

而在int13中断调用中磁盘号是1字节长,放在DL中

是不是读取(md)时不使用int13调用?
是使用了int15吗?
0xFFFF是什么含义?

请高手指教!!

[ 本帖最后由 2011qf020124 于 2011-8-25 19:48 编辑 ]
2#
发表于 2011-8-24 13:59:51 | 只看该作者
像 (rd) 和 (md) 这样的盘,都是 grub4dos 的盘。它不是 BIOS 的盘。既然不是 BIOS 的盘,就不需要用 int13 去访问它(也不需要别的 INT 调用,例如 int15)。它们都是内存盘,在 grub 内部直接用 CPU 指令就可以访问这些盘的内容了。

grub4dos 的盘号用 4 字节的整数来表示。这涵盖了 BIOS 的单字节盘号。

当初把 (rd) 的盘号也设置在了单字节的范围,这其实不太好。也许有朝一日会把它改成两字节的某个值(或者某个变动范围)。目前 (rd) 默认时是 0x7F,为软盘。也可以(根据你的需要)用 map --ram-drive=N 命令更改成位于 0x80 - 0xFE 中的某个硬盘号码。至于说更改成超过单字节范围的值是否可行,那得试验了以后才知道,希望有人试试。

0xFFFF 没什么含义,它只是被选用作为 (md) 的盘号而已。
回复

使用道具 举报

3#
发表于 2011-8-24 14:15:51 | 只看该作者
目前g4d只允许N:0~254 即0~0xfe
不然会提示错误:Error:56,Invalid ram_drive....
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-30 18:34

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表