2012-07-10 114 views
0

我一直打打闹闹与不同版本的多重启动软件,试图创建一个我最喜爱的PC工具USB引脚,并与ISO的用于其正常启动到DOS(或东西)开机后的文件夹。如何在正常启动后触发启动光盘的启动过程?

但很多ISO的的不正常工作,或在所有(即Windows启动的CD等),所以我有一个新的想法:

是否有可能创建一个可启动MS-DOS USB引脚,然后在启动后,从DOS提示符处触发CD-ROM的正常启动顺序?

像这样:

  • 打开电脑。
  • 打开键来获得启动顺序菜单(在我的情况下F12)。
  • 选择“从USB引导”。
  • 让USB启动进入DOS(...或其他任何可用于此目的?)。
  • 从DOS提示符开始“某些程序/脚本”触发正常光驱中的可启动CD,就好像它是直接从BIOS启动顺序菜单中触发的。

(如果这是可能的,我会再继续添加一个菜单选项来启动虚拟CD驱动软件和安装ISO文件到我的USB插针)

感谢您的任何意见和/或想法和想法!

+0

你可以看看Grub(bootloader)是如何做到这一点的。它基本上加载并执行引导扇区,我相信 – fork0 2012-07-10 19:21:08

+0

我发现这对姐妹网站:http://superuser.com/questions/154133/grub-boot-from-iso 可能让你更接近你在做什么做... – sacredfaith 2012-07-10 19:24:22

+0

我试过各种不同的方式Grub,但没有运气。也许这是我的ISO的(即其中之一是McAfee了SafeBoot bootcd用于终端加密工作 - 我试着将它添加到我的Xboot和YUMI USB,使用GRUB4DOS ISO映像仿真,MEMDISK,等等 - 没有成功至今) – 2012-07-10 19:33:00

回答

1

理论上,你可以使用Int13h/AH=4Ch开始从代码的BIOS下运行的CD-ROM启动。不过,我似乎记得,大多数BIOS实现并没有实际执行El Torito标准的这一部分。 (那是很久以前的事,所以也许你不会对一个新的BIOS这个问题,但我不会指望它。)

需要注意的是(在我的经验)是很重要的,这是不可能的一旦你启动了一个操作系统就可以工作。 DOS不会改变CPU模式(假设你没有安装任何扩展内存驱动程序),但它确实会以其他方式改变系统上下文 - 例如,IIRC,它挂钩了几个BIOS中断。因此,一旦DOS运行,您就无法覆盖它(为了从CD启动另一个操作系统),而不会造成事情中断。

因此,为了使这项工作(一),你必须在裸BIOS运行代码,没有操作系统存在; (b)您需要一个能正确执行启动功能的BIOS。第一部分只是获取裸组件和BIOS functions的问题,但第二部分几乎不受您的控制。

+0

谢谢你这个伟大的解释!这给了更多的见解。我目前正在尝试使用EasyBCD并获得与Grub相同的错误:ISO已成功安装并引导,但随后在WinXP徽标处突然出现错误0x0000007B的蓝屏 - 我认为这是由Int13h被错误处理触发的,所以我没有cookie ;-( – 2012-07-11 07:08:23

+0

)一旦你离开启动真正的CD驱动器,并尝试启动ISO文件,你有一个完全不同的鱼水壶。一旦Windows(或其他操作系统)停止使用BIOS I/O功能并尝试使用自己的设备驱动程序时,虚拟CD驱动器消失并且所有内容都崩溃了,但它可能适用于Windows PE版本3,因为它所做的第一件事是将操作系统映像读入RAMdisk,我认为*它在那时仍然在使用BIOS I/O。 – 2012-07-11 19:58:03

相关问题