无忧启动论坛

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

[求助] 已解决。grub启动img文件出现问题解决,剩下的问题貌似和grub有关。

[复制链接]
跳转到指定楼层
1#
发表于 2012-2-16 17:35:12 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
在我的笔记本上测试的,我是用移动硬盘启动的。没有任何问题。这时在2个台式机上出现的问题。菜单配置都没有问题的。grub用的是2012.2.1版本,本地硬盘160g,usb移动硬盘320g,启动分区8g,fat32格式。



之前8g分区转成主分区和逻辑分区都试过。并且按照其他朋友说的。把启动分区调成2g。都会启动失败,最终的解决方法是,把320g移动硬盘,分成4个主分区,没有扩展分区了。启动分区8g,fat32,现在用grub启动没有任何问题了。iso和img格式都可以成功运行。但是用sratlf的run模块部分菜单,有几个菜单仍然会出错。就是后面3个截图,前面2个截图没有问题了。用的20号更新的run,没有转成主分区前,grub的所有菜单都不能运行,根据不点的解释知道是我的主板不支持访问太大的扩展分区引起的。可以现在已经没有扩展分区了。只有主分区了。

剩下的下面3个问题,都有用sratlf的run模块才会出现的。

通过后面朋友的回复,我也感觉到时和主板不支持太大的扩展分区有关,或者说是我把grub安装到很靠后的区域引起的,关键是这个问题怎么解决。我已经在3台不同平台及配置的电脑上都出现了这样的问题,我刚刚又重新试了一次,删除所有的分区,一个320g移动硬盘,变成没有分配的空间,用dg3.71分成4个主分区,第一个 8g fat32 ,第2个120g ntfs,第3个 120g ntfs,第四个 50g ntfs。用bootice写入grldr.MBR,写入的是2012.2.1号的版本,在拷贝grldr和boot\grub目录到第一个分区,设置从移动硬盘启动,进入grub后运行下面截图的几个菜单,仍然出现下图的提示,提示说我把grub安装到128g,我就是这么安装的,其他有没有更好的安装方法,让我把grub安装到靠前的区域,我把第一个分区改成2g也试过,还是一样的效果。

进入grub后,先加载usb2.0,在运行下面的这些菜单,居然会成功,只是很慢,每个菜单运行之后,出结果至少要10多秒,但是这个主板在biso中已经开启了,usb的支持。
之前全是扩展分区的时候,也可以通过先加载usb2.0后,在运行其他iso和img文件,都成功过。只是加载usb2.0会出现很高的死机率。


附上winhex截图及附件0-63扇区文件







title [9] 使用firadisk驱动安装系统,同时加载默认位置的srs驱动 \n 需自备 /BOOT/IMGS/FIRADISK.IMG 以及 驱动包 以及 /WIN.ISO 文件,驱动包默认使用hotdll整理的驱动包,和RUN放在同目录的SRS目录下
command RUN --fira srs iso=/ISOS/WIN.ISO

今天运行会显示很多行这样的提示,前面都没有变,后面有268478282   268478280 268478406    268478408   268478296   5201562570  520152572   520178344 等(+1    +63   +4   +16   +2)  至少有几百条这样的提示,不停的刷新屏幕,一直都死机。


title [7] 列出目前所有可用设备 \n 自动菜单方式
command RUN --automenu-all



title [8] 先给出当前磁盘分布情况,按 S 进行交换,回车结束交换,可交换多次 \n
command RUN --swap-ext




title [6] 列出默认目录/BOOT/IMGS/下的所有文件        llllllllllllllllllllll \n 自动菜单方式
command RUN --automenu
这个菜单又没有问题

[ 本帖最后由 xintiandi 于 2012-2-24 17:53 编辑 ]

winhex提取的0-63扇区数据.rar

6.72 KB, 下载次数: 30, 下载积分: 无忧币 -2

60#
发表于 2012-2-25 18:10:28 | 只看该作者

回复 #58 sratlf 的帖子

做任何事,要分清两类情况。一类是可能做到的,一类是不可能做到的。

现实生活中,有很多人做事的时候,不考虑这个问题,结果走了很多弯路。

试想,当你连一个分区的扇区数据都无法访问的时候,你怎么确定它的分区类型等等一系列信息?
回复

使用道具 举报

59#
 楼主| 发表于 2012-2-25 13:52:27 | 只看该作者

回复 #57 幸运的草 的帖子

你说得对,就是由于之前不知道是这么回事,通过这几天的讨论我才弄明白。run超出访问限制,这样的菜单通用性就不好了。现在知道是怎么回事了,就不用这个菜单了。或者改成只列出第一个分区的文件。
回复

使用道具 举报

58#
发表于 2012-2-24 23:49:24 | 只看该作者

回复 #56 不点 的帖子

那就比较头疼了  换句话说就是无论什么命令  只要访问后面几个分区就有可能出错了

还是再询问下不点大了  因为RUN里有几个功能是检测一个分区的体积 文件系统类型 磁盘格式 是否活动

现在文件系统类型是用uuid命令获取的  有别的命令能得到吗  

geometry也可以  但是要分析的内容太多  不能获取指定分区想要的信息  只能是整个磁盘上的所有分区
回复

使用道具 举报

57#
发表于 2012-2-24 20:04:06 | 只看该作者
是S版RUN的自动列表功能“强大”,要搜索所有分区目录镜像并列表,超出了G4D支持的范围。所以出错。

问一句,自己哪里有镜像需要列表,自己不知道?却使用-all参数?

[ 本帖最后由 幸运的草 于 2012-2-24 20:57 编辑 ]
回复

使用道具 举报

56#
发表于 2012-2-24 19:01:52 | 只看该作者

回复 #55 sratlf 的帖子

这里的问题与文件系统类型无关,只与扇区的位置有关。大扇区号不敢访问。

因此,安全起见,只访问第一个分区。

用户也应该注意这个问题,分区的时候,不要有扩展分区。grub 要访问的文件,统统放在 (hd0,0),这样就不麻烦了。

或者在 MBR 上弄个 BPB,只需访问 (hd0) 就等价于访问 (hd0,0) 了。
回复

使用道具 举报

55#
发表于 2012-2-24 18:53:07 | 只看该作者

回复 #50 xintiandi 的帖子

也曾经想改过,最后没有找到合适的命令获取文件系统类型,正好求助下不点大,有没有比较简单的方法能获取指定分区的文件系统类型的

如果是只访问(hd0,0)的话可以用 RUN --automenu (hd0,0) 或者 RUN --autolist (hd0,0)

用到uuid命令的应该就三个参数--swap-ext  --automenu-all  --autolist-all

其他的比如--swap --automenu --autolist是用不到的
回复

使用道具 举报

54#
 楼主| 发表于 2012-2-24 17:52:33 | 只看该作者

回复 #51 不点 的帖子

马上修改。谢谢朋友们的回复。
回复

使用道具 举报

53#
 楼主| 发表于 2012-2-24 17:51:48 | 只看该作者

回复 #52 jh1688 的帖子

那是因为你没有仔细看我的帖子,我也说了。这个移动硬盘在我的笔记本上也没有问题。就是联想的k43a上,怎么折腾都是对的,就算我全部是扩展分区,在我的笔记本上也不会有出错提示,并且也能成功运行所有的run菜单。但是在另外的2台台式机上才出现了这样的问题,当然还在一个朋友的笔记本上出现过。

[ 本帖最后由 xintiandi 于 2012-2-24 17:54 编辑 ]
回复

使用道具 举报

52#
发表于 2012-2-24 17:44:55 | 只看该作者
原帖由 xintiandi 于 2012-2-24 17:31 发表
那我明白了。那就是要sratlf改一下run模块访问的方式,估计我这运行run就不会出错了。我其实只需要访问hd0,0,其他的分区都是用来存放资料用的。不要grub访问。
谢谢不点的回复,看来此贴得终结了。


我也在用320G的移动硬盘做启动盘,就没有你说的问题。

而且我有主分区和扩展分区:

   主分区(系统维护盘)O:\       FAT32            2G

逻辑分区(装机备份盘)P:\    NTFS              50G

逻辑分区(光盘备份盘)Q:\    NTFS              50G

逻辑分区(影视音乐盘)R:\    NTFS              195G

把启动需要的文件全放在主分区,其它文件分门别类,弄了N多台机器,没有出现你说的问题……
回复

使用道具 举报

51#
发表于 2012-2-24 17:35:39 | 只看该作者
问题解决了,你修改标题,添上 “已解决” 字样,方便别人,也方便自己将来搜索这个案例。
回复

使用道具 举报

50#
 楼主| 发表于 2012-2-24 17:31:22 | 只看该作者

回复 #49 不点 的帖子

那我明白了。那就是要sratlf改一下run模块访问的方式,估计我这运行run就不会出错了。我其实只需要访问hd0,0,其他的分区都是用来存放资料用的。不要grub访问。
谢谢不点的回复,看来此贴得终结了。
回复

使用道具 举报

49#
发表于 2012-2-24 17:01:53 | 只看该作者
开玩笑,怎能说没办法解决?

你不访问 (hd0,2) 和 (hd0,3) ,应该没问题。实在不行的话,你连 (hd0,1) 也不访问,只访问 (hd0,0) 就不会有错了。

==========================


又看了你后面的话。

你是否已经钻进死胡同了。启动程序受主板 BIOS bug 的影响,不能访问大的扇区号。但是,能够访问 100G,你竟然还不满足!你究竟有多大的 ISO 需要在启动的时候就挂载?

启动以后,进入 Windows 或者 Linux 之后,就不受 BIOS 制约了。那时候,访问 137G 以上的内容,就没问题了。

因此,大容量移动硬盘,并非毫无用处。

[ 本帖最后由 不点 于 2012-2-24 17:30 编辑 ]
回复

使用道具 举报

48#
 楼主| 发表于 2012-2-24 16:58:34 | 只看该作者
那意思就是我的这个问题没有办法解决了。但是现在没有扩展分区哟。并且我的启动文件都是在第一个分区的。那就不是文件是否靠前的问题了。那就是主分区无法突破137g的限制了。也就是说。就算其他朋友的移动硬盘碰到我这的电脑也是一样的结果。那我也太倒霉了。家里那台amd的也是这样,这台intel的也是这样,不过还好之前有个朋友的笔记本也出现这样的问题,还不是我一个人倒霉,或者直接买个二手的小移动硬盘算了。

[ 本帖最后由 xintiandi 于 2012-2-24 17:01 编辑 ]

2012-2-24 16-56-21.png (39.93 KB, 下载次数: 110)

2012-2-24 16-56-21.png

2012-2-24 16-57-01.png (44.45 KB, 下载次数: 105)

2012-2-24 16-57-01.png
回复

使用道具 举报

47#
发表于 2012-2-24 16:56:00 | 只看该作者
第一个是 8G 的 (hd0,0), 应该比较安全。

第二个 120G 的 (hd0,1),就不敢保证它安全不安全了。但一般还算比较安全的,因为该分区的大部分或者全部都落在 137G 极限之内。

第三个分区 (hd0,2),应该是不可以访问的,因为已经超出 137G 极限了。所谓 137G,其实(可能)就是 128G,(可能)只是算法的不同导致的误差。

第四个分区 (hd0,3) 就更不行了,不用说了。

[ 本帖最后由 不点 于 2012-2-24 16:58 编辑 ]
回复

使用道具 举报

46#
 楼主| 发表于 2012-2-24 16:49:18 | 只看该作者

回复 #45 不点 的帖子

第一个分区只有8g,是fat32的,或者需要看那几个扇区,我用winhex提出来,分区我都是今天才分的。


硬盘分区清单

硬盘名:HD1:HitachiHTS545032A7E380(298GB)  容量:298.1GB  型号:HitachiHTS545032A7E380  序列号:
参数:  38913 柱面   255 磁头   63 扇区.   扇区总数:625142448
分区表类型:MBR

分区信息:

序号   名称               文件系统   引导  标识   起始柱面   磁头   扇区   终止柱面   磁头   扇区     容量
   0   本地磁盘(I:)         FAT32      80    0C           0      1      1       1045    254     63     8.0GB
   1   本地磁盘(J:)         NTFS       00    07        1046      0      1      16711    254     63   120.0GB
   2   本地磁盘(K:)         NTFS       00    07       16712      0      1      32377    254     63   120.0GB
   3   本地磁盘(L:)         NTFS       00    07       32378      0      1      38912    254     63    50.1GB

[ 本帖最后由 xintiandi 于 2012-2-24 16:55 编辑 ]

DSC00047.JPG (123.84 KB, 下载次数: 119)

DSC00047.JPG
回复

使用道具 举报

45#
发表于 2012-2-24 16:44:59 | 只看该作者
出错肯定是访问了大扇区号造成的。

有哪些命令会出错?有没有规律?有可能是 uuid 命令总是去访问某个大的扇区号造成的。
  1. cat    --hex    (hd0)+1
复制代码
显示一下分区表,看看你的分区表是不是有问题。

对了,uuid 命令肯定会访问分区的第一扇区。所以,如果分区的第一扇区的扇区号已经很大了,则肯定出错,一点也不奇怪。

访问最开头的那个分区,出错的概率肯定小很多。

[ 本帖最后由 不点 于 2012-2-24 16:48 编辑 ]
回复

使用道具 举报

44#
 楼主| 发表于 2012-2-24 16:27:19 | 只看该作者

回复 #43 不点 的帖子

我现在就是只有4个主分区啊。没有扩展和逻辑分区,以前就是有逻辑分区,才导致运行grub的其他命令也会出现错误提示,无法运行,现在改成4个主分区了。所有现在grub的一些常用命令菜单式可以运行的。
上面的截图也有用uuid 运行(hd0,2)时出现的提示,但是这时也没有扩展分区的。我现在感觉奇怪的是,为什么全是主分区了,怎么还老出错提示呢。那就说明不是主分区的问题,而是要把文件放靠前的问题了。
现在的一个问题就是我的文件要放到靠前,我现在真的不知道怎么放到靠前的区域,重新分区后,就马上拷贝的grub目录,我现在都没有拷贝其他文件,总共拷贝进去的文件也就3m多,后面3个分区也没有文件。我不知道其他朋友是怎么把文件放到靠前的区域,难道不是直接拷贝进去吗。我是先拷贝的grldr到根目录。在拷贝的boot文件夹下的grub目录的。

[ 本帖最后由 xintiandi 于 2012-2-24 16:42 编辑 ]
回复

使用道具 举报

43#
发表于 2012-2-24 16:21:08 | 只看该作者
在很久以前的帖子中,我就提到,只要你不使用扩展分区,就不会在枚举分区时访问扩展分区表。你没注意看帖子。所以,你反反复复一直发生此类问题。

就是说,只使用 4 个主分区,不再使用复杂的扩展分区/逻辑分区,就可以避免这类问题了。

当然,你的文件一定得放到靠前的分区中,否则,访问文件时,还会出现这类错误。

uuid 命令作用于一个文件系统才有效。你的 hd0 是不含 BPB 的,所以 uuid 无法对它有效。

uuid 可以作用于别的分区,例如 (hd0,0)。

[ 本帖最后由 不点 于 2012-2-24 16:23 编辑 ]
回复

使用道具 举报

42#
 楼主| 发表于 2012-2-24 15:56:23 | 只看该作者

回复 #41 不点 的帖子

grub的发展也需要我们这样测试的耐心。
我马上又测试了一下,这个问题有没有变通方法,就是说让我的移动硬盘改变分区结构等,或者强行将这些文件复制到指定的扇区。不要让我换一个u盘,我之前用1g的tf卡测试过好像没有这些问题。没有用tf卡测试uuid命令,但是通过先加载usb2.0后,在运行run的这些菜单,有时会成功列出磁盘,好像只列出了移动硬盘的分区,本地硬盘就没有看到了。

[ 本帖最后由 xintiandi 于 2012-2-24 16:01 编辑 ]

DSC00045.JPG (96.28 KB, 下载次数: 99)

DSC00045.JPG

DSC00046.JPG (90.37 KB, 下载次数: 104)

DSC00046.JPG
回复

使用道具 举报

41#
发表于 2012-2-24 15:44:30 | 只看该作者

回复 #40 xintiandi 的帖子

真佩服你的 “ 耐心 ”。

Inconsistent data 折腾你这么久,竟然你还有心情做下去。

uuid 的参数 hd0 是错的,应该是 (hd0)。

uuid 之类的命令,有可能首先要查找各个分区。在查找的时候,就会碰到有些分区位于 BIOS 无法访问的区域了。此时,这样的分区就相当于不存在。在出错的地方,给出 Inconsistent data 的错误信息。

粗略看了一下,这些信息都发生在 100 多 G 以后的地方。这些地方本来就容易不被 BIOS 支持,所以,这不算是问题,或者说,我们不认为这是很大的问题,属于 “ 常见现象 ”。
回复

使用道具 举报

40#
 楼主| 发表于 2012-2-24 15:31:04 | 只看该作者

回复 #38 sratlf 的帖子

替换了大字体,没有乱码了。
回复

使用道具 举报

39#
 楼主| 发表于 2012-2-24 15:22:23 | 只看该作者
家里面那台amd的台式机也出现相同的问题,列出磁盘的时候也会这样。只有在我的笔记本上,联想的k43a上是没有问题,不管grub安装在哪,或者不写入引导,直接加载grldr文件,或者把文件放到最后一个分区,甚至全是扩展分区,都不会有问题,也不会出现把grub安装到很靠后扇区的提示,run模块的所有运行命令都能正常执行。当然传统的map之类的命令更没有问题了。

那就请不点看看是什么问题了。

[ 本帖最后由 xintiandi 于 2012-2-24 15:23 编辑 ]
回复

使用道具 举报

38#
发表于 2012-2-24 15:14:45 | 只看该作者

回复 #37 xintiandi 的帖子

http://grub4dos-chenall.googlecode.com/files/unifont.hex.gz

uuid命令报错我就没办法了  只能问问不点大了  看是什么原因引起的
回复

使用道具 举报

37#
 楼主| 发表于 2012-2-24 15:02:51 | 只看该作者
我换成了3.72m的大字库,但是有中文的地方还是有乱码,麻烦给个大字库文件吧。
回复

使用道具 举报

36#
 楼主| 发表于 2012-2-24 14:49:02 | 只看该作者

回复 #35 sratlf 的帖子

分别运行了uuid hd0,uuid hd0,2和uuid命令,见下面截图

uuid hd0

[ 本帖最后由 xintiandi 于 2012-2-24 14:56 编辑 ]

DSC00033.JPG (89 KB, 下载次数: 110)

DSC00033.JPG

DSC00034.JPG (85.1 KB, 下载次数: 107)

DSC00034.JPG

DSC00035.JPG (64.51 KB, 下载次数: 101)

DSC00035.JPG

DSC00036.JPG (77.09 KB, 下载次数: 97)

DSC00036.JPG

DSC00037.JPG (86.11 KB, 下载次数: 105)

DSC00037.JPG

DSC00038.JPG (85.82 KB, 下载次数: 107)

DSC00038.JPG

DSC00039.JPG (80.1 KB, 下载次数: 102)

DSC00039.JPG

DSC00040.JPG (92.49 KB, 下载次数: 105)

DSC00040.JPG

DSC00041.JPG (76.9 KB, 下载次数: 93)

DSC00041.JPG
回复

使用道具 举报

35#
发表于 2012-2-24 14:30:02 | 只看该作者

回复 #33 xintiandi 的帖子

因为RUN里使用的命令很多  所以可能有的命令在你的机器上无法得到正确执行  没能获得RUN想要的结果  所以失败了

传统方法使用的几个命令执行没有出错  所有就没事
回复

使用道具 举报

34#
 楼主| 发表于 2012-2-24 14:11:30 | 只看该作者

回复 #29 sratlf 的帖子

我用的是自己生成的小字库,我马上替换成大字库吧
回复

使用道具 举报

33#
 楼主| 发表于 2012-2-24 14:07:48 | 只看该作者

回复 #31 幸运的草 的帖子

也许真要这样了。如果要传统的方法调用的命令和菜单,都是成功的。没有出现任何错误的提示,只是通过run的才会出现。我的分区及拷贝文件正常操作的。就是不明白。老被提示安装到很靠后的区域。我马上测试一下uuid(hd0.2)
回复

使用道具 举报

32#
发表于 2012-2-24 09:15:48 | 只看该作者

回复 #31 幸运的草 的帖子

看截图应该不是制作上的问题,而是执行的一些和磁盘有关的命令会得到错误的结果

比如第一张图,那一部分是用uuid命令获取指定分区的文件系统格式以及分区类型,但从截图上来看得到的确是读取数据错误的结果
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-17 02:51

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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