无忧启动论坛

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

[已解决] grub4dos不支持固态硬盘吗,还是我的操作有误,机械硬盘也是只识别一个分区

    [复制链接]
跳转到指定楼层
1#
发表于 2020-8-24 23:01:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 chenandjun 于 2020-9-7 01:57 编辑

我的系统

磁盘和分区

grldr文件位置

用的这个安装的,grub4dos用的是0.4.6a

标识文件和grldr内置菜单



http://bbs.wuyou.net/forum.php?mod=viewthread&tid=410145
是按这个贴子做的xp vhd文件启动后是这样子的.



一直说文件未找到,我是一个固态硬盘加上一个机械硬盘,就是机械硬盘(hd1,0)也只认到一个盘,打ls查看一直提示文件系统不一致。


这是什么问题,是不认固态硬盘吗,还是我的操作上面有问题.

评分

参与人数 2无忧币 +10 收起 理由
ko20010214 + 5 此贴必火,强贴留名!
wuxin9712 + 5

查看全部评分

2#
发表于 2020-8-24 23:24:50 | 只看该作者
早该换Grub2了,非常的强大
回复

使用道具 举报

3#
发表于 2020-8-25 00:57:30 | 只看该作者
换新版的试试,你的版本太旧了
回复

使用道具 举报

4#
发表于 2020-8-25 08:31:33 | 只看该作者
你有两个问题:

1、你自己的问题:你在使用 7 年前老掉牙的 grub4dos。
2、你的主板 BIOS 有缺陷,不支持访问大的扇区号,说得通俗一点,你的主板 BIOS 不支持访问盘的靠后部分,只能访问开头的一小部分。甚至你的主板 BIOS 完全不支持访问某个盘(比如固态硬盘)。在目前 grub4dos 的框架下,不可能解决此问题,因为 grub4dos 完全依赖主板 BIOS。

建议 1:修改你的菜单,不让它访问靠后的分区,这样还可以凑合着继续使用 grub4dos。
建议 2:也可考虑改用 UEFI 的启动方案(grub2),放弃 grub4dos。
回复

使用道具 举报

5#
 楼主| 发表于 2020-8-26 00:06:23 | 只看该作者
本帖最后由 chenandjun 于 2020-8-26 00:09 编辑

我把grub4dos换成了新版本,还是一样.

我发现我这个问题去年一月份就提问过一次,有人回复说用grub2,我搜了百度一下,感觉太复杂了,不是拷一个文件放根目录下加个引导就完事的事情,对于我这种小白来说,太难了。
刚刚把固态硬盘装到原机械硬盘的位置,把机械硬盘放在光驱硬盘架上插在光驱位,命令可以用了.去年没放主硬盘位置是有两个卡子顶住了,装不上去,刚才狠心把它敲掉了。








现在命令可以用了,但是map vxd时又说什么块多,我用WinContig64整理说没有碎片啊

现在怎么弄
回复

使用道具 举报

6#
发表于 2020-8-26 10:28:32 | 只看该作者
chenandjun 发表于 2020-8-26 00:06
我把grub4dos换成了新版本,还是一样.

我发现我这个问题去年一月份就提问过一次,有人回复说用grub2,我 ...

       ssd上面,用碎片整理软件是没有什么用处的,比如你用的wincontig,一般地来说碎片整理只对机械硬盘有效,ssd因为存在逻辑转换电路,中间隔了一层,不一定有效的。

你把ssd那个分区格式化或者全盘格式化一次,应该就可以了。
回复

使用道具 举报

7#
发表于 2020-8-26 18:26:11 | 只看该作者
本帖最后由 不点 于 2020-8-26 18:31 编辑

报错:太多的碎片

注意,如果 VHD 是压缩文件格式,则可能会出现这个问题。

你的 map 是不带 --mem 的,就是说,你是“直接”映射为虚拟盘。在这种情况下,vhd 文件不可以是压缩格式,也就是说,不可以是 gz 、zip、lzma 之类的格式,而只能是整个磁盘(按照扇区顺序)的精确拷贝(或者叫做克隆),不可以在克隆以后,又对 vhd 文件实施任何种类的压缩操作(务必注意!)。


另外,你可以用


blocklist   /vhdxp/winxp.vhd


来列出这个文件的碎片。如果这条命令无法成功执行,那很可能就表明,你这个文件不是“平坦的、普通的”,而是“压缩的”。如果能够成功执行,它会列出碎片的详情。




回复

使用道具 举报

8#
发表于 2020-8-27 01:09:39 来自手机 | 只看该作者
我的电脑cpu t3400内存2g笔记本的,奇怪的是usb启动只支持usb-hdd和微软自带,其他一概启动不了
回复

使用道具 举报

9#
发表于 2020-8-27 02:16:28 | 只看该作者
本帖最后由 derry 于 2020-8-27 02:33 编辑
chenandjun 发表于 2020-8-26 00:06
我把grub4dos换成了新版本,还是一样.

我发现我这个问题去年一月份就提问过一次,有人回复说用grub2,我 ...

我也是一直用grub4dos,grub2没精力研究,不过我win7一直是用boot.ini启动grub4dos,没把C盘引导区改grldr

1.对于你把固态和机械物理换位置,应该可以不用这样做,在BIOS里就可以设置硬盘顺序呀,或者在menu.lst里用
map (hd1) (hd0)
map (hd0) (hd1)
map --hook
来对换硬盘

2.对于加载vhd块的问题,map加个--top参数会不会有用?
另外教程提到过,map不加--mem参数进行仿真,要求对应的映像文件在硬盘上一定要连续存放,用map --mem应该总是能够成功的,但要求你的内存足够大,但你16G内存应该够
map --mem --top winxp.vhd (hd0)


回复

使用道具 举报

10#
发表于 2020-8-27 07:41:23 | 只看该作者
俺滴可以滴
回复

使用道具 举报

11#
 楼主| 发表于 2020-8-30 23:01:26 | 只看该作者
derry 发表于 2020-8-27 02:16
我也是一直用grub4dos,grub2没精力研究,不过我win7一直是用boot.ini启动grub4dos,没把C盘引导区改grld ...

我的5750G在bios中只能认到一个硬盘
回复

使用道具 举报

12#
 楼主| 发表于 2020-9-7 01:58:58 | 只看该作者
谢谢大家的关心,我重做了xp.vhd,可以了,就是我的ram镜像不能超过2G超过直接7b蓝屏,win7也是一样的
回复

使用道具 举报

13#
发表于 2020-9-8 16:21:34 | 只看该作者
楼主报告问题很详细,很有耐心。(如果是我,我可不会有这么详细。)

因此,我乐意帮忙。

你报告 RAM 镜像超过 2G 会有 7b 蓝屏。我大致能猜到原因了。

我猜,当镜像超过 2G 时,鉴于你把镜像加载在 4G 以下的内存空间,由于它超过了 2G,而在你特定的这个有毛病的主板之下,正好与你的某个 BIOS 内存发生了冲突,导致 07b 蓝屏。

解决方法是:把镜像加载在 4G 以上的高位内存,避免与 4G 以下的内存发生冲突。

在你的 map 命令中,添加 --top 参数,可以达到上述目的:

map   --mem   --top   /vhdxp/winxp.vhd   (hd0)

或者用下面这句(互换两个选项的位置)也是一样的效果:

map   --top   --mem   /vhdxp/winxp.vhd   (hd0)


回复

使用道具 举报

14#
 楼主| 发表于 2020-9-8 23:56:48 | 只看该作者
不点老大亲自回复,我很感动,晚上刚才又做了,没有成功,下面向老大汇报一下.
我创建了一个3G的固定winxp.vhd,在磁盘管理里面做的.
然后把原来的1.9G的可以启动的vhd克隆到了这个3G的vhd盘上,用的是DiskGenius


两个盘数据一样

放在d盘vhd目录下

c盘结构和menu菜单内容

启动后



按b键启动,正在加载....




然后失败


换成top在前面

一样的失败

汇报结束.
回复

使用道具 举报

15#
 楼主| 发表于 2020-9-9 00:18:54 | 只看该作者
本帖最后由 chenandjun 于 2020-9-9 00:21 编辑

看到老大说用blocklist列碎片,我刚才做了一下

不知道这两个数字是什么意思.
但是那个2G(属性看是1.9G)的是可以启动的.



就是显卡和蓝牙驱动装不上,我是双显卡的(intel+GT630)
回复

使用道具 举报

16#
发表于 2020-9-9 08:05:43 | 只看该作者
本帖最后由 不点 于 2020-9-9 18:34 编辑

嘿!咱就不怕它失败!咱怕的是它不失败!它失败了,咱好折腾啊。

吹牛归吹牛,问题能否解决,咱还真没把握 :-(

就把这个论坛当成是聊天室吧。咱随便聊。

既然随便聊,咱就随便说,不要太认真。

2G 克隆到 3G,用 --top 不行。这似乎暗示,--top 本来就不行。

先验证这个结论是否成立,用 2G 的映像,带有 --top 加载在高位内存,试试是否成功。


按照刚才的猜想,它同样会失败。

执行完 map 命令之后,可以执行一下

map   --status

命令,这会显示出,映像究竟加载到哪个内存地址处了。

再说明一点,--top 和 --mem 的顺序无关紧要,只需试验一种情况(比如 --mem  --top)即可,没必要两种情况( “--mem  --top” 和 “--top  --mem”)都去试验。

关于 blocklist 的输出,显示的结果 x+y 表示映像起始于扇区 x,占用 y 个扇区。这说明只有一个碎块,也就是说,是连续的,没有碎块(只有一个碎块就等于说是没有碎块)。

如果有碎块的话,会显示成这样:

x1+y1,x2+y2,x3+y3

这表示有三个碎块。多个碎块,依此类推。


补充一点


既然初步确定这是个与内存冲突有关的问题,那就用

displaymem

命令显示一下 BIOS 的内存块分布情况,这很要紧。


这条命令可以在 map 之前执行,也可以在任何其他时候执行,显示结果都是一样的。

-----------------------------------------------

假如结果和我猜的一样,即 2G 用 --top 发生了失败,那么接下来试试


map   --mem=-6291456   --top   /vhdxp/winxp.vhd   (hd0)


注意“--mem=-6291456”是连成一串的,中间不含空格;而且等号后面是个负数。


如果仍然失败,再试试 “--mem=-8388608”,仍然是负数,不过绝对值增大了。


如果这样试验侥幸能成功的话,你可以针对你的 3G 映像来做同样的试验了(3G 映像只需测试“--mem=-8388608”这一种情况)。



回复

使用道具 举报

17#
 楼主| 发表于 2020-9-9 11:08:53 来自手机 | 只看该作者
晚上回去弄,到时再向老大汇报
回复

使用道具 举报

18#
 楼主| 发表于 2020-9-9 19:59:45 | 只看该作者
本帖最后由 chenandjun 于 2020-9-9 20:22 编辑

老大刚才我又试了那个2G的能启动的,加--top,确实如你所说,失败了.


后又加--mem=-6291456  和--mem=-8388608还是一样蓝屏.



我的map --status数据




我的displaymem数据,老大帮看看.

汇报完毕.


回复

使用道具 举报

19#
发表于 2020-9-10 08:14:51 | 只看该作者
本帖最后由 不点 于 2020-9-10 08:22 编辑

从 displaymem 的显示,看到 4G 以下有

Usable RAM:Base:100000,Length:96D3F000 ----- 这就是 2471164K,也就是 2.47G。

这说明,在 4G 以下的空间,你最大可以放置的 img 的大小就是 2.47G。

在 4G 以上的空间,是连成一片的:

Usable RAM:Base:100000000,Length:35FE00000 ----- 长度大约是 13G 多。

这个 BIOS 的内存块分布,很正常。

比如说,在 4G 以下,它的全部 Usable RAM 都集中在 2.47G 这一块上了,而不是像某些恶意 BIOS 制造商,把它破分成若干个 512M 的小块。而在 4G 以上,也全部都是 Usable RAM,没有 Reserved,这都没有表现出“作恶”的迹象。

当然了,作恶的地方,可以有很多;此处不作恶,而在别处作恶的可能性当然也是存在的。

为什么把 img 放在 4G 以上的那个巨大空间里面会失败?

有两种可能:

1、4G 以上的内存,在物理上不可靠(或者说,内存条有问题)。

2、软件问题,譬如说,进入 Windows 之后,某个 Windows 驱动程序有问题,毁掉了我们的 img 数据,导致该虚拟盘无法访问,从而出现 07B 蓝屏。这种可能性有无限多,很难猜测具体是哪个驱动程序导致的。甚至一个普通的流氓软件,也可能毁掉我们放置在高位内存上的 img 数据。所以,从软件的角度,没法猜测具体问题出在哪里。(特别提醒,有这样的可能性:你的固态硬盘驱动程序以某种方式破坏了 4G 以上的高端内存,使得我们的 img 虚拟盘数据损坏或不可用,从而出现 07b 蓝屏;如果是这种情况,那就无解了)。

最后,你再试试这两个:

map   --mem=-28307456   --top   /vhdxp/winxp.vhd   (hd0)

以及

map   --mem=-27258880   --top   /vhdxp/winxp.vhd   (hd0)

意思是,假定内存条的顶部损坏了,只使用低端部分,看看效果怎样。只需对 2G 的 img 进行测试即可。

回复

使用道具 举报

20#
 楼主| 发表于 2020-9-10 09:58:39 | 只看该作者
老大,试了那两个参数,一样蓝屏.




回复

使用道具 举报

21#
发表于 2020-9-10 10:53:45 | 只看该作者
那就基本能够说明,4G 以上的高位内存不可使用。

剩下的事,也就是如上所说,检查内存条硬件是否有问题;确定固态硬盘是否是问题的根源,等等。

内存条很容易检查,你可以更换内存条。

而软件冲突,不容易检查。

不过,如果你用本地硬盘(不使用固态硬盘)没问题的话,那就可以证明内存条硬件没问题,而是固态硬盘带来的不兼容问题。这些太复杂,需要你自己再探索一下,本人能力所限,也就帮不上忙了。

回复

使用道具 举报

22#
发表于 2020-9-10 11:41:11 | 只看该作者
对不起,突然想到另一个问题。

winvblock 不支持 4G 以上高位内存。

你是不是在用 winvblock?

你应该用 firadisk 才行。



回复

使用道具 举报

23#
 楼主| 发表于 2020-9-10 13:52:41 来自手机 | 只看该作者
是winvblock,是看坛子上的贴子跟着弄的,winvblock不支持吗,那我晚上回去再弄,到时再汇报

点评

太好了,这就找到原因了。我们走了很多弯路,就是因为这个细节。细节决定成败,做事情必须认真。  详情 回复 发表于 2020-9-10 15:39
回复

使用道具 举报

24#
发表于 2020-9-10 15:39:36 | 只看该作者
本帖最后由 不点 于 2020-9-10 16:07 编辑
chenandjun 发表于 2020-9-10 13:52
是winvblock,是看坛子上的贴子跟着弄的,winvblock不支持吗,那我晚上回去再弄,到时再汇报

太好了,这就找到原因了。我们走了很多弯路,就是因为这个细节。细节决定成败,做事情必须认真。


firadisk 和 SVBus 都支持 4G 以上高位内存。


只有 WinVblock 不支持。我对这些驱动程序的原理不太了解。好像有人说过,它也并非完全不支持,而是依赖于操作系统是否支持 4G 以上高位内存。如果你的 Windows 操作系统是 64 位的,那 winvblock 也支持 64 位内存。如果操作系统是 32 位的,那么 winvblock 也只支持 32 位内存。


就是说,winvblock 不是“铁定”支持 64 位的内存。



而 firadisk 以及 SVBus 都是“内建”支持 64 位内存,与操作系统是否为 64 位是没关系的。换句话说,只要 CPU 支持  64 位内存即可。


firadisk 较旧,SVBus 较新。


我建议你先试试 SVBus,如果不能搞定,再试试 firadisk。





回复

使用道具 举报

25#
 楼主| 发表于 2020-9-10 16:15:35 来自手机 | 只看该作者
好,svbus也像winvblock一样,装个驱动就可以吗

点评

实在抱歉,本人全都不曾用过。 firadisk、winvblock、svbus 三个软件,本人从未自己操练过。 没法提供经验。 你需要查找相应的资料。 svbus 出现较晚,据说是结合了 firadisk 与 winvblock 的优点,  详情 回复 发表于 2020-9-10 19:06
回复

使用道具 举报

26#
发表于 2020-9-10 19:06:42 | 只看该作者
chenandjun 发表于 2020-9-10 16:15
好,svbus也像winvblock一样,装个驱动就可以吗

实在抱歉,本人全都不曾用过。

firadisk、winvblock、svbus

三个软件,本人从未自己操练过。

没法提供经验。

你需要查找相应的资料。

svbus 出现较晚,据说是结合了 firadisk 与 winvblock 的优点,是集大成者。

但究竟怎么个使用方法,你得花时间搜索、学习、试验、研究了。

回复

使用道具 举报

27#
 楼主| 发表于 2020-9-10 20:51:00 来自手机 | 只看该作者
等10.30下班回去研究

点评

早9晚11,大概只有华为才这样吧?华为似乎处处都要有 911 的标记,跟 911 耗上了。  发表于 2020-9-11 07:56
回复

使用道具 举报

28#
 楼主| 发表于 2020-9-11 02:13:17 | 只看该作者
svbus驱动好像不行.
我重新创建了一个2G的vhd,装了微软原版的winxpsp3.

svbus下载下来放在c盘,然后通过添加新硬件的方式添加驱动进去的.里面有三个文件精神夹bin installer svbus我装的是bin里面的驱动















我看它那个帮助说不支持休眠,我打powercfg -h off结果显示不支持,原来是我驱动都没装

然后进it天空的pe里面注入ahci驱动





然后看坛子里说boot.ini里面会多个参数/noexecute=alwaysoff,我看了下,我的没有

然后就是重启,用grub4dos来加载它,先直接
find --set-root /vhd/winxp.vhd
map /vhd/winxp.vhd (hd0)

然后屏幕就是黑的

过了一会儿,应该是蓝屏了,很快,手机没拍到,然后就重启了
后来加了map --top /vhd/winxp.vhd (hd0)和map --mem --top /vhd/winxp.vhd (hd0)
出现也是黑屏过了一会儿蓝屏了,但是蓝屏代码变了,变成ea



看样子这个svbus对我机子是不行,我换成firadisk看看

点评

底部“framebuf”字样,应该是暗示“显卡”驱动失败。据说正是 XP 的显卡驱动有 bug,才导致这个蓝屏的。补救办法(workaround,或者说“擦屁股”)就是用 e820cycles 参数。win7 的显卡驱动似乎已经没这毛病了。  发表于 2020-9-11 07:49
总感觉蓝屏原因跟内存条有关 试试2根内存条互换个插槽  详情 回复 发表于 2020-9-11 02:41
回复

使用道具 举报

29#
发表于 2020-9-11 02:41:19 | 只看该作者
chenandjun 发表于 2020-9-11 02:13
svbus驱动好像不行.
我重新创建了一个2G的vhd,装了微软原版的winxpsp3.

总感觉蓝屏原因跟内存条有关
试试2根内存条互换个插槽

点评

好,我就来换  详情 回复 发表于 2020-9-11 02:48
回复

使用道具 举报

30#
 楼主| 发表于 2020-9-11 02:42:05 | 只看该作者
我刚才在弄vhd时发现一个问题,我不知道这是我这个特定笔记本的问题还是别的什么问题,也不知道是不是问题,就是我进pe用pe里的磁盘管理加载vhd文件,然后再分离,不做其它任何操作,重启电脑时就一个光标在那闪,系统不能启动了,然后再进pe用BOOTICEx64看主引导一切正常,然后我就把主引导先换成winnt 5x /6x mbr 然后再换成grub4dos它就又好了.上图
用的it天空的pe



用BOOTICEx64看主引导没有任何问题

重启就一个光标在那闪,启动不了

然后重进pe,先改成winnt 5x/6x再换成grub4dos就好了,不知道什么问题












点评

这应该说是很明显的,grub4dos的引导记录被(某个病毒;或 Windows 的磁盘管理程序)破坏了,然后,你重新安装一次就好了。在硬盘 mbr 上,应该用 wee 来取代 grldr.mbr,取得更好的成功率。  发表于 2020-9-11 08:11
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-26 06:25

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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