无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
楼主: xyzxp
打印 上一主题 下一主题

[求助] 更新grub4dos-0.4.6a-2013-06-30版 我的UD盘无法启动了

  [复制链接]
151#
发表于 2013-9-24 18:29:07 来自手机 | 只看该作者
2011yaya2007777 发表于 2013-9-24 09:32
syslinux 在启动 grldr 前,加载过什么?有没有 plpbt ? 请把 syslinux 的启动菜单贴上来。

default vesamenu.c32
timeout 30
F2 syslinux.cfg
MENU BACKGROUND back.png
MENU TITLE
MENU TIMEOUTROW 16
menu color border 30;44 #00000000 #00000000 none

LABEL grldr
MENU LABEL [01] grldr
boot /boot/grub/grldr

LABEL plpbt08
MENU LABEL [02] plpbt08
linux /boot/syslinux/plpbt.bin

LABEL plpbt5015
MENU LABEL [03] plpbt5015
linux memdisk
initrd /boot/syslinux/plpbt.iso
append iso

LABEL 0pe
MENU LABEL [04] 0pe
linux memdisk
initrd /0pe/0pe.iso
append iso

LABEL [05] xppe
MENU LABEL [04] xppe
linux memdisk
initrd /boot/xppe.iso
append iso

#启动硬盘第一分区
LABEL hd0
MENU LABEL [06] hd0
kernel /boot/SYSLINUX/chain.c32 hd0,1

#重启
LABEL reboot
MENU LABEL [07] reboot
kernel /boot/SYSLINUX/reboot.c32
回复

使用道具 举报

152#
发表于 2013-9-24 21:18:03 | 只看该作者
本帖最后由 2011yaya2007777 于 2013-9-24 21:25 编辑
mygamexxx 发表于 2013-9-24 18:29
default vesamenu.c32
timeout 30
F2 syslinux.cfg


这么说,是从菜单
LABEL grldr
MENU LABEL [01] grldr
boot /boot/grub/grldr
启动的?

逻辑分析,只有从0pe启动,或者加载plpbt才有可能产生磁盘映射,使得 fd0->hd0, hd0->hd1。
回复

使用道具 举报

153#
发表于 2013-9-24 23:35:25 来自手机 | 只看该作者
本帖最后由 mygamexxx 于 2013-9-24 23:43 编辑
2011yaya2007777 发表于 2013-9-24 21:18
这么说,是从菜单
LABEL grldr
MENU LABEL [01] grldr


就是第一条菜单启动的,如果使用了plpbt就会启动grldr成功。启动grldr不成功主要可能与此笔记本BIOS有关。
回复

使用道具 举报

154#
发表于 2013-9-25 12:04:21 | 只看该作者
本帖最后由 mygamexxx 于 2013-9-25 14:08 编辑
不点 发表于 2013-9-23 22:26
如果能避免使用 syslinux,请尽量避免。

syslinux 加载 grldr,有可能加载在 0000:7C00 处。此时,grldr ...


采用syslinux加载0.4.6a版本的grub.exe的方式,内置菜单只有commandline一句,出现的现象与grub4dos分区引导记录引导grldr的现象相同。

0.4.6a版本的grub.exe(7月24日版本),直接改名为grldr,内置菜单只有commandline一句,用grub4dos分区引导记录引导此grldr,出现的现象与grub4dos分区引导记录引导grldr的现象相同

0.4.6a版本的grub.exe,直接改名为grldr(有自用的内置菜单),用grub4dos分区引导记录引导此grldr,屏幕顶部4行中有1、2、4三行英文一闪而过,黑屏,拔出U盘,显示内置菜单条目。
0.4.6a版本的grldr(有自用的内置菜单),用grub4dos分区引导记录引导此grldr,屏幕顶部4行中有1、2、4三行英文一闪而过,黑屏,拔出U盘,显示内置菜单条目。

0.4.5c版本的grub.exe,直接改名为grldr(有自用的内置菜单),用grub4dos分区引导记录引导此grldr,显示disk error
0.4.5c版本的grldr(有自用的内置菜单),用grub4dos分区引导记录引导此grldr,显示disk error

另外:
syslinux引导plpbt再引导0.4.5c版本的grldr,成功启动,但引导0.4.6a的grldr却死在初始化阶段。
syslinux引导plpbt再引导0.4.5c版本的grub.exe,成功启动,但引导0.4.6a版本的grub.exe(7月24日版本),初始化信息一闪后黑屏,无光标。


自用内置菜单如下:
debug off
graphicsmode -1 800
color normal=0x0F highlight=0x02 helptext=0x0E heading=0x05 standard=0x02 border=0x77
terminal --font-spacing=1:4
find --set-root /boot/grub/hotkey
/boot/grub/hotkey
calc 0+*0x8280>>8&0xff-0x80 || set usbtitle=正以 USB-HDD 方式启动 ! set usbtitle=正以 USB-FDD 方式启动
timeout 30
default 1
write 0x8274 0x2001 ::自动菜单编号
title       %usbtitle%
clear
title       从硬盘启动(异常U启)  \n\t  启动硬盘上的系统(硬盘可能与U盘冲突的情况下使用)\n\t  使用上下方向键选中并高亮一条菜单,按回车键或[B]键开始引导。\n\t  按[E]键在引导前编辑命令,或[C]键进入命令行。
map (hd0) (hd-1)
map (hd-1) (hd0)
map --hook
root (hd0,0)
chainloader +1
title       启动 0PE  \n\t  启动 0PE 进行系统维护
map /0pe/0pe.iso (0xFF) || map --mem /0pe/0pe.iso (0xFF)
map --hook
chainloader (0xFF)/grldr
回复

使用道具 举报

155#
发表于 2013-9-25 16:48:03 | 只看该作者
本帖最后由 2011yaya2007777 于 2013-9-25 21:18 编辑

请 mygamexxx 帮忙测试一下,看一看加载 usb 驱动时,死在那里。
回复

使用道具 举报

156#
发表于 2013-9-25 16:48:26 | 只看该作者
本帖最后由 不点 于 2013-9-25 17:09 编辑
0.4.6a版本的grub.exe(7月24日版本),直接改名为grldr,内置菜单只有commandline一句,用grub4dos分区引导记录引导此grldr,出现的现象与grub4dos分区引导记录引导grldr的现象相同。


错误的使用方式。这种方式是把 grub.exe 当作 grldr 来使用,因此其表现也与 grldr 相同。

请把 grub.exe 当作 Linux kernel 来使用,此时,其表现才可能与 grldr 有差别。

请参照 syslinux 加载 Linux 的 vmlinuz 的方式来加载 grub.exe。



补充:

syslinux 有多种方式加载 grldr,而你只使用了其中的一种。请学习 syslinux 的资料,看看有没有控制加载地址的选项。如果没有的话,你可以给 syslinux 开发者提建议,要求增加一个选项,用来控制加载的地址。

你还有另外一个选择,这样你不用求助于 syslinux 的开发者。你可以通过修改 GRLDR 的 “PXE 控制位” 来永久性地屏蔽掉 PXE 的启动步骤。详述如下:

在 asm.S 中。有如下的注释
  1.         . = EXT_C(main) + 0x5

  2. /* control byte: pxe, DUCE, tune
  3. * bit 0 = 1: disable pxe
  4. * bit 1 = 1: disable keyboard intervention in boot process
  5. * bit 2 = 1: disable the "unconditional command-line entrance" feature
  6. * bit 3 = 1: disable geometry tune
  7. * bit 4 = 1: disable startup cdrom drive look-up.
  8. */
复制代码
此处所说的控制字节,位于 grldr 的偏移 0x2005 处。把它的 “位0”(即 “最低位”)设置为 1,即可达到 “禁止 PXE” 的目的。你可以用十六进制编辑器作这个修改,把偏移 0x2005 处的字节 “00” 改成 “01” 即可。注意不要改错了地址,比如,不要修改 0x2000,0x2001,0x2002,0x2003,0x2004 这 5 个字节的内容。修改完了之后,保存修改。新的 GRLDR 将不再执行 PXE 相关的代码了。这样也就可以避免由于 PXE 的探测而造成的死机了。

回复

使用道具 举报

157#
发表于 2013-9-25 18:24:38 | 只看该作者
本帖最后由 mygamexxx 于 2013-9-25 18:49 编辑
2011yaya2007777 发表于 2013-9-25 16:48
请 mygamexxx 帮忙测试一下,看一看加载 usb 驱动时,死在那里。


1、SYSLINUX启动grldr,自动加载USB驱动,死在005C后;
2、SYSLINUX启动PLPBT,再启动grldr,自动加载USB驱动,死在005C后;
3、BOOTICE写入分区引导记录grub4dos0.4.6a,选择识别为软盘时加载驱动,自动加载USB驱动,死在005C后。
图片为同一张,里面数字经核对全部相同。

4、BOOTICE写入分区引导记录grub4dos0.4.6a,选择总是加载驱动,自动加载USB驱动,死在驱动加载成功后。

5、BOOTICE写入分区引导记录grub4dos0.4.6a,选择识别为软盘时加载驱动,按空格后不加载USB驱动,进入命令行(内置菜单只有commandline)。死在root (hd0,0),红框中的内容为拨出U盘后出现。


BOOTICE版本为1.1.4
回复

使用道具 举报

158#
发表于 2013-9-25 18:44:09 | 只看该作者
本帖最后由 mygamexxx 于 2013-9-25 19:59 编辑
不点 发表于 2013-9-25 16:48
错误的使用方式。这种方式是把 grub.exe 当作 grldr 来使用,因此其表现也与 grldr 相同。

请把 gru ...

2013.07.24版0.4.5c版
syslinux菜单kernel /boot/grub/grub5.exe,四行英文一闪,黑屏,10分钟后出现内置菜单,但启动0PE,map --mem /0pe/0pe.iso后Error 25: disk read error;
syslinux加载PLPBT,再菜单kernel /boot/grub/grub5.exe,成功启动;

2013.07.24版0.4.6b版
syslinux菜单kernel /boot/grub/grub6.exe,四行英文一闪,黑屏,10分钟后出现内置菜单,但启动0PE,map --mem /0pe/0pe.iso后Error 25: disk read error;
syslinux加载PLPBT,再菜单kernel /boot/grub/grub6.exe,三行英文一闪,黑屏,15分钟后还是黑屏,不等了;

grub .exe中均有内置自用菜单。
嘿嘿,今天晚上值班,慢慢测试!!!
回复

使用道具 举报

159#
发表于 2013-9-25 20:47:20 | 只看该作者
从截图看,有2个usb设备,每个usb设备有2个lun(即量产为2个盘)。
回复

使用道具 举报

160#
发表于 2013-9-25 20:52:08 | 只看该作者
本帖最后由 mygamexxx 于 2013-9-25 21:08 编辑
2011yaya2007777 发表于 2013-9-25 20:47
从截图看,有2个usb设备,每个usb设备有2个lun(即量产为2个盘)。


哦,一个是手机的内存卡,一个是手机的外置卡,启动文件都在外置卡。手机的内存卡,电脑无法识别,外置卡可以识别。

grldr 0.4.5c加载PLPBT后,内置卡变成(hd0,2),本地硬盘成了(hd2)
运行 root ( TAB补全,显示Possible disks are:   fd0 hd0 hd2 rd
会不会手机的内存卡是(fd0)?
回复

使用道具 举报

161#
发表于 2013-9-25 21:19:51 | 只看该作者
本帖最后由 2011yaya2007777 于 2013-9-25 22:56 编辑

请再测试一下这个。
既然“手机的内存卡,电脑无法识别”,那就不要插在电脑上,避免误判。
外置卡有2个lun,应当识别为2个设备才对。
回复

使用道具 举报

162#
发表于 2013-9-25 21:31:10 | 只看该作者
2011yaya2007777 发表于 2013-9-25 21:19
请再测试一下这个。
既然“手机的内存卡,电脑无法识别”,那就不要插在电脑上,避免误判。

我是用手机启动,手机上有内置的内存卡和后插的外置卡,没办法分开。
回复

使用道具 举报

163#
发表于 2013-9-25 21:40:51 | 只看该作者
mygamexxx 发表于 2013-9-25 21:31
我是用手机启动,手机上有内置的内存卡和后插的外置卡,没办法分开。

那应当识别为5个设备才对。 fd0,hd0,hd1,hd2,hd3
回复

使用道具 举报

164#
发表于 2013-9-25 21:45:28 | 只看该作者
2011yaya2007777 发表于 2013-9-25 21:19
请再测试一下这个。
既然“手机的内存卡,电脑无法识别”,那就不要插在电脑上,避免误判。
外置卡有2个l ...


1、SYSLINUX启动grldr,自动加载USB驱动,全屏字母滚屏
2、SYSLINUX启动PLPBT,再启动grldr,自动加载USB驱动,全屏字母滚屏
3、BOOTICE写入分区引导记录grub4dos0.4.6a,选择识别为软盘时加载驱动,自动加载USB驱动,全屏字母滚屏
4、BOOTICE写入分区引导记录grub4dos0.4.6a,选择总是加载驱动,自动加载USB驱动,死在驱动加载成功后。
5、BOOTICE写入分区引导记录grub4dos0.4.6a,选择识别为软盘时加载驱动,按空格后不加载USB驱动,进入命令行(内置菜单只有commandline)。死在root (hd0,0),红框中的内容为拨出U盘后出现。
回复

使用道具 举报

165#
发表于 2013-9-25 21:55:00 | 只看该作者
本帖最后由 2011yaya2007777 于 2013-9-25 21:59 编辑

"全屏字母滚屏",既然以前死在3后,它总要停止的,停止时截图。
2个卡,4个分区,是什么格式(fat?)
回复

使用道具 举报

166#
发表于 2013-9-25 21:55:02 | 只看该作者
如果你在 PXE 信息之后没死机,那么请忽略我前面的讨论帖。如果你怀疑 PXE 的 BIOS 调用产生死机或假死,请按照我前一帖末尾所谈的方法修改 GRLDR 文件(注意不是 grub.exe 文件)。

回复

使用道具 举报

167#
发表于 2013-9-25 22:03:35 | 只看该作者
本帖最后由 mygamexxx 于 2013-9-25 22:04 编辑
2011yaya2007777 发表于 2013-9-25 21:55
"全屏字母滚屏",既然以前死在3后,它总要停止的,停止时截图。
2个卡,4个分区,是什么格式(fat?)


1分钟多还未停止,两个卡,在电脑上显示两个U盘,外置卡的可以在电脑中查看,内置卡的无法在电脑中查看,只有在手机以MTP方式连接电脑时,才能看到手机的两个卡中的内容,不过这个时候不是U盘的模式。
回复

使用道具 举报

168#
发表于 2013-9-25 22:03:39 | 只看该作者
很好奇,手机怎样启动电脑的?通过pxe?
回复

使用道具 举报

169#
发表于 2013-9-25 22:06:02 | 只看该作者
本帖最后由 mygamexxx 于 2013-9-25 22:10 编辑
2011yaya2007777 发表于 2013-9-25 22:03
很好奇,手机怎样启动电脑的?通过pxe?


手机数据线连接电脑,以USB大容量存储器模式与电脑相连接。我等10分钟看一下,会不会停止。手机与电脑的无线PXE方式启动有人测试成功,但我没有成功。
回复

使用道具 举报

170#
发表于 2013-9-25 22:10:21 | 只看该作者
那随便截图1张,贴上来
回复

使用道具 举报

171#
发表于 2013-9-25 22:15:41 | 只看该作者
本帖最后由 mygamexxx 于 2013-9-25 23:52 编辑
2011yaya2007777 发表于 2013-9-25 22:10
那随便截图1张,贴上来


I盘是外置卡,J盘是内存卡,双击J盘,无法打开,提示请将磁盘插入驱动器

2.jpg (13.01 KB, 下载次数: 114)

2.jpg
回复

使用道具 举报

172#
发表于 2013-9-25 22:19:54 | 只看该作者
本帖最后由 mygamexxx 于 2013-9-26 00:11 编辑
mygamexxx 发表于 2013-9-25 22:15
I盘是外置卡,J盘是内存卡,双击J盘,无法打开,提示请将磁盘插入驱动器


再发一张,是拨下数据线后,再插上数据线,停止滚屏时拍的。
回复

使用道具 举报

173#
发表于 2013-9-25 22:20:45 | 只看该作者
图像太模糊,看不清楚。先按暂停键(Pause),在截图
回复

使用道具 举报

174#
发表于 2013-9-25 22:27:57 | 只看该作者
2011yaya2007777 发表于 2013-9-25 22:20
图像太模糊,看不清楚。先按暂停键(Pause),在截图


暂停后拍照

20130925_222437.jpg (284.96 KB, 下载次数: 115)

20130925_222437.jpg
回复

使用道具 举报

175#
发表于 2013-9-25 22:57:17 | 只看该作者
早点睡觉吧,身体要紧,我是特殊的启动介质,碰上特殊的电脑,反正经过转折后0.4.5c版能启动。
回复

使用道具 举报

176#
发表于 2013-9-25 22:57:40 | 只看该作者
本帖最后由 2011yaya2007777 于 2013-9-26 10:39 编辑

麻烦再测试一下。
回复

使用道具 举报

177#
发表于 2013-9-25 23:20:05 | 只看该作者
本帖最后由 mygamexxx 于 2013-9-25 23:35 编辑
2011yaya2007777 发表于 2013-9-25 22:57
麻烦再测试一下。


加载成功,字母滚屏后成功进入命令行。ls (hd0)/列出外置卡的文件,但尾部有 ABadefgh0C00  iCEABadefgh0C00  iCEABadefgh0C00  iCEABadefgh0C00  iCEABadefgh0C00  iCEABadefgh0C00 iCE 字符。
root (hd0)
map --mem /0pe/0pe.iso (0xff)
map --hook
chainloader (0xff)/grldr
boot
启动0PE成功!!!虽然中间有字母滚屏,但毕竟启动成功了。只是在(hd0)下,find命令就无法正确执行了。

20130925_231824.jpg (145.4 KB, 下载次数: 125)

20130925_231824.jpg
回复

使用道具 举报

178#
发表于 2013-9-25 23:51:13 | 只看该作者
本帖最后由 mygamexxx 于 2013-9-26 07:34 编辑

再上传三张图片

20130926_073039.jpg (126.23 KB, 下载次数: 113)

20130926_073039.jpg

20130925_234218.jpg (215.69 KB, 下载次数: 109)

20130925_234218.jpg

20130925_234646.jpg (182.94 KB, 下载次数: 106)

20130925_234646.jpg
回复

使用道具 举报

179#
发表于 2013-9-26 11:04:14 | 只看该作者
本帖最后由 2011yaya2007777 于 2013-9-28 17:13 编辑
mygamexxx 发表于 2013-9-25 23:51
再上传三张图片


感谢你耐心得测试!终于排除了一处 bug。现在上传一个没有大量显示字符串的版本。

如果不加载 usb 驱动,或者使用 0.4.5c 版本,产生错误的根本原因是:你的外置卡主控芯片返回信息不正确。你没有量产它,却返回有2个 LUN,所以启动时 BIOS 分配 LUN(0) 为 fd0 ,分配 LUN(1) 为 hd0 ,分配硬盘为 hd1 。此时读 hd0 产生问题。

也可能这个 LUN(1) 是你的内置卡。你可以取下外置卡,插在电脑卡槽上,或者通过 usb-SD 转接器插在电脑上,看看是否会多出一个设备。

点评

测试正常加载USB驱动,进入命令行,U盘在(hd0),没有多余字符显示了。  详情 回复 发表于 2013-9-26 11:49
回复

使用道具 举报

180#
发表于 2013-9-26 11:49:48 | 只看该作者
本帖最后由 mygamexxx 于 2013-9-26 13:31 编辑
2011yaya2007777 发表于 2013-9-26 11:04
感谢你耐心得测试!终于排除了一处 bug。现在上传一个没有大量显示字符串的版本。

如果不加载 usb 驱动 ...


测试正常加载USB驱动,进入命令行,U盘在(hd0),没有多余字符显示了。但有一个问题,启动后的root可能是(fd0),ls 显示磁盘读取错误。
并且由于存在错误的磁盘(fd0),  (hd0,0), (hd0,2), (hd0,2), (hd0,3)和U盘为(hd0),find命令可能类死机状态。
外置卡使用读卡器连到电脑上,在我的电脑上只显示一个U盘盘符。

root ( TAB补全,没有显示(fd0),但find 还是有(fd0)。
按空格键不加载USB驱动,进入命令行。

如果使用SYSLINUX加载grldr,或通过plpbt再加载grldr,只有不加载驱动状态才能进入命令行,但(hd0)读取错误。其他均死在初始化状态begin pxe scan...。
按不点兄所说修改0x2005的PXE控制位,使用SYSLINUX加载grldr,或通过plpbt再加载grldr,均死在驱动加载成功后。

使用SYSLINUX加载plpbt再转grldr,不加载USB驱动,进入命令行,U盘是(hd0,2),root是(fd0),可以使用find命令找到U盘上的文件。

如何控制grldr识别为软盘时加载、不加载或总是加载USB驱动?0.4.5c和0.4.6a的pbr是不通用的吗?
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-4-26 10:54

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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