无忧启动论坛

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

[已解决] 有什么办法用grub4ddos直接引导GParted的iso

    [复制链接]
31#
发表于 2016-6-7 12:01:01 | 只看该作者
wangxiongfang 发表于 2016-6-7 01:50
27楼的adef坛友,你的问题屮本来也没法研究,openSuse屮一直没用过,而且屮氏用无线猫4G流量卡上网的,
下 ...

grub4dos引导opensuse.iso要提取iso中的linux和initrd两个文件放在boot目录下,opensuse.iso也放在boot目录下,菜单如下:
title [30] openSUSE.iso
uuid () > nul
set UUID=%?%
set ISO=openSUSE.iso
kernel /boot/linux isofrom=/dev/disk/by-uuid/%UUID%:/boot/%ISO% isofrom_device=/dev/disk/by-uuid/%UUID% isofrom_system=/boot/%ISO% loader=syslinux splash=silent quiet
initrd /boot/initrd

grub2.02 beta3  引导opensuse.iso不用提取文件,把菜单中的 INTEL_902E(这是我U盘的卷标)改成自己U盘的卷标就行了,如果U盘没卷标就自己设一个。菜单如下:
menuentry "OpenSUSE" {
#insmod efi_gop
#insmod efi_uga
set isofile="/boot/opensuse.iso"
echo "Setup loop device..."
loopback loop $isofile
echo "Loading kernel..."
linux (loop)/boot/x86_64/loader/linux isofrom_device=/dev/disk/by-label/INTEL_902E isofrom_system=$isofile LANG=zh_CN.UTF-8
echo "Loading initrd..."
initrd (loop)/boot/x86_64/loader/initrd
}

#insmod efi_gop去掉#号加载视频驱动后,在我的电脑上可以消掉启动时一个进入 blind 模式的提示。
回复

使用道具 举报

32#
 楼主| 发表于 2016-6-8 20:58:13 | 只看该作者
报告ya大,g4d20160603最新版usbzip启动测试完毕,报告结果如下:
1。新版的grub.exe不论加不加--delay=1,usb  --init之后在屮的大笔记本电脑w340e上均可顺利启动两个测试
-----所用的iso,一个slitaz.iso氏48MB,另一个win7pe.iso氏85MB,且读取iso至内存的速度都很快。
2。但氏同一块U盘,在屮的小网络本q230b上均无法工作。grub.exe运行载入菜单后要么氏显示:
      Error 82 No USB device found ,USB device not ready
----这氏较好的结果了,更多的情况氏显示下列信息后失去反应,只能Ctrl+alt+del热启。
     ....scanning USB device....
3。但如果用g4d20160518版的grub.exe运行载入菜单后,则可顺利启动两个测试iso进图形系统都没问题。

看来,g4d20160603版氏只适合于屮的大本w340e,而不适合屮的小本q230b。屮猜测g4d20160603版很可能
在其他坛友的新电脑上也会有类似的情况出现,请ya大再修改源码,或氏等其他坛友多做测试后再做处理。毕
竟屮的大本已有八年历史,U盘也氏块多年的usb20的U盘。

g4d的usb驱动应当更好的适应更新点的电脑和U盘使用要求。
回复

使用道具 举报

33#
发表于 2016-6-9 13:11:30 | 只看该作者
本帖最后由 2011yaya2007777 于 2016-8-16 11:48 编辑
3。但如果用g4d20160518版的grub.exe运行载入菜单后,则可顺利启动两个测试iso进图形系统都没问题。

是不是可以这样理解:
使用20160603版本的grub.exe,在小网络本q230b上无法工作。
同一U盘,更换20160518版本的grub.exe,在小网络本q230b就可以工作了。
理论上不会出现这种情况。

使用20160603版本,就用这个U盘,在小网络本q230b的各个usb端口,不要加载usb驱动,使用 geometry , root , fint , ls , cat --hex (fd0)+1 或者 cat --hex (hd0)+1 报告一下。
然后使用  usb  --delay=1 --init 加载usb驱动,成功的话,使用 geometry , root , fint , ls , cat --hex (fd0)+1 或者 cat --hex (hd0)+1 报告一下。

失败的话,使用下面的 grldr 测试一下(启动时直接引导 grldr;不要进 DOS ,再运行 grub.exe),返回屏幕信息,拍清楚一些。
回复

使用道具 举报

34#
 楼主| 发表于 2016-6-9 23:23:59 | 只看该作者
  1. 是不是可以这样理解:
  2. 使用20160603版本的grub.exe,在小网络本q230b上无法工作。
  3. 同一U盘,更换20160518版本的grub.exe,在小网络本q230b就可以工作了。
  4. 理论上不会出现这种情况。
复制代码


实机测试确实氏这种情况。在两个usb接口,屮试过好多次,都氏如此。另一个接口氏插的usb鼠标,就没试。

小网络本q230b共有三个usb接口,按神舟的主板说明书所言,都氏usb20接口。所用的老U盘氏朗科的U208
bios检测到也氏usb20的U盘。此U盘氏用朗科的专用格式化工具制作的usbzip,不能直接使用grldr,只能在
此zip盘自带的win98dos(格式化后会吃掉500M,并在此U盘中生成三个dos基本文件)环境下运行grub.exe。

屮氏用普通手机的,拍照没法了,不过屮可以把执行ya大所给命令的屏幕输出手工抄录下来。
嗯,先把ya大的命令抄下来,呆会下网再作测试。

回复

使用道具 举报

35#
发表于 2016-6-10 08:53:37 来自手机 | 只看该作者
本帖最后由 2011yaya2007777 于 2016-6-11 08:51 编辑

把鼠标插在试过的端口 然后在这个端口试一试。  如果失败,就比较麻烦了。通过grub.exe进入G4D环境,使用 chainloader  /grldr. 加载测试专用文件,然后执行 usb --init,拍照
回复

使用道具 举报

36#
 楼主| 发表于 2016-6-11 00:09:24 | 只看该作者
屮把usb鼠标拨了,三个usb接逐一测试20160603版的grub.exe,都氏失败的。
屮一直用老式手机,只能打电话发信息而已。测试过程和屏幕结果手工抄录如下:

F2进入BIOS设置,选择Netac2.0的U盘启动优先,保存重启,自动进入DOS环境。
DOS提示符下键入grub.exe运行,加载菜单后,选择命令行,依次执行下列命令:

grub> geometry
      drive 0x80(LBA):C/H/S=246/128/32, Sector Count/Size=1007616/512
grub> root
      (hd0,0) Filesystem type is fat16. partition type 0x04
grub> find
      (hd0,0)
      (hd1,0)
      (hd1,3)
      -------
      (hd1,11)
#屮的本机硬盘有9个分区,3至11依次会显示,由于氏一样的,所以抄录时就省略了几个分区。
grub> IO.SYS MSDOS.SYS COMMAND.COM BOOTLOG.PRV BOOTLOG.TXT grub.exe menu.lst
u208mark.uxt u208isos g4d1604 g4d1605 g4d1606 Uqitools notepad qi7zip WINCONTIG
e2bHboot

grub> cat --hex (fd0)+1
      Error25 Disk read error
grub> cat --hex (hd0)+1
00000000:33C08EC0 8ED88ED0 BC007CFC 8BF4BF00 ;
00000010:06B90001 F2A5EA44 0600008B D558B410 ;
00000020:F6E405AE 048BF08A 74018B4C 02BB007C ;
00000030:BB0102CD 13721681 BFFE0155 AA750EEA ;
00000040:007C0000 80FA8174 02B2808B EABFBE07 ;
00000050:B9040032 F68A4504 3C00740B 3C057407 ;
00000060:803D8074 19FEC683 C710E2E9 0AF674C6 ;
00000070:BE9C06EB 0490BEB4 06E80E00 EBFE8AC6 ;
00000080:043150BE 9906BB1B 0653FCAC 50247FB4 ;
00000090:0ECD1058 A88074F2 C30D0AA0 0D0A4E6F ;
000000A0:20616374 60766520 70617274 6974696F ;
000000B0:6E2E2EAE 0D0A5061 72746974 696F6E20 ;
000000C0:6E6F7420 666F756E 642E2EAE 00000000 ;
--------: ------------------------------------
000001B0:00000000 00000000 0A0B0C0D 00008001 ;
000001C0:0100047F 20F92000 0000486B 0F000000 ;
000001F0:00000000 00000000 00000000 000055AA ;

grub> usb --delay=1 --init
      ...Scanning USB devices...
  
在屏幕出现以上信息后,就失去反应,只能热启电脑。
回复

使用道具 举报

37#
 楼主| 发表于 2016-6-11 00:36:55 | 只看该作者
本帖最后由 wangxiongfang 于 2016-6-11 00:39 编辑
通过grub.exe进入G4D环境,使用 chainloader  /grldr.

原来还可以这样载入grldr。

好的,明天时间多点,继续测试。反正屮不怕麻烦,只要对ya大分析问题有帮助就行了。

屮觉得usb端口应该问题不大,毕竟氏笔记本,不象台式机,前端和后端的usb接口常有供电差异,甚至使用不同
的usb控制芯片。笔记本大多一样,当然如果新式笔记本使用usb30接口又不同些。

此外,此问题可能与屮的小本主板bios有关。启动时认作zip,g4d使用bios信息时又返回硬盘号(hd0,0),这样
设备号就不同了,所以就搜不到usb了。不过20160518版的grub.exe却又行,真氏怪事,明日再对比测试下。


或许换M大的UDm格式化也做个对比。
回复

使用道具 举报

38#
发表于 2016-6-11 08:07:22 来自手机 | 只看该作者
本帖最后由 2011yaya2007777 于 2016-6-11 09:02 编辑

辛苦了,谢谢!
启动到DOS,盘符是"C:\"?

在 G4D 命令行,执行  cat --hex (hd0,0)+1 ,反馈开头的60字符(BPB)。

之后,分别执行
chainloader /grldr
boot
等待2分钟,反馈屏幕信息。
回复

使用道具 举报

39#
 楼主| 发表于 2016-6-11 12:38:20 | 只看该作者
本帖最后由 wangxiongfang 于 2016-6-11 17:30 编辑
启动到DOS,盘符是"C:\"?

既然氏usbzip盘,当然dos提示符显示的氏A:>啦。

还氏用20160603版的grub.exe,运行后载入菜单,选择命令行,进入grub环境:
grub>cat --hex (hd0,0)+1
00000000: EB52 904E 5446 5320 2020 2000 0208 0000 ;
00000010: 0000 0000 00F8 0000 3F00 FF00 0008 0000 ;
00000020: 0000 0000 8000 8000 FFFF 5F01 0000 0000 ;  
00000030: 0000 0C00 0000 0000 1000 0000 0000 0000 ;
00000040: F600 0000 0100 0000 8DDB F0FC 10F1 FCA6 ;
00000050: 0000 0000 FA33 C08E D0BC 007C FBB8 C007 ;
00000060: 8ED8 E816 00B8 000D 8EC0 33DB C606 0E00 ;

一行应该氏16个字符吧,六行该有近百字符了,应当符合ya的最小60字符的要求了。
20行纸上没错,leafpad输入时8000打成8080了,其他行没问题。

接着载入ya大给的专门测试usb失败的grldr:
grub>chainloader /grldr
准备引导的提示忘抄了。
grub>boot   

不用等待两分钟,直接出菜单了,菜单上头显示的氏grub4dos20150718版。
在此菜单中选择title slitaz160424 roll LiveISO in Netac U208SZ1G,仍然氏失败的。

-------------------------------------------------
测试用的氏菜单命令如下:
title slitaz160424 roll LiveISO in Netac U208SZ1G
usb --init \/ usb --delay=1 --init
find --set-root --ignore-cd /u208mark.uxt
map --mem /u208isos/sl160424.iso
map --hook
chainloader (0xff)

使用20160603的grub.exe,无论用usb --init 沃 usb --delay=1 --init都氏失败的。

使用20160518的grub.exe,用usb --init 氏失败的。用usb --delay=1 --init 可以成功引导iso。

ya大客气了,辛苦的氏你才对。你们开发了强大实用的开源引导工具,所有的电脑爱好都应该感谢你们。
当然他们绝大多数并不知道,但爱好技术的人群却氏人人心中有数的。

屮略懂编程的皮毛,深知程序定位错误、消除bug的不容易。
能够参与测试,帮助grub4dos更完善本就氏屮应该做的,要不然屮不就变成伸手党的一员了。
回复

使用道具 举报

40#
发表于 2016-6-11 14:35:20 | 只看该作者
BPB 表很不正常。确认手抄无误?
使用20160518的grub.exe,进入G4D环境,根是00?0x80?

删除menu.lst,使用20160603的grub.exe,进入G4D命令行,分别执行
chainloader /grldr(测试专用)
boot
usb --delay=2 --init
此时屏幕应当出现若干行数字,等待2分钟,抄下来。
回复

使用道具 举报

41#
 楼主| 发表于 2016-6-11 17:32:37 | 只看该作者
20160611--16:50测试过程如下。
先在DOS提示符下运行20160603版的grub.exe。已按ya大要求删除了U盘里的menu.lst。
A:\> grub.exe
接下来由于U盘上没有menu.lst,它会载入本机硬盘上的menu.lst。按'c'进入命令行。
grub> root
(hd0,0) Filesystem type is ntfs. partition type 0x0?
grub> root (fd0)
Filesystem type is fat16. using whole disk
grub> chainloader /grldr
Will boot GRLDR from drive=0x0, partition=0xff(hidden sectors=0x0)
grub> boot
刚载入的grldr会载入本机硬盘menu.lst. 按'c'进入20150718版的grldr命令行。
grub> root
(hd0,0) Filesystem type is ntfs. partition type 0x07
-------------------------------------------------------------------
grub> root (fd0)
Filesystem type is fat16. using whole disk
grub> usb --delay=2 --init
grub> find --set-root --ignore-cd /u208mark.uxt
(fd0)
grub> map --mem /u208isos/sl160424.iso (0xff)
[0/47M]
grub> map --hook
grub> chainloader (0xff)
有两行载入内存位置及方式的提示没抄录,一般到此阶段若成功,iso不能启动多半会氏其他原因了。
grub> boot

之后slitaz顺利启动进桌面。

总结上述过程:
20150718版的grldr能和屮的主板bios适配。
20160603版的grub.exe有问题 oy 不能和屮的主板bios适配。
回复

使用道具 举报

42#
发表于 2016-6-11 18:44:25 | 只看该作者
本帖最后由 2011yaya2007777 于 2016-6-11 19:47 编辑

36楼的测试,没有 fd0 这个设备,是怎么回事?加载 grub.exe 之前盘符是 A:\ 呀!
从分区表看,hd0,0 起始于 0x20 扇区。然而 39 楼的 BPB 表指示 卷起始于 0x800 扇区?

测试用的 grldr 是否在 (fd0)?不确定的话更名为 grldr1

使用20160603的grub.exe,进入G4D命令行,分别执行
find --root /grldr1
chainloader /grldr1
boot
usb --delay=2
usb --init
此时屏幕应当出现若干行数字,等待2分钟,抄下来。不用继续执行原来菜单内容。
回复

使用道具 举报

43#
 楼主| 发表于 2016-6-11 20:16:21 | 只看该作者
本帖最后由 wangxiongfang 于 2016-6-11 21:05 编辑
测试用的 grldr 是否在 (fd0)?不确定的话更名为 grldr1

确定氏在(fd0),因为主机上的grldr也氏20160603版。U盘上的氏20160603版的grub.exe。执行
chainloader /grldr
后屏幕顶部会显示20150718的版本字样。

看来ya大氏想把延迟参数设定和usb初始化两条命令分开做,好的,马上照办。
回复

使用道具 举报

44#
 楼主| 发表于 2016-6-11 21:05:01 | 只看该作者
----------------------------------------------------------------------
grub> chainloader /grldr15
Will boot GRLDR from drive=0x0, partition=0xff(hidden sectors=0x0)
grub> boot
刚载入的grldr15会载入本机硬盘menu.lst. 按'c'进入20150718版的grldr命令行。
grub> root
(hd0,0) Filesystem type is ntfs. partition type 0x07
----------------------------------------------------------------------
grub> find --set-root /grldr15
(fd0)
grub> usb --delay=2
grub> usb --init
0003 0300 0011 2049 4350 0000 0000 0003 00EF 0000 0000 F050 4000 0100 0001 0000
0000
2000 0001 0842 1000 7168 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
0008 1000 1403 1401 1000 1000 1803 1005 1803 1005

至此已失去反应,只能热启电脑。
回复

使用道具 举报

45#
发表于 2016-6-11 21:06:20 | 只看该作者
20160603之前的版本有问题,不能使用
usb --delay=2 --init
而只能使用
usb --delay=2
usb --init
所以结论是内置usb驱动在小本q230b上有问题。
回复

使用道具 举报

46#
 楼主| 发表于 2016-6-11 21:23:19 | 只看该作者
看来这氏主板bios兼容性问题了。
这就比较难办了,毕竟封闭的bios可没有源码提供参考修改,或氏改bios适应g4d,或氏改g4d适应bios。

总之ya大辛苦了,毕竟20160603版的grub.exe在w340e上已经氏成功的。载入iso速度加快很多。
至于在小本上,就用20160518版就行了,bios的usb驱动也不慢。
回复

使用道具 举报

47#
发表于 2016-6-11 21:30:25 | 只看该作者
本帖最后由 2011yaya2007777 于 2016-6-11 22:04 编辑
0008 1000 1403 1401 1000 1000 1803 1005 1803 1005

连接1个低速设备,2个高速设备。还有2个没有探测到。

你再耐心等一等,后面还有信息。
回复

使用道具 举报

48#
 楼主| 发表于 2016-6-11 21:42:38 | 只看该作者
上述信息出现后,屮可氏等了不止五分钟。等会下网后,屮再试试等十五分钟看看。
回复

使用道具 举报

49#
发表于 2016-6-11 21:43:32 | 只看该作者
谢了
回复

使用道具 举报

50#
 楼主| 发表于 2016-6-12 14:23:12 | 只看该作者
今天重新按昨天的方法测试,结果:
grub> usb --delay=2
grub> usb --init
之后所示和昨天测试一样,这次等了二十分钟,仍然氏光标闪烁,屏幕无任何变化。看来氏不会有啥新
东西出现了。

把meunu.lst拷回U208,安全退出U盘。关机,插入U盘,bios选U208优先启动,
DOS环境运行grub.exe,这下不用去硬盘载入meunu.lst了,直接就使用U盘里的菜单文件了。

再次进命令行,依次执行:
grub> chainloader /grldr15
grub> boot
刚载入的grldr15会载入U盘里的menu.lst. 按'c'进入20150718版的grldr命令行。
grub> usb --delay=2
grub> usb --init

奇怪的氏这次出现的数字串比以前要多些。
0003 0300 0011 2049 4350 0000 0000 0003 00EF 0000 0000 F050 4000 0100 0001 0000
0000
2000 0001 0842 1000 7168 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
0008 1000 1403 1401 1000 1000 1803 1005 1803 1005 1803 1005 1000

1201 0002 EF02 0140 C80A 5034 A201 0102 0001 1201 0002 EF02 0140 C80A 5034 A201
0102 0001 0902 2000 0101 0080 FA09 0400 0002 0806 5000 0705 8102 0002 FF07 0502
0200 02FF 09AA 1201 0002 EF02 0140 C80A 5034 A201 0102 0001 0902 2000 0101 0080
3209 0400 0002 0806 5000 0705 8102 0002 FF07 0502 02FF 00AA

等了半小时,无任何新变化。热启电脑。
回复

使用道具 举报

51#
发表于 2016-6-12 20:54:14 | 只看该作者
小本q230b的usb设备是复合设备(类型:0xef;子类型:2;协议:1)。
内置usb2.0驱动不支持复合设备。
回复

使用道具 举报

52#
 楼主| 发表于 2016-6-12 22:05:40 | 只看该作者
多谢ya大的解释,基本明白了。
谢谢ya大的关注和努力,希望g4d更加完善。
回复

使用道具 举报

53#
发表于 2016-6-28 12:39:45 | 只看该作者
本帖最后由 2011yaya2007777 于 2016-6-28 17:45 编辑

wangxiongfang :
请帮忙在小本q230b测试一下。
进入命令行,执行 usb --init ,看看是成功了还是返回什么错误信息。
回复

使用道具 举报

54#
 楼主| 发表于 2016-6-28 17:23:43 | 只看该作者
本帖最后由 wangxiongfang 于 2016-6-28 17:25 编辑

已下载ya所给的grldr测试完毕。

# 在win98的dos环境,使用20160603版的grub.exe
A:\>grub.exe
# 会载入朗科U208zip盘的menu.lst。从菜单或'c'均可进入grub命令行环境。

grub> root
(fd0) Filesystem type is fat16. using whole disk

# 屮已将下载的grldr重命名为grldr628,以便明确知道所用为哪个版本的grldr。
grub> chainloader /grldr628
Will boot GRLDR from drive=0x0. partition=0xff(hidden. sector=0x0)
grub> usb  --init
... Scanning USB devices ...  |

至此光标死定不动,只能Ctrl+Alt+Del热启。多次重启尝试均氏如此显示。
回复

使用道具 举报

55#
发表于 2016-6-28 17:46:55 | 只看该作者
本帖最后由 2011yaya2007777 于 2016-9-11 10:12 编辑

谢谢测试。麻烦再看看这个。

回复

使用道具 举报

56#
发表于 2016-6-29 08:18:31 | 只看该作者
Found 1 USB devices. Device Num: 0x0;
回复

使用道具 举报

57#
发表于 2016-6-29 16:18:24 来自手机 | 只看该作者
很好,可以正常加载usb驱动了。
回复

使用道具 举报

58#
发表于 2016-7-1 13:25:11 | 只看该作者
Error: invalid boot indicator(0x6F) for entry 0.
GRUB4DOS 0.46a 2016-06-26. Mem: 639k/1014M/0M, End: 364A76
回复

使用道具 举报

59#
发表于 2016-7-1 14:22:54 来自手机 | 只看该作者
看来你已经进入G4D的命令行。有什么问题需要解决?
回复

使用道具 举报

60#
发表于 2016-7-1 16:27:01 | 只看该作者
开机可进入命令列
最上行显示Error: invalid boot indicator(0x6F) for entry 0.
返回菜单再进入命令列Error:显示五行
grub>可键入命令
只是反应会显示Error:...
2016-06-03版本没有显示
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-26 21:50

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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