![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-12 03:32 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行 |
| GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区 » 为移动操作系统打造稳健的引导扇区,请参谋 |
| 可打印版本 3,927 / 15 |
| 第1楼 不点 | 发表于 2007-10-27 12:27 |
| 银牌会员 发帖 1,115 积分 2,491 | |
|
为移动操作系统打造稳健的引导扇区,请参谋 为了讨论问题集中起见,我把这篇文章贴在 google 网上论坛──grub4dos邮件列表上了。
要在此论坛发帖,请发电子邮件到 grub4dos@googlegroups.com 要退订此论坛,请发邮件至 grub4dos-unsubscribe@googlegroups.com 更多选项,请通过 http://groups.google.com/group/grub4dos?hl=zh-CN 访问该论坛 |
|
| 第2楼 frank55555 | 发表于 2007-10-27 16:36 |
| 初级用户 发帖 47 积分 89 | |
|
我認為用第一種方法好一些.誰做啟動盤(U盤).不對U盤進行格式化呀?
用哪種方法做都要 格式化的.只是你用的工具不同. 但是我不知道你格式化后是什么格式,還是FAT32K嗎? 要是格式變了,就要想一想了. |
|
| 第3楼 不点 | 发表于 2007-11-05 10:32 |
| 银牌会员 发帖 1,115 积分 2,491 | |
|
终于完成了第一步。 http://grub4dos.jot.com/ 从 2007-11-05 开始,支持自动调节 CHS 几何参数。
注意:有可能死机。无论是否死机,请测试者都给出反馈,帮助完善这一重要发展步骤。 如果你在普通硬盘上测试,请报告是否死机。希望在普通硬盘上和往常一样,不至于会出现异常。普通硬盘上的测试,就是测试日常使用是否正常罢了。 如果你在 USB 设备上测试,对于 USB 硬盘设备,如果你的 USB 设备以前在不同机器上遇到 CHS 参数问题,导致有些机器能够启动 grldr,而有些机器不能启动 grldr,你试试新版的 grldr.mbr 是否解决了此问题。 对于 USB 软盘设备,你必须把软盘进行分区,并格式化为只含有 一个单一 FAT 分区 的“硬盘”,然后用 bootlace 安装 引导扇区到这个“硬盘”的 MBR,然后,再在不同的主板下进行测试。 测试以前遇到启动困难的,这次是否解决了。测试以前没有问题的,这次是否反而有问题了。 请报告详细一些,以便排解 BUG。 |
|
| 第4楼 wangjf | 发表于 2007-11-05 15:29 |
| 中级用户 发帖 63 积分 254 | |
|
在普通硬盘上测试11-05版的10-15版的一样,正常使用。USB设备还未测试。
|
|
| 第5楼 frank55555 | 发表于 2007-11-07 09:20 |
| 初级用户 发帖 47 积分 89 | |
|
在U盤上一定要安裝嗎?能不能只用GRUB.EXE行不行呀?
|
|
| 第6楼 wangjf | 发表于 2007-11-09 17:56 |
| 中级用户 发帖 63 积分 254 | |
|
今天使用GRUB4DOS在U盘上实现USBZIP模式的直接GRUB引导
下面说一下经过,其中有一些不明白的地方。 1. 首先说一下软硬件配置: U盘芯片: Chipsbank(芯邦) CBM2080 B26602-06 HY27UH084G2M_256M 传输速度:full speed(USB2.0) 可惜主版只支持USB1.1所以启动速度比较慢。 GRUB4DOS使用的是2007-11-05的版本。 1. 首先用 芯邦的U盘量产工具低格成可启动的USB-ZIP格式, USB-ZIP有两种选择:USB-ZIP(32)和USB-ZIP(63)我不知道这两种格式有什么区别。 在我这里格成USB-ZIP(32)可以正常启动进入DOS状态,USB-ZIP(63)方式则启动失败。 或则用其他的U盘格式化工具,只要U盘格式化后能够启动DOS状态就行。 2. 写MBR到U盘。 开始时,我使用grubinst可是并没有成功。不知操作不对还是其他原因造成。后来使用bootlace写入成功。下面是bootlace写入过程 复制DOS系统文件IO.SYS、MSDOS.SYS、COMMAND.COM。和GRUB4DOS包中的bootlace.com文件到U盘根目录。用U盘启动进入DOS。然后在DOS命令行下键入:bootlace.com --floppy --chs 0x00 或则你可以建立一个BAT批处理文件来执行bootlace.com --floppy --chs 0x00命令。 还可以执行如下命令: bootlace --boot-prevmbr-first --time-out=5 --hot-key=0x3920 --floppy --chs 0x00 (表示安装GRLDR代码到MBR时,默认启动原MBR,即启动原windows xp系统(--boot-prevmbr-first),等待时间5秒(--time-out=5),热键为空格键(--hot-key=0x3920)。 也就是说启动时等待5秒,5秒内不击热键的话,启动windows xp;5秒内击热键则启动grub4dos。见lianjiang写的GRUB4DOS教程1.3.3 通过mbr启动grub) 3. 复制grldr文件到U盘根目录、复制menu.lst菜单文件和其他你要用到的文件到U盘。启动即可(menu.lst最好复制到U盘根目录) 下面是我的menu.lst菜单文件配置。 ====================================================== # 默认延迟时间(秒) timeout 20 # 第9项(从硬盘启动)为默认值 default 8 # 设置图形背景文件 splashimage (fd0)/boot/grub/01.xpm # 设置中文支持的字体文件 fontfile /boot/grub/fonts password=xxx title ############################################ clear title # GRUB-DOS&WinPE U盘演示 —— By 2007.11 # clear title ############################################ clear title 启动 DOS/Windows 95/98/Me 系统 find --set-root (fd0)/io.sys chainloader (fd0)/io.sys title Map --Mem方式 启动 MS-DOS7.1 工具盘 map --mem /boot/msdos.img (fd0) map --hook root (fd0) chainloader +1 boot title Map --Mem (切断 A20) 方式 启动 MS-DOS7.1 工具盘 map --mem /boot/msdos.img (fd0) map --hook chainloader --disable-a20 (fd0)+1 rootnoverify (fd0) title MemDisk方式 启动 MS-DOS7.1 工具盘 kernel /boot/grub/memdisk c=80 h=2 s=36 floppy initrd /boot/msdos.img boot title 从光盘启动 cdrom --init map --hook chainloader (cd0) boot title 从硬盘启动 root (hd0,0) chainloader +1 title 重新启动 reboot title 关闭计算机 halt title 进入Grub4Dos命令行提示符方式 commandline ======================================================= 这一项中 title 启动 DOS/Windows 95/98/Me 系统 find --set-root (fd0)/io.sys chainloader (fd0)/io.sys /io.sys前必须加上(fd0),不加则不能进入DOS状态。 如果这样 find --set-root /io.sys chainloader /io.sys 则显示: Booting 启动 DOS/Windows 95/98/Me 系统 (hd0,0) Filesystem type is fat,partition type 0xb chainloader /io.sys Error 14:Invalid or unsupported executable format Press any key to continue... 另外这样的话 title 启动 DOS/Windows 95/98/Me 系统 chainloader (fd0)+1 rootnoverify (fd0) 也进不到DOS状态,和重起的效果差不多。 [ Last edited by wangjf on 2007-11-27 at 09:55 AM ] |
|
| 第7楼 不点 | 发表于 2007-11-10 09:58 |
| 银牌会员 发帖 1,115 积分 2,491 | |
|
find --set-root (fd0)/io.sys <------ 这句是错的。应该是:
find --set-root /io.sys
你的 io.sys 不是微软的,或者遭到了病毒的破坏。DOS 6.22 之前的 IO.SYS 是不行的,必须是 win95 以后的 io.sys 才行。
依我来看,32 和 63 表示“每磁道的扇区数”。一般用 S 来表示“每磁道的扇区数”。这是个很敏感的参数。如果这个参数与主板 BIOS 认定的这个磁盘的参数不同,那么你就无法启动 DOS。 因此,可以推测,你的主板把你的 U 盘认成了 S=32。你用 S=63 的 FAT 文件系统,是无法启动 DOS 的。 但是,如果你有兴趣,并且愿意为 GRUB4DOS 的新功能做测试,你正好可以试试 S=63 的 U 盘是否可以启动 GRLDR。方法是这样的: 在别的机器上把你的 U 盘格式化为硬盘,里面只有一个 FAT16/32 的文件系统,并且让“每道扇区数”保持为 63,也就是说,故意做成与你的主板严重不符。然后用 bootlace 把 GRLDR 的引导扇区写入这个 U 盘。这样一来,这个 U 盘就变成“硬盘、软盘”双重格式了,就是说,它即可以作软盘,也可以做硬盘。当然最后不要忘了把 grldr 放在 U 盘的根目录。 好了,你把这个“双重”格式的 U 盘放在你的机器上(意思是把它当做软盘启动),看看它能否启动到 grub 环境。无论成功或失败,报告其结果。 |
|
| 第8楼 wangjf | 发表于 2007-11-10 11:14 |
| 中级用户 发帖 63 积分 254 | |
|
谢谢不点的解释。
我用的是Wengier修改过的IO.SYS(7.10)见附件里的,今天试试MS原版的 我这里用不同的电脑不太方便,那也尽量试试。USB-ZIP(32)和USB-ZIP(63)不同的情况。另外我的BIOS里还有USB-FDD,USB-HDD的选项。这些能够进行你需要的测试吗?如果可以,你给个方案。 [ Last edited by wangjf on 2007-11-10 at 11:20 AM ] 附件 IO.zip (75.74 KiB) |
|
| 第9楼 wangjf | 发表于 2007-11-10 12:58 |
| 中级用户 发帖 63 积分 254 | |
|
刚才用WIN98SE原版的IO.SYS、MSDOS.SYS和COMMAND.COM测试USB-ZIP(32)启动
find --set-root /io.sys chainloader /io.sys 这样还是无法进入DOS状态。换成 find --set-root (fd0)/io.sys chainloader (fd0)/io.sys 这样则成功。 我想这是不是和USB-ZIP启动的方式有关呢,因为以USB-ZIP方式启动后的U盘DOS提示符状态显示是A:盘符,而以USB-HDD方式启动的话,DOS提示符状态显示是C:盘符. 附件 win98se-IO.zip (160.72 KiB) |
|
| 第10楼 不点 | 发表于 2007-11-10 17:29 |
| 银牌会员 发帖 1,115 积分 2,491 | |
|
没有目的的胡乱试验是不行的。你必须熟悉了grub4dos,掌握了它的基本操作技巧才可以进一步测试。
find --set-root (fd0)/io.sys <------ 这一句是错误的。 如果你继续犯这样的错误,表示你对于 grub4dos 很生疏,你还是先熟练使用半年到一年之后,再来帮忙比较好。
当你熟练掌握 grub4dos 的基本用法之后,你自己应该可以找到问题的症结在哪里。到那时,你就能够确定究竟是你使用方法的不当造成的,还是 grub4dos 的 bug 所造成的,从而提供真正有价值的 bug 报告。
当然可以。只是你不要急于测试。如上所说,你还是先学用 grub4dos 再说。 一个“硬盘、软盘双重格式”的 U 盘,无论在 USB-ZIP, USB-FDD, USB-HDD 下,都可以启动 GRLDR。目前我们正在提高 grub4dos 的适应能力,使得在主板 BIOS 的 CHS 几何参数完全扭曲的情况下也能顺利启动 GRLDR。 不要用非微软的工具来制作 U 盘启动盘。必须用微软的 FDISK,FORMAT,SYS 等工具,结合 grub4dos 的工具(例如 bootlace, grldr 等),这样制作的 GRLDR 引导盘才有效。其它方法制作的都不保证有效,而且出了问题也无权报告 BUG。 |
|
| 第11楼 wangjf | 发表于 2007-11-10 20:01 |
| 中级用户 发帖 63 积分 254 | |
|
还要熟悉半年到一年,
不点打击的不小呀。既然这样看来还要好好潜水。 多多的利用Google。我获得的GRUB4DOS的帮助基本上是lianjiang写的教程。虽然教程写的很好了,可是有些细节上的内容还是不容易获得帮助。再加上我的英文水平比较烂。读GRUB4DOS的英文说明就更难以明白了。现在GRUB4DOS对于新手来说,一份详细的使用说明很重要。GRUB4DOS在这方面现在还比较欠缺。 写好GRUB4DOS的使用说明也不太容易,作者要对GRUB4DOS很了解,很简单的操作也要说明清楚,因为一个简单的操作对于新手有时侯难以理解。而作者自己就会觉得比较罗嗦。GRUB4DOS更广泛的应用还需要努力呀。就说这么多吧,祝GRUB4DOS越来越完善。我继续潜水。 ![]() [ Last edited by wangjf on 2007-11-10 at 08:05 PM ] |
|
| 第12楼 barton | 发表于 2007-11-11 08:34 |
| 中级用户 发帖 197 积分 480 来自 黄冈 | |
|
可以看看gnu grub相关的资料,补充学习
|
|
| 第13楼 Sense | 发表于 2007-11-12 09:36 |
| 初级用户 发帖 9 积分 127 | |
|
以前比较过USB-ZIP和USB-HDD格式的区别。USB-ZIP为每磁道32扇区(可能是iomega ZIP drive定义成这样吧),启动数据存放于32扇区;USB-HDD为每磁道63扇区(与硬盘一样),启动数据在63扇区。
老主板(两年前的,或者845以前的芯片组)对ZIP格式支持比较好,新主板对HDD格式支持比较好。而且很多新主板都没有USB-ZIP启动选项了,只支持USB-HDD。 另外,U盘容量超过256MB后如果格成USB-ZIP,在很多主板上会出问题,如无法启动、可以启动但无法读取256MB之后的数据等。这可能跟iomega的第一代ZIP驱动器最大容量250MB有关,BIOS代码延用了以前的数据。 所以为了最大兼容于现在的大容量U盘和新主板,建议格式化为USB-HDD格式。 |
|
| 第14楼 fujianabc | 发表于 2007-11-12 18:47 |
| 金牌会员 发帖 1,616 积分 3,467 | |
|
usb-zip标准比较混乱,zip软驱没流行开来,这个比较混乱的标准却留给了现在的u盘。
usb-hdd,usb-cd,usb-fdd都比usb-zip兼容性要好 |
|
| 第15楼 fujianabc | 发表于 2007-11-12 18:53 |
| 金牌会员 发帖 1,616 积分 3,467 | |
Originally posted by Sense at 2007-11-12 09:36 AM: usb-hdd不是你想格式化就格式化得了的,usb-hdd在xp下认成本地磁盘,usb-zip认成可移动磁盘。 两者差别不仅在于32/64扇区之间的差别,而与u盘本身的芯片有关,要改一般只有量产工具才能改。 我以前有个朗科的u盘,自己提供了一个工具可以选择usb-hdd或usb-zip,改完之后,u盘中数据没有任何改变,启动扇区数也未变,但xp中就变了。 [ Last edited by fujianabc on 2007-11-12 at 06:54 PM ] |
|
| 1 2 下一页 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |