无忧启动论坛

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

mkisofs制作启动光盘,VM虚拟机可以启动,但是实际启动不了(已解决)

[复制链接]
跳转到指定楼层
1#
发表于 2008-7-22 12:03:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
斑竹好,大家好,我用的是Grub  帮助文件中的这条命令制作的iso,“mkisofs -R -b grldr -no-emul-boot -boot-load-seg 0x1000 -o grubcd.iso grubcd"
在虚拟机可以启动,用Nero刻盘后就启动不了,光标在电脑左上角,没有任何出错提示。是不是mkisofs 那里参数不对?谢谢。

[ 本帖最后由 xufree 于 2008-7-22 21:23 编辑 ]
2#
发表于 2008-7-22 14:19:17 | 只看该作者
即使虚拟机能运行且完全正确的刻录成光盘,也可能因盘片质量差、刻录速度太高、刻录机老化等而启动不了。
回复

使用道具 举报

3#
 楼主| 发表于 2008-7-22 14:47:44 | 只看该作者
原帖由 hhhhhh 于 2008-7-22 14:19 发表
即使虚拟机能运行且完全正确的刻录成光盘,也可能因盘片质量差、刻录速度太高、刻录机老化等而启动不了。



我虚拟机上能启动,笔记本上也能启动,但台式机上启动不了。应该不是盘的问题吧?
回复

使用道具 举报

4#
发表于 2008-7-22 15:25:01 | 只看该作者
1、不排除盘的问题,有可能台式机的光驱识别能力较差。
2、不排除ISO本身文件的问题,因为LZ对ISO的细节描述接近0。
回复

使用道具 举报

5#
发表于 2008-7-22 15:57:51 | 只看该作者
嘿嘿,试过这条命令么?
mkisofs -R -b grldr -no-emul-boot -boot-load-size 4 -o grubcd.iso grubcd
回复

使用道具 举报

6#
 楼主| 发表于 2008-7-22 16:16:43 | 只看该作者
原帖由 netwinxp 于 2008-7-22 15:25 发表
1、不排除盘的问题,有可能台式机的光驱识别能力较差。
2、不排除ISO本身文件的问题,因为LZ对ISO的细节描述接近0。



1.盘肯定是好的,就在那台无法启动的台式机上,进系统用VM能引导。并且在windows里光盘也能正常读出。

2. Grub4dos 官方不是推荐用mkisofs制作iso文件的码? 斑竹所说的ISO细节描述是指什么呢?

谢谢
回复

使用道具 举报

7#
 楼主| 发表于 2008-7-22 16:18:58 | 只看该作者
原帖由 不才 于 2008-7-22 15:57 发表
嘿嘿,试过这条命令么?
mkisofs -R -b grldr -no-emul-boot -boot-load-size 4 -o grubcd.iso grubcd



恩 正想试试这个。
回复

使用道具 举报

8#
发表于 2008-7-22 18:04:40 | 只看该作者
简单地说,如果你的光盘是启动一个不带SATA CDROM驱动的DOS映像,而PC的光驱刚好是SATA的,那么很显然启动不起来,你放到VM里面依然很正常。在配USB CDROM光驱的机子上这个问题更加突出。

[ 本帖最后由 netwinxp 于 2008-7-22 18:06 编辑 ]
回复

使用道具 举报

9#
 楼主| 发表于 2008-7-22 19:07:36 | 只看该作者
原帖由 netwinxp 于 2008-7-22 18:04 发表
简单地说,如果你的光盘是启动一个不带SATA CDROM驱动的DOS映像,而PC的光驱刚好是SATA的,那么很显然启动不起来,你放到VM里面依然很正常。在配USB CDROM光驱的机子上这个问题更加突出。



斑竹,没有你说的那么复杂,就纯粹是一个张grbu的启动光盘(光盘里面可以是没有任何东西),仅此而已。我只是奇怪为什么有的机器上这张光盘能启动,而有的机器却不可以。


刚才到家 试了试用这种方法制作iso "mkisofs -R -b grldr -no-emul-boot -boot-load-size 4 -o grubcd.iso grubcd "

现在问题已解决,但不知是何原因。
回复

使用道具 举报

10#
发表于 2008-7-22 19:54:59 | 只看该作者
官方说明:

在GRUB4DOS中,可以利用 grldr 来制作启动光盘。制作方法有两种:

mkisofs -R -b grldr -no-emul-boot -boot-load-seg 0x1000 -o grubcd.iso grubcd
mkisofs -R -b grldr -no-emul-boot -boot-load-size 4 -o grubcd.iso grubcd

grldr和menu.lst应该放在光盘的根目录里。

第一种方法告诉 BIOS,希望它能够装入整个 GRLDR 文件到内存。装入内存后,BIOS 还应该正确设置堆栈,使得不至于把堆栈设置到 GRLDR 的程序体内,造成冲突。一般情况下,BIOS 做到这一点很容易,因为它可以设置堆栈指针为装入的起始地址。但也不排除存在 BUGGY BIOS 的可能性。

有些 BIOS 不完全符合可启动的 CDROM 规范,比如 VirtualPC 的就是的。这类 BIOS 只是装入了一部分 GRLDR 扇区到内存,典型的可能只装入了一个扇区(2048 字节的大扇区)到内存。不过我们的代码已经替这些 BUGGY BIOS 打了补丁。只要这些 BIOS 能够设置正确的堆栈,不至于和装入内存中的 GRLDR 扇区数据产生冲突就 OK 了。

也就是说,上述第一种制作光盘的方法,应该没有多大问题了。这种方法很有可能适应于所有的 BIOS。

第二种方法本身就只要求 BIOS 装入一个 CDROM 扇区到内存(等同于 4 个 512 字节的小扇区)。这种方法是最保守的,没有理由会失败了。微软的 win2000 启动光盘就是这么做的,isolinux 和 stage2_eltorito 也都是这么做的。如果这种方法失败了,那么 win2000,isolinux 和 stage2_eltorito 应该都会失败的。

对于第二种方法,我们不需要 -boot-info-table 这个参数。但是允许你用这个参数(用了和没用是一样的,我们的引导代码将忽略由这个参数所传递的数据结构)。

对于第一种方法也一样,不需要 -boot-info-table 这个参数,同时也是允许你用这个参数(用了和没用是一样的,我们的引导代码将忽略由这个参数所传递的数据结构)。
回复

使用道具 举报

11#
 楼主| 发表于 2008-7-22 20:09:21 | 只看该作者
原帖由 lianjiang 于 2008-7-22 19:54 发表
官方说明:

在GRUB4DOS中,可以利用 grldr 来制作启动光盘。制作方法有两种:

mkisofs -R -b grldr -no-emul-boot -boot-load-seg 0x1000 -o grubcd.iso grubcd
mkisofs -R -b grldr -no-emul-boot -bo ...



这个文档读过,感觉用第一行的命令制作出来的iso好像兼容性没有第二行来的好. 这次用第二行的命令制作出来的iso,就解决了我这个问题
回复

使用道具 举报

12#
发表于 2008-7-22 20:20:55 | 只看该作者
我的理解,第二种方法是最保险的,似乎没理由不能用。
而第一种则可能在某些条件下失败。
因此我都用第二种方法制作。
回复

使用道具 举报

13#
 楼主| 发表于 2008-7-22 21:21:17 | 只看该作者
原帖由 lianjiang 于 2008-7-22 20:20 发表
我的理解,第二种方法是最保险的,似乎没理由不能用。
而第一种则可能在某些条件下失败。
因此我都用第二种方法制作。



恩 看来原来我用第一种做法是错误的,现在知道了。谢谢这位朋友
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2025-2-23 19:07

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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