![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-12 05:31 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行 |
| GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区 » [求助]用不点最新测试版grub制作usb启动盘的一些困惑 |
| 可打印版本 9,177 / 45 |
| 第1楼 lmle | 发表于 2008-05-24 13:16 |
| 初级用户 发帖 28 积分 61 | |
|
[求助]用不点最新测试版grub制作usb启动盘的一些困惑 我一直都是用IO+grub的方式制作的,大部分电脑能启动。但有一批同方的老机,要么自检完在Verifying DMI Pool Data...就过不去了,要么读msdos.sys出错,或找不到command.com什么的(明明是有的)(注:用了许多不同的U盘,不同的方法制作)。看了不点大师的新版grub更新说明,又有了新希望,可替换后,问题依旧。请问:
1、如果用IO+grub的方式,我想“自动探测磁盘几何参数”功能不会起作用吧,因为grub还没启动。 2、如果写入MBR,“自动探测磁盘几何参数”会起作用吗? grub的更新是不是也要更新MBR?如果要更新的话,怎样用grubinstall.exe更新? 期待您的帮忙,谢谢! |
|
| 第2楼 不点 | 发表于 2008-05-24 13:50 |
| 银牌会员 发帖 1,115 积分 2,491 | |
|
“自动探测磁盘几何参数”这个功能主要就是用来对付 U 盘的,目的是解决不同的主板规定了不同的U盘几何参数的问题。谢谢跟踪测试。
在以前,有些人能启动到 DOS,但是,当启动 GRUB.exe 时,虽然能进入 grub 环境,但却不能识别 U 盘上的文件。这其中的一部分原因,就是因为 GRUB 所调用的 BIOS 对 U 盘规定了不正确的 CHS 参数(就是说,BIOS有BUG)。在这种情况下,“自动探测磁盘几何参数”的新功能,也有可能起到作用的。 现在回答你的问题: 1. 如果你还没有启动到 grub 就死机了,那样的死机当然与 grub 无关。这一点你自己一定要先弄清楚。当你确定你的 DOS 无法启动时,你可以用 bootlace 安装 grldr 的引导扇区到你的 U 盘 MBR 上,在理想的情况下,这应该可以成功启动到 grub 环境。 2. 写入 MBR 的 GRLDR 引导代码,是具有“自动探测磁盘几何参数”的功能的。你需要安装到 mbr,因为在 mbr 上的代码也需要“自动探测磁盘几何参数”的功能,以便搜索得到 grldr 文件。此功能是刚刚加入的,所以,grubinst 不一定也加入了此功能。所以,还是用 bootlace 吧。你可以在别的某个机器上用 U盘启动到 DOS,然后用 bootlace 安装。 补充:不要在 U 盘上安装和使用 boot.ini 的启动方式,因为这种方式启动的 grldr 是没有“自动探测磁盘几何参数”功能的,因此启动可能会失败。你可以在 U 盘安装 bootmgr 的方式来启动 grldr.mbr,并且这个 grldr.mbr 应该也是随 grub4dos 一起发布的,即,具有“自动探测磁盘几何参数”功能的。 |
|
| 第3楼 lmle | 发表于 2008-05-24 15:01 |
| 初级用户 发帖 28 积分 61 | |
|
非常感谢不点大师亲自回答!
我是一个学校的网管,要接触新老很多电脑,用您的新版grub解决了一批能进grub却近不了PE的电脑,谢谢。现在只剩最后一批进不了dos的电脑了。 我使用grub不久,不清楚bootlace.com的用法。我用u盘进dos后,显示为c。是直接用bootlace.com 0x80呢,还是要加参数调用grldr.mbr?明白后马上测试。 |
|
| 第4楼 不点 | 发表于 2008-05-24 15:38 |
| 银牌会员 发帖 1,115 积分 2,491 | |
|
如果你的 U 盘是 C:,那么你就直接用 bootlace.com 0x80,然后把 grldr 放到 u 盘根目录。bootlace 应该也是新的,否则老版本没有磁盘参数自适应功能。
|
|
| 第5楼 lmle | 发表于 2008-05-24 15:46 |
| 初级用户 发帖 28 积分 61 | |
|
我的U盘是falshboot制作的,运行bootlace.com 0x80后出错:
Error: Invalid partition table. Must spedify --floppy explicitly for floppy. 我猜想:u盘启动的DOS显示的C:应该不是真实的U盘吧(可能是内存盘?里面的内容是U盘的文件),dos不认识U盘啊。 现在我该怎么做啊? [ Last edited by lmle on 2008-5-24 at 03:48 PM ] |
|
| 第6楼 不点 | 发表于 2008-05-24 16:12 |
| 银牌会员 发帖 1,115 积分 2,491 | |
|
这个问题不严重。你大胆试验便可。
U盘启动后,BIOS 已经把 C: 这个盘符赋予你的 U 盘了,你可以在 DOS 下用 dir C: 列出你的 U 盘的内容,这样你就能够核实一下这个 C: 盘究竟是不是你的 U 盘。 首先把你的 U 盘中的重要东西备份到别处,因为你得重新分区、格式化它。 好了,准备好了之后,你用 U 盘启动到 DOS,用 DOS 的 FDISK 对这个 U 盘进行分区,分区时请尽量保持原来的分区布局和大小都不变。你需要先把 U 盘上的分区全都删除,然后再创建相同大小的分区。 注意,你一定要熟练使用 FDISK。千万不要把你的真实硬盘做掉了! U 盘启动到 DOS 后,你使用 FDISK 时,C: 盘应该就是你的 U 盘。当你使用 FDISK 时,你可以根据 卷标、磁盘容量 等信息,确定你要做掉的 C 盘一定得是你的 U 盘,否则你不能继续做,免得你的硬盘被弄掉了。 FDISK 做完之后,你需要重启动才能继续。但是,注意你重启后只能先进入硬盘的 WINDOWS,而不是进入 U 盘,因为 U 盘还没有格式化,也没有 DOS。进入 WINDOWS 后,你可以在 Windows 下对这个 U 盘进行格式化的操作。同样注意不要弄错了盘符,导致你的硬盘被破坏。 完了之后,你再把 DOS 的系统文件如 io.sys, msdos.sys, command.com, sys.com, fdisk.exe,bootlace.com 等放到 U 盘根目录中,你也可以在这时就把 grldr 和 grub.exe 放进去。用 sys 命令把 DOS 安装到 U 盘,以便 DOS 能够启动。 好了,此时重启机器,选择从 U 盘启动 DOS,用 bootlace 0x80 把 U 盘的引导扇区改成 GRLDR 的,此时应该成功了,因为微软的 FDISK 所建立的分区表是标准的,可以被 bootlace 识别出来。 [ Last edited by 不点 on 2008-5-24 at 04:15 PM ] |
|
| 第7楼 lmle | 发表于 2008-05-24 20:21 |
| 初级用户 发帖 28 积分 61 | |
|
不点大师辛苦了!
看来我知识太浅薄了,连fdisk都搞不定。第一次进U盘fdisk删除分区后,没有创建分区就推出了,再windows分区格式化,接着用flashboot重来。以后几次用fdisk删除分区后,却再也不能用fdisk创建分区,说是没有空余空间(是用fdisk删除分区并提示成功的),到windows后分区还在。 还有,重新分区后,进不了dos,windows又不能sys,还是不能写引导的。 [ Last edited by lmle on 2008-5-24 at 08:23 PM ] |
|
| 第8楼 不点 | 发表于 2008-05-24 21:57 |
| 银牌会员 发帖 1,115 积分 2,491 | |
|
你能否把 U 盘这个物理设备作为虚拟硬盘传给 VMWARE,在 VMWARE 中用 DOS 的 FDISK 来修理它?
你也可以这样做: 1. 把 U 盘按照扇区精确复制为一个 u.img 文件,注意里面应该有分区表。我听说有些 16 进制工具可以做到这一点,你找找看。 2. 把 u.img 传给 vmware,用 fdisk 和 format 等 dos 工具来操作。然后安装 grldr。注意不要用 flashboot,因为它写的分区表是错误的。 3. 把修理好的 u.img 再写回到 U 盘上。 在理想的情况下,这样的 U 盘就是万能启动的了。 [ Last edited by 不点 on 2008-5-24 at 10:12 PM ] |
|
| 第9楼 lmle | 发表于 2008-05-24 22:54 |
| 初级用户 发帖 28 积分 61 | |
|
grub在笔记本中已成功启动!
请不点大师帮忙看一下,操作过程是否正确:我用PartitionMagic重新分区,再用grubinst_gui.exe写入grub引导,在grub中引导u盘的io.sys进入dos,然后用boolace写入新版的grub引导。 明早到学校测试老爷机。 |
|
| 第10楼 不点 | 发表于 2008-05-24 23:15 |
| 银牌会员 发帖 1,115 积分 2,491 | |
|
没错,这样操作是对的。注意,千万不要用那些专有的工具来制作启动盘,那些专有工具,有的是有毛病的,有的是不通用的。甚至有些还故意制造不兼容,让U盘只能在某个品牌的机器上启动。一定要用那些通用工具来制作U盘,才不至于被人绑架。
|
|
| 第11楼 lmle | 发表于 2008-05-24 23:48 |
| 初级用户 发帖 28 积分 61 | |
|
能得到大师的亲自指导,倍感荣幸。最后还想在请教一个问题:
我的u盘在已测的三台电脑上都被认作hd0,会不会在其他一些电脑上被认作fd0或其他什么的?要不要在menu.lst里作一些特殊的写法? 呵呵,非常希望能一盘走天下啊! |
|
| 第12楼 不点 | 发表于 2008-05-25 00:09 |
| 银牌会员 发帖 1,115 积分 2,491 | |
|
当然有可能了,以前就有很多报道说,同一个U盘有的主板认成 C 盘,有的认成 A 盘。
如果用 grldr 启动,那么就有一个好处是,grldr 所在的磁盘分区,就成为了默认的 root 设备了,也就是说,你可以用不带设备名的 /.../.../filename 来表示 U 盘上的文件了。所以,不管U盘是 A 盘还是 C 盘,文件名问题就解决了。 另外,还有一个不为人知的技巧,就是 root 和 rootnoverify 命令。这两条命令的返回值,可以表示当前 的 root 设备是否是硬盘。 当返回值是 TRUE 时,表示当前的 root 设备是硬盘,反之, 当返回值是 FALSE 时,则表示当前的 root 设备是软盘。 举例来说,你想从 U 盘启动 grldr 而又希望能够放心地、可靠地启动硬盘上的 XP,就可以这样: 下面我简单解释一下上面这个菜单。当你的 U 盘是硬盘时,就执行 目的是交换 (hd0) 和 (hd1),这样,你的真实硬盘将变成 (hd0) ,于是你才能成功启动 XP。 当 U 盘是软盘时,上述三条 map 就不会执行,于是你也能安全地启动你的硬盘上的 XP 了。 [ Last edited by 不点 on 2008-5-25 at 12:10 AM ] |
|
| 第13楼 lmle | 发表于 2008-05-25 10:50 |
| 初级用户 发帖 28 积分 61 | |
|
测试了五种不同主板的电脑,只成功了两台,三台不成功的提示各不相同:
1、清华同方的一台提示: Missing MBR-helper. 2、acer的搜索不到grldr,可明明是有的啊。 3、一台联想的更怪,好像grub的mbr根本不存在一样,直接用根目录的io.sys启动了,删除io.sys后,说找不到系统了。 [ Last edited by lmle on 2008-5-25 at 11:32 AM ] |
|
| 第14楼 不点 | 发表于 2008-05-25 11:28 |
| 银牌会员 发帖 1,115 积分 2,491 | |
很好!只要能显示这条信息,就说明我们的 MBR 代码已经起作用了。剩下的只是找出为何不能加载 MBR 上其余的引导扇区的原因了(肯定是 BIOS 的某个 BUG)。需要你继续配合测试,我们共同克服这个难关。虽然失败了,但这一形势已经处于我们的掌控之中了。如果不出所料,我们有望在最近几天或者几个礼拜就把它攻破。 由于你不能进入 DOS,所以,我们缺乏通常的 debug 调试手段。因此这一问题是迄今为止最难对付的问题了。我们只能依赖于不断修正和改变 U 盘上 MBR 的代码来进行调试了。我会仔细研究这个问题,设计一套调试方案的,请等着。 现在你可以把你的 U 盘上的分区布局说一说,例如,U 盘的容量,各个分区的大小,CHS 的值,等等以及其他你认为重要的信息。 能否把你的 U 盘开头的 128K 传上来?可以用一个十六进制工具来截获。
这个情况比清华同方的要稍好。我们先不管它,等到清华同方的解决掉之后再来处理它。
这个情况就更好了,只要能启动 DOS,你就可以启动 GRUB.EXE 了。我们最后收拾它。 [ Last edited by 不点 on 2008-5-25 at 11:42 AM ] |
|
| 第15楼 lmle | 发表于 2008-05-25 12:28 |
| 初级用户 发帖 28 积分 61 | |
|
我的U盘是爱国者迷你王1G的,全部分为一个区。在能启动的电脑上用geometry (hd0,0)命令显示如下:
drive 0x80(LBA):C/H/S=125/255/63,Sector Cont/Size=2008125/512 Partition num:0, Filesystem type is fat, partition type 0xb u盘的头125k用什么软件取得?等一会再传吧。 补充说明: 五台电脑中,有四台是可以用flashboot格式化,再用IO+grub启动的。只有一台同方电脑不能,却能用flashboot的freeDos+98的IO.sys、msdos.sys、command.com和一个freeDos的一个sys文件启动,但不能运行grub。会显示一条信息和一长串的数字,同时PC喇叭一直响着“嘀”声,没记下来。 [ Last edited by lmle on 2008-5-25 at 12:43 PM ] |
|
| 1 2 3 4 下一页 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |