|
不点
银牌会员
     不甘寂寞的人
积分 2491
发帖 1115
注册 2003-9-24
状态 离线
|
『楼 主』:
2007-11-18 开始支持用 ISO 仿真 CDROM,请测试
使用 LLM 解释/回答一下
下载地址: http://grub4dos.jot.com/
2007-11-18 有以下进展:
1. 支持 ISO 的仿真。无论是 no-emulation 可启动模式,还是 floppy or hard disk emulation 可启动模式的 ISO 文件,都支持。用法示例:
map (hd0,0)/myiso.iso (hd32)
map --hook
chainloader (hd32)
boot
说明,(hd32) 就等于 (128 + 32),也就是 (0xA0),当用 map 仿真时,如果用户指定的磁盘号码大于或者等于 0xA0,那么 map 命令就认定这是 ISO 仿真。也就是说,此时虚拟磁盘的扇区大小是 2048 字节(只有这样才能作为光盘使用,这是“可启动光盘规范”所规定的),而不是通常软盘和硬盘中的 512 字节扇区大小。
2. 在真实光盘启动方面(通常是在运行 cdrom --init 之后),也支持了真实的“仿真软盘”和“仿真硬盘”格式的光盘盘片的启动。 注:先前的版本只支持 no-emulation 格式的真实光盘盘片的启动。
请测试并报告所有可能出现的问题。
Download address: http://grub4dos.jot.com/
There were the following developments on 2007-11-18:
1. Support for ISO emulation. Both ISO files in no-emulation bootable mode and those in floppy or hard disk emulation bootable mode are supported. Usage example:
map (hd0,0)/myiso.iso (hd32)
map --hook
chainloader (hd32)
boot
Explanation: (hd32) is equal to (128 + 32), which is (0xA0). When using map emulation, if the user specifies a disk number greater than or equal to 0xA0, the map command recognizes this as ISO emulation. That is, the sector size of the virtual disk at this time is 2048 bytes (only in this way can it be used as a CD, which is stipulated by the "bootable CD specification"), instead of the usual 512-byte sector size in floppy disks and hard disks.
2. For real CD-ROM boot (usually after running cdrom --init), it also supports booting from real "emulated floppy disk" and "emulated hard disk" format CD-ROM discs. Note: The previous version only supported booting from real CD-ROM discs in no-emulation format.
Please test and report all possible problems.
|

因为我们亲手创建,这个世界更加美丽。 |
|
2007-11-18 18:53 |
|
|
lenovolenovo2
新手上路

积分 9
发帖 5
注册 2005-10-11
状态 离线
|
|
2007-11-18 19:34 |
|
|
bc12060101
银牌会员
    
积分 1455
发帖 712
注册 2006-1-20
状态 离线
|
『第 3 楼』:
使用 LLM 解释/回答一下
报告:
偶的硬件配置:
主板名称 Gigabyte GA-K8NE
磁盘驱动器 - ST3160215A (149 GB)
引导软盘镜像正常。
引导 深山红叶的v22版光盘镜像以及软盘引导模式的光盘镜像 失败!
提示:
map (hd0,0)/myiso.iso (hd32)
Error 60 : File for drive emulation must be in one contiguous disk area
Press any key to continue...
Last edited by bc12060101 on 2007-11-18 at 09:04 PM ]
Report:
My hardware configuration:
Motherboard name Gigabyte GA-K8NE
Disk drive - ST3160215A (149 GB)
Bootable floppy disk image is normal.
Booting Deep Mountain Red Leaf's v22 version CD image and CD image in floppy boot mode fails!
Prompt:
map (hd0,0)/myiso.iso (hd32)
Error 60 : File for drive emulation must be in one contiguous disk area
Press any key to continue...
Last edited by bc12060101 on 2007-11-18 at 09:04 PM ]
|
|
2007-11-18 20:57 |
|
|
不点
银牌会员
     不甘寂寞的人
积分 2491
发帖 1115
注册 2003-9-24
状态 离线
|
『第 4 楼』:
使用 LLM 解释/回答一下
这个不算失败。因为不带 --mem 的仿真总是要求文件是连续的。有一个叫做 contig 的工具,可以用来整理磁盘文件,把碎块合并成一个连续的扇区序列。整理之后你就可以正常使用了。
如果机器内存很富裕,你可以用下面这个来代替:
map --mem (hd0,0)/myiso.iso (hd32)
这样就不会在连续性问题上报错了。
This is not a failure. Because the emulation without --mem always requires the file to be contiguous. There is a tool called contig that can be used to organize disk files and merge fragments into a continuous sector sequence. After organizing, you can use it normally.
If the machine has ample memory, you can use the following instead:
map --mem (hd0,0)/myiso.iso (hd32)
In this way, there will be no error reported on the continuity issue.
|

因为我们亲手创建,这个世界更加美丽。 |
|
2007-11-18 21:44 |
|
|
Fphn
新手上路

积分 18
发帖 9
注册 2007-11-1
状态 离线
|
『第 5 楼』:
使用 LLM 解释/回答一下
前几天还在想要是grub 能仿真cd-rom就好了,没想到真的实现了。值得测试
A few days ago I was still thinking that if only grub could simulate a CD-ROM, but unexpectedly it has really been implemented. Worth testing
|
|
2007-11-18 22:11 |
|
|
bc12060101
银牌会员
    
积分 1455
发帖 712
注册 2006-1-20
状态 离线
|
『第 6 楼』:
使用 LLM 解释/回答一下
按照不点兄指引,采用 map --mem (hd0,0)/myiso.iso (hd32) 重新配置菜单后已能够通过光盘镜像引导进入。
我的光盘镜像是采用easyboot制作的集深山红叶工具盘(V22)、精简XP安装版以及部分dos工具(软盘镜像)于一身的工具光盘。采用grub引导进入光盘引导菜单后,能够引导进入dos工具箱并正常使用之;但当从红叶工具盘或xp安装盘菜单引导进入后,均出现蓝屏状。具体表现在进入windows滚动条或xp安装程序的硬盘检测之后就出现蓝屏。
我的电脑内存为768M。
According to the guidance of Brother Budian, after reconfiguring the menu with map --mem (hd0,0)/myiso.iso (hd32), it can boot into the system through the CD image.
My CD image is a tool CD that uses easyboot to make a set of Shenshan Hongye tool disk (V22), a streamlined XP installation version, and some DOS tools (floppy disk images). After booting into the CD boot menu with grub, it can boot into the DOS toolbox and use it normally; but when booting from the Hongye tool disk or XP installation disk menu, a blue screen appears. It is specifically manifested that a blue screen appears after entering the Windows scroll bar or the hard disk detection of the XP installation program.
My computer has 768M of memory.
|
|
2007-11-18 22:25 |
|
|
lbbzhwch
初级用户
 
积分 37
发帖 14
注册 2007-11-10 来自 地球
状态 离线
|
『第 7 楼』:
测试不成功!
使用 LLM 解释/回答一下
我用新版引导了一个用GNU GRUB引导的LINUX光盘镜像,无法引导,死机!而且以前版能引导ISOLINUX.BIN,现在也不能用了,郁闷…………
I used the new version to boot a Linux CD image booted by GNU GRUB, but it couldn't boot and froze! Also, the previous version could boot ISOLINUX.BIN, but now it doesn't work either. So depressed……
|
|
2007-11-18 22:26 |
|
|
citydream
初级用户
 
积分 37
发帖 17
注册 2007-11-1
状态 离线
|
『第 8 楼』:
使用 LLM 解释/回答一下
VM测试不用--mem出错代码60,以下均为使用--mem测试:
毛桃911PE(maotao_BootCD_070911.ISO)、小易PE(PE20070728.iso)、Ashram_PE_Zero.iso(带空格时错误代码11,用下划线代替)成功。
最帅的reboot(REBOOT.ISO)、RecoveryWare(mkrec.iso)失败,错误代码25:disk read error。
加载GEEXBOX镜像VM出错:“虚拟机内核堆栈故障(硬件重置)”。加载DSL镜像vm出错:“内部监视器错误”。
暂时测试到这里,开始实机测试…………(我是把U盘当作虚拟机的硬盘直接读取方式测试的,应该可以和真机接近吧?)
dsl4.0rc4:加--mem自动重启,不加--mem代码60;
cdlinux:加--mem,出现“loading stage2...................”当机,不加--mem代码60;
GEEXBOX,加--mem自动重启,不加--mem,显示“ISOlinux 3.20 0x45e72bc3 isolinux :Disk error 04, AX=4200,drive A0”
"Boot failed, press a key to retry..."按键后重启。
实机内存2G,VM内存设定为512M
加载windows安装盘,可以启动,进到安装界面后07b蓝屏。加载ghostxp镜像可以看见启动界面,加载dos后选择进入光盘目录后提示“指定的驱动器非法”
如果不能加载windows和linux,那用这个还有什么用?
Last edited by citydream on 2007-11-18 at 11:14 PM ]
VM test without --mem gets error code 60. The following are all tests using --mem:
Maotao 911PE (maotao_BootCD_070911.ISO), Xiaoyi PE (PE20070728.iso), Ashram_PE_Zero.iso (error code 11 when there are spaces, use underscore instead) succeed.
The most handsome reboot (REBOOT.ISO), RecoveryWare (mkrec.iso) fail, error code 25: disk read error.
When loading GEEXBOX image, VM gets error: "Virtual machine kernel stack fault (hardware reset)". When loading DSL image, vm gets error: "Internal monitor error".
Temporarily the test is here, start the real machine test…………(I treat the USB flash drive as the hard disk direct reading method of the virtual machine for testing, which should be close to the real machine?)
dsl4.0rc4: with --mem it restarts automatically, without --mem error code 60;
cdlinux: with --mem, it gets stuck when showing "loading stage2...................", without --mem error code 60;
GEEXBOX, with --mem restarts automatically, without --mem, it shows "ISOlinux 3.20 0x45e72bc3 isolinux :Disk error 04, AX=4200,drive A0"
"Boot failed, press a key to retry..." restarts after pressing the key.
Real machine memory is 2G, VM memory is set to 512M
When loading the Windows installation disc, it can start, and after entering the installation interface, it has a 07b blue screen. When loading the ghostxp image, the boot interface can be seen, and after selecting to enter the disc directory, it prompts "The specified drive is illegal"
If it can't load Windows and Linux, then what's the use of this?
Last edited by citydream on 2007-11-18 at 11:14 PM ]
|
|
2007-11-18 22:33 |
|
|
不点
银牌会员
     不甘寂寞的人
积分 2491
发帖 1115
注册 2003-9-24
状态 离线
|
『第 9 楼』:
使用 LLM 解释/回答一下
07b 蓝屏,以前看到过很多次这样的报告。怀疑是微软操作系统的安全保护所致。
微软发现安装介质不在物理光盘上,它可能就要出错退出了。我们对此应该没什么对策,除非有某个人把微软破解了,就像 RinRin 破解了 cmdcons 的秘密那样。
我想将来一定有人会干这个的。
运行非微软的光盘,应该没问题的。
====================
仿真是基于 BIOS 的 INT13 的。所以,任何企图在保护模式下访问虚拟光盘的动作,一般都会失败。只有 win9x 可以在保护模式下访问实模式的 INT13 设备。NT 系列以及 Linux 目前都缺乏此兼容性功能。但 Linux 是开源的,相信将来一定有人让 Linux (在进入 保护模式之后)可以访问实模式的 INT13 设备的。
07b blue screen, I've seen many such reports before. Suspected to be caused by the security protection of the Microsoft operating system.
Microsoft finds that the installation media is not on a physical CD, and it may crash and exit. We probably have no countermeasures for this, unless someone cracks Microsoft, just like RinRin cracked the secret of cmdcons.
I think someone will definitely do this in the future.
Running a non-Microsoft CD should be fine.
====================
Emulation is based on BIOS INT13. So, any attempt to access a virtual CD in protected mode generally fails. Only win9x can access real-mode INT13 devices in protected mode. NT series and Linux currently lack this compatibility function. But Linux is open source, and I believe someone will definitely make Linux (after entering protected mode) able to access real-mode INT13 devices in the future.
|

因为我们亲手创建,这个世界更加美丽。 |
|
2007-11-18 22:53 |
|
|
bd540
初级用户
 
积分 114
发帖 49
注册 2006-10-8
状态 离线
|
|
2007-11-18 23:23 |
|
|
lenovolenovo2
新手上路

积分 9
发帖 5
注册 2005-10-11
状态 离线
|
『第 11 楼』:
使用 LLM 解释/回答一下
情况跟8楼差不多,启动XP安装盘error 60,启动erd 07B。
The situation is similar to that of the 8th floor. Booting the XP installation disk has error 60, and booting the erd 07B.
|
|
2007-11-18 23:30 |
|
|
Fphn
新手上路

积分 18
发帖 9
注册 2007-11-1
状态 离线
|
『第 12 楼』:
使用 LLM 解释/回答一下
Originally posted by 不点 at 2007-11-18 22:53:
运行非微软的光盘,没问题
我的测试也确实如此
Originally posted by Budian at 2007-11-18 22:53:
Running non-Microsoft CDs, no problem
My test also confirms this
|
|
2007-11-18 23:50 |
|
|
wstest
新手上路

积分 9
发帖 5
注册 2005-10-26
状态 离线
|
『第 13 楼』:
使用 LLM 解释/回答一下
07b蓝屏是xp安装程序找不到磁盘控制器。在制作集成XP光盘时,如果不集成基于F6的控制器驱动,在开启AHCI模式的主板或者使用RAID,SCSI设备的系统上进行安装时,通常会报这个错误。因此,根据我的理解,可能要为xp写一个磁盘控制器驱动,然后再集成到xp上才能让XP安装盘识别grub for dos虚拟的光驱。
07b blue screen is that the XP installation program cannot find the disk controller. When making an integrated XP CD, if the F6-based controller driver is not integrated, when installing on a motherboard that enables AHCI mode or using a system with RAID, SCSI devices, this error is usually reported. Therefore, according to my understanding, it may be necessary to write a disk controller driver for XP and then integrate it into XP so that the XP installation disk can recognize the GRUB for DOS virtual CD-ROM.
|
|
2007-11-19 00:45 |
|
|
barton
中级用户
  
积分 480
发帖 197
注册 2006-9-20 来自 黄冈
状态 离线
|
『第 14 楼』:
使用 LLM 解释/回答一下
Originally posted by lbbzhwch at 2007-11-18 22:26:
我用新版引导了一个用GNU GRUB引导的LINUX光盘镜像,无法引导,死机!而且以前版能引导ISOLINUX.BIN,现在也不能用了,郁闷…………
新版本不能引导isolinux了?
The new version can't boot isolinux?
|
|
2007-11-19 08:30 |
|
|
不点
银牌会员
     不甘寂寞的人
积分 2491
发帖 1115
注册 2003-9-24
状态 离线
|
『第 15 楼』:
使用 LLM 解释/回答一下
忘了说明两件事。
1. win98 的启动光盘是用 1.44M 的仿真软盘模式 制作的。这个 1.44M 的软盘中有许多光盘驱动,这些驱动程序都是用来驱动物理光驱的,不能用来驱动我们的虚拟光驱。所以,即便运行 win98 安装程序,也需要一个光盘驱动。以前似乎在某个网站上搜索到 eltorito.sys 这个驱动,估计有点用。
2. 本次实现 ISO 仿真,不仅可以在“小扇区介质”(即软盘、硬盘)上仿真“大扇区介质”(即光盘),也可以反过来,在“大扇区介质”(光盘)上仿真“小扇区介质”(磁盘)。也就是彻底跨越扇区大小不兼容这个障碍。比如,你有一个光盘(大扇区)已经被 grub4dos 识别为 (cd) 或者 (cd0),光盘上有一个 30M 的软盘或者硬盘映像 myimg.img,那么你就可以用不带 --mem 的 map 把光盘(大扇区)上的 img 仿真为软盘、硬盘(小扇区)。以前的版本是无法做到的,以前只能用 --mem 来规避扇区大小不相容(介质异构)的麻烦。在光盘(大扇区)上仿真光盘(大扇区),应该也是没问题的。比如,光盘 (cd) 上有一个 myiso.iso 文件,你就可以用 map 把它仿真成另外一个光盘,比如 (hd32)。
Forgot to mention two things.
1. The boot CD for Win98 is made in the emulated floppy disk mode of 1.44M. There are many CD-ROM drivers in this 1.44M floppy disk. These driver programs are used to drive the physical CD-ROM, and cannot be used to drive our virtual CD-ROM. So, even if you run the Win98 installation program, a CD-ROM driver is needed. Before, I seem to have searched for the eltorito.sys driver on a certain website, which is estimated to be a bit useful.
2. This time, the ISO emulation can not only simulate the "large sector medium" (i.e., CD-ROM) on the "small sector medium" (i.e., floppy disk, hard disk), but also vice versa, simulate the "small sector medium" (disk) on the "large sector medium" (CD-ROM). That is, completely cross the obstacle of sector size incompatibility. For example, you have a CD-ROM (large sector) that has been recognized by grub4dos as (cd) or (cd0), and there is a 30M floppy disk or hard disk image myimg.img on the CD-ROM, then you can use the map without --mem to simulate the img on the CD-ROM (large sector) as a floppy disk, hard disk (small sector). The previous version could not do this. Previously, only --mem could be used to avoid the trouble of sector size incompatibility (medium heterogeneity). Simulating a CD-ROM (large sector) on a CD-ROM (large sector) should also be fine. For example, there is a myiso.iso file on the CD-ROM (cd), and you can use map to simulate it as another CD-ROM, such as (hd32).
|

因为我们亲手创建,这个世界更加美丽。 |
|
2007-11-19 08:30 |
|