无忧启动论坛

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

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

    [复制链接]
31#
 楼主| 发表于 2020-9-11 02:48:27 | 只看该作者
derry 发表于 2020-9-11 02:41
总感觉蓝屏原因跟内存条有关
试试2根内存条互换个插槽

好,我就来换
回复

使用道具 举报

32#
 楼主| 发表于 2020-9-11 03:03:25 | 只看该作者
涛声依旧,内存换过位置了.



回复

使用道具 举报

33#
 楼主| 发表于 2020-9-11 04:47:13 | 只看该作者
本帖最后由 chenandjun 于 2020-9-11 04:52 编辑

老大会,特大喜讯,我成功了,
刚才又在反复的弄,实在不甘心,后来想起来看到坛子里有个贴子说的要加防蓝屏代码--e820cycles=0的,我就试了一下,没想到竟然成功了,svbus确实快比winvblock快多了,winvblock内存盘进到桌面打开我的电脑都有个手电筒先转几圈才出来内容


然后又试内存方式--e820cycles=0 map --mem和map --mem --top均失败蓝屏,但是蓝屏代码会变,一会0a一会19,然后改成--e820cycles=1和2 3均成功





我看你有个贴子上面说用扇区加载,我弄了出错,不知道为什么



点评

恭喜搞定,钻研精神值得敬佩 grub4dos 水平比我高多了  发表于 2020-9-12 00:58
最近这两天都是节日,你都错过了,偏偏要在 911 搞定,而且是星期五。你不会是来自华为的吧?据说华为把什么事项定在 911 这天。估计你这个帖子会火,可能很多人都会来这里参观了。  发表于 2020-9-11 07:34
语法错误。map 一行的尾部缺少虚拟盘的盘号。应该为 map (hd0,4)1541744+4194305 (hd0) 之类的。报错说“不认识的设备字符串,或者你缺少必须的设备名部分”,说的就是缺少 (...) 这个设备名。  发表于 2020-9-11 07:25
回复

使用道具 举报

34#
 楼主| 发表于 2020-9-11 04:49:29 | 只看该作者
下面要把它扩大到3G再看看有没有用
回复

使用道具 举报

35#
 楼主| 发表于 2020-9-11 05:25:48 | 只看该作者
刚刚试了创建一个3G的vhd,克隆过去,失败了,提示这个,是什么意思

回复

使用道具 举报

36#
 楼主| 发表于 2020-9-11 06:37:50 | 只看该作者
我又重建了一个3G的空的vhd,然后用vmware虚拟机用iso新装原版的就可以了,为什么用diskgen克隆不行呢

点评

噢,昨天晚上克隆时好像提示说要新签名的,但我取消了,弄三次都是取消了的,原来是在这错了,后来没办法了,全新装原版的  详情 回复 发表于 2020-9-11 11:28
windows 会检查 mbr 上的“磁盘签名”,windows 系统内部会拒绝两个不同的磁盘具有相同的磁盘签名。有可能 diskgen 克隆的时候,连磁盘签名也一起克隆了,造成两个磁盘的冲突,只有其中的一个磁盘才会被系统承认。  发表于 2020-9-11 08:30
回复

使用道具 举报

37#
 楼主| 发表于 2020-9-11 11:25:43 | 只看该作者
谢谢,在无忧学到了不少东西
还有个问题请教,比如我这个菜单
title winxp vhd
find --set-root /vhd/winxp.vhd查找winxp.vhd把它作为根
map /vhd/winxp.vhd  (hd0)   把根目录下的winxp.vhd映射成虚拟磁盘(hd0)就是第一块硬盘的意思吗
我看有好多人这里会加上map (hd0) (hd1)    为什么要有这上步,map /vhd/winxp.vhd (hd0)不是已经把vhd映射成了hd0了
如果这里交换了,那虚拟磁盘不是(hd1)了吗,那后面chinaloader (hd0,0)/bootmgr这里启动不是还是从第一个硬盘启动吗
按照我想的这里会应该找不到文件才对因为前面以经交换了呀map (hd0) (hd1) 但是我昨天晚上加了这个也一样能启动,去掉也一样能启动
那这map (hd0) (hd1)究竟是什么意思呢
还有你那个我发了map --status图你就知道内存是不是连续的,你是怎么看的包括displaymem看那个低位内存多大,高位内存多大

回复

使用道具 举报

38#
 楼主| 发表于 2020-9-11 11:28:08 | 只看该作者
chenandjun 发表于 2020-9-11 06:37
我又重建了一个3G的空的vhd,然后用vmware虚拟机用iso新装原版的就可以了,为什么用diskgen克隆不行呢

噢,昨天晚上克隆时好像提示说要新签名的,但我取消了,弄三次都是取消了的,原来是在这错了,后来没办法了,全新装原版的
回复

使用道具 举报

39#
发表于 2020-9-11 11:58:20 | 只看该作者
map /vhd/winxp.vhd (hd0)  是把 vhd 映射为虚拟盘 hd0

map (hd0) (hd1) 是把真实盘 hd0 映射为虚拟盘 hd1,这是因为,前一句执行后,虚拟盘 hd0 还没开始起作用(要等到 map --hook 以后才会起作用),所以,此时,hd0 仍然是你内置的真实硬盘 hd0。

如果没有 map (hd0) (hd1) 这句,那么,当你执行 map --hook 之后,你在 grub4dos 环境下就无法访问你的真实硬盘 hd0 了,这是因为,每当你想访问 hd0 的时候,grub4dos 都会给你提供虚拟盘 hd0 的数据,也就是 vhd 的数据,因此,你的真实硬盘,就被隐藏了,无法访问了。

有了 map (hd0) (hd1) 这句,那么,当你执行 map --hook 之后,你就可以通过访问虚拟的 hd1 硬盘来访问原始的真实硬盘 hd0 了。

回复

使用道具 举报

40#
发表于 2020-9-11 12:04:16 | 只看该作者
map --status 是希望看到 map --mem --top 加载的内存位置。

可是,你给的图,都不带 --top,所以,看不到想要的结果。

displaymem 里面,reserved 是 BIOS 系统保留内存,任何用户程序都不可以随便碰它。只有 usable RAM 才是可供各类应用软件随便使用的。
回复

使用道具 举报

41#
 楼主| 发表于 2020-9-11 12:36:15 | 只看该作者
本帖最后由 chenandjun 于 2020-9-11 12:37 编辑

刚才又进grub4dos下看了下,大概知道map (hd0) (hd1)意思了,第一次列文件时有460文件夹的,map --hook后没有了.

map --status我有做mem --top的照片,也可以昨天晚上拍的照片太多了,还要转,手机图片都大,我刚才拍了一张.

回复

使用道具 举报

42#
发表于 2020-9-11 17:52:42 | 只看该作者
嗯,理解了就好。如果你事先有 map  (hd0)  (hd1) 的话,在 map --hook 执行以后,你就可以用 “ ls  (hd1,0)/ ” 来列出 360SANDBOX 以及 Users 等目录了,它们是在你的真实盘上。你的虚拟盘上有 svbus 目录以及 ntldr,而真实盘上没有这些。稍稍留意,是可以看出差别的。

map --status 显示的 Start Sector (起始扇区号)为

0x1EFEFF8 (单位是 512 字节的扇区)= 0x1EFEFF8 × 0x200(单位是字节) = 0x3DFDFF000(字节)=16640897024(字节)

也就是说,它起始于大约 16G 处。

显示的 Sector Count (占用的扇区数)为

0x400008(单位是 512 字节的扇区)= 0x400008 × 0x200(单位是字节) = 0x80001000(字节)=2147487744(字节) 也就是说,长度大约 2G。

映像的尾部,位于

0x1EFEFF8 + 0x400008 = 0x22FF000(扇区)=0x22FF000 × 0x200 (字节)=0x45FE00000(字节)

这与你 displaymem 显示的最后一行的终止位置相同。

这跟预想中的一样,很正常。


回复

使用道具 举报

43#
发表于 2020-9-11 18:06:07 | 只看该作者
你的报告,同时也证明了(至少在 WinXP 的情况下) winvblock 不支持 4G 以上内存,而 svbus 是支持的。这会给其他人提供有益的线索,让他们少走弯路。

如果你想让这个问题有个更加完整的答案,你也可以试试 Win7 (64 位),目的是验证 winvblock 是否在 64 位的操作系统之下能够支持 4G 以上的高位内存。无论支持还是不支持,结论都有用,都有价值。
回复

使用道具 举报

44#
 楼主| 发表于 2020-9-11 19:41:04 | 只看该作者
本帖最后由 chenandjun 于 2020-9-11 20:02 编辑

能否推荐两个精减版,64位太大,镜像太大,我10.30下班回去弄了再汇扳我想起一个问题,我用winvblock好像没加防蓝屏参数--820cycles=1
晚上回去还要再试一下

回复

使用道具 举报

45#
 楼主| 发表于 2020-9-12 00:05:44 | 只看该作者
晚上想起昨天的winvblock的盘没有加--e820cycles=1刚才又做了一次.
map /vhd/winxp.vhd正常进系统


map --mem /vhd/winxp.vhd也是正常的



map --mem --top /vhd/winxp.vhd蓝屏,意思就是winvblock驱动不能--top


点评

确实应该想到这些细节。再一次证明了 winvblock 在 xp 的情况下,不支持高位内存。另一方面,winvblock 似乎替 xp 打了补丁,也可能是替 grub4dos 做了 e820cycles 的工作,总之,在 grub4dos 中不需要这个参数了。  发表于 2020-9-12 07:18
回复

使用道具 举报

46#
 楼主| 发表于 2020-9-12 00:45:58 | 只看该作者
老大,win764位winvblock驱动装不上啊,安装了然后说什么签名错误,再重启vhd系统就坏掉了.












回复

使用道具 举报

47#
 楼主| 发表于 2020-9-12 02:16:40 | 只看该作者
查网上的禁用数字签名

然后用grub4dos启动它





禁用数字签名

然后就蓝屏了



点评

这就是说,winvblock 在 64 位操作系统之下失败了。但你没有试验去掉 e820cycles 参数的情况。另外,win7 太大,无法放到 4G 以下的空间里面,所以没法测试不带 --top 的情况。以后若有可能,找个精简版试试。  发表于 2020-9-12 07:28
回复

使用道具 举报

48#
 楼主| 发表于 2020-9-12 03:27:43 | 只看该作者
刚刚把驱动换成svbus64驱动,启动还是蓝屏,后来发现不加--e820cycles=1就不蓝了,win764位不能加这个





点评

干得好!可是前面的 winvblock 也该试试不加 e820cycles 参数的情况,否则测试就没完成。估计 winvblock 也会成功吧。displaymem 不需要了,只需执行一次就够了。map --status 也不需要了, 因为知道会加载在哪里。  发表于 2020-9-12 07:39
回复

使用道具 举报

49#
 楼主| 发表于 2020-9-12 10:46:10 | 只看该作者
本帖最后由 chenandjun 于 2020-9-12 10:47 编辑

不加e820参数一样的蓝屏


我来找个小点的64位来装下,这个win7太大了,11G多,加载到内存都要等好几分钟

点评

我在下精减的64位系统,下在内存盘里,不好关机,等晚上回来再试123456这几个参数  详情 回复 发表于 2020-9-12 12:21
可以试试 --e820cycles=0 ,并且再多试几个,比如 1, 2, 3, 4, 5, 6,看看有没有能成功的。如果都不成功,那就基本上可以说,winvblock 不支持 4G 以上的高位内存了。  发表于 2020-9-12 11:09
回复

使用道具 举报

50#
 楼主| 发表于 2020-9-12 12:20:00 | 只看该作者
map --status 显示的 Start Sector (起始扇区号)为

0x1EFEFF8 (单位是 512 字节的扇区)= 0x1EFEFF8 × 0x200(单位是字节) = 0x3DFDFF000(字节)=16640897024(字节)
我是这样算的:1EFEFF8是16进制,用windows计算器换成10进制是32501752(这个是这么多扇区变成字节*512,因一个扇区有512字节)*512=16640897024字节,变成千(kb)字节/1024变成兆(mb)字节/1024变成吉(Gb)字节=16Gb
显示的 Sector Count (占用的扇区数)为

0x400008(单位是 512 字节的扇区)= 0x400008 × 0x200(单位是字节) = 0x80001000(字节)=2147487744(字节)
400008化十进制4194312扇区*512=2147487744/1024/1024/1024=2G
映像的尾部,位于

0x1EFEFF8 + 0x400008 = 0x22FF000(扇区)=0x22FF000 × 0x200 (字节)=0x45FE00000(字节)
22FF000化十进制36696064扇区*512=18788384768/1024/1024/1024=18G,可我只有16个G 的内存啊

还有那个displaymem显示的是不是也可以这么算
usableram     base:0x100000000(这是起始扇区,是吗)     lenght:0x35fe00000(这是占用的长度,对吗)    end:0x45fe00000(这是结束扇区号吗 )
那我能不能map (hd0)100000000+45fe00000这样创一个虚拟盘出来

点评

不用纠结。BIOS 在 4G 以内,有一部分是 ROM 空间,这部分内存被 ROM 占据。因此,有一部分 RAM 被挤到 4G 以上的空间上了。在 displaymem 中,全部的 usable RAM 加起来,应该在 16G 以内。displaymem 中是字节数。  发表于 2020-9-12 12:32
回复

使用道具 举报

51#
 楼主| 发表于 2020-9-12 12:21:29 | 只看该作者
chenandjun 发表于 2020-9-12 10:46
不加e820参数一样的蓝屏

我在下精减的64位系统,下在内存盘里,不好关机,等晚上回来再试123456这几个参数

点评

需要测试的是 0,1,2, 3,4, 5,6。如果不存在 --e820cycles 参数,就相当于默认情况的 --e820cycles=-1,就是(负的 1)。  发表于 2020-9-12 12:56
回复

使用道具 举报

52#
 楼主| 发表于 2020-9-12 14:37:47 | 只看该作者
回复

使用道具 举报

53#
 楼主| 发表于 2020-9-13 04:47:25 | 只看该作者
下了两个精减的win64,装上去再装winvblock驱动重启就进不去而且没有f8选,没办法禁用数字签名,我已打开测试模式了,还是不行,刚刚装的系统又坏了.
回复

使用道具 举报

54#
 楼主| 发表于 2020-9-13 12:25:19 | 只看该作者
一直弄到刚刚,还没有弄起来,要不然就停在微标那个界面,要不然就是滚动条一直滚,或者winload出错,f8也调不出来.




好像应该是winvblokc没有签名,但是我已经打开测试模式了.

点评

不一定非得用精简版的。精简版无非就是用来测试4G以内的情况。而我们主要还是想测试4G以上的高位内存。因此,只需针对0, 1, 2, ..., 8之类的 e820cycles值, 测试原先那个11G多的Win7-64用winvblock能否成功启动即可。  发表于 2020-9-14 08:56
回复

使用道具 举报

55#
 楼主| 发表于 2020-9-14 21:15:03 | 只看该作者
终于下到一个可以用的win764位的精减版(f8功能可以用,可以禁用数字签名)下面开始汇报
这个贴子的http://bbs.wuyou.net/forum.php?m ... &extra=page%3D1   文件名称: SXWIN7X64_20180417_noNET.esd 文件大小: 387.19 MB (405,993,262 字节)
是企业版的


1.81个G正好做试验,装好winvblock,并且打开了测试模式.


上面的是用BOOTICEx64新建的vhd启动的,启动正常,下面开始map,先置--e820cycles=-1,当没有直接map /s71.vhd和map --top /s71.vhd均失败,画面停在那个微标那,一直这样,等几分钟还是这样






然后map --mem /s71成功进入桌面,但是,测试模式没有了.



然后mpa --mem --top开始测试--e820cycles=(0~6),均失败,都是蓝屏,但是和以前蓝屏不一样,这个蓝屏一闪就重启了,手机都抓拍不到,后来录像看了一下,也是7b蓝屏








通过以上试验基本可以证明在我的笔记本上winvblock不支持高位内存(也就是--top),但是有个问题,它为什么连简单的map /s71.vhd (hd0)也不支持,这好像根winvblock没丁点关系吧,map只是虚拟一个盘.



回复

使用道具 举报

56#
 楼主| 发表于 2020-9-14 21:39:38 | 只看该作者
作为对比,我换成了svbus驱动,关闭了测试模式(svbus带签名的),其它未动.







就是老是要我重启,说装好了svbus驱动.


回复

使用道具 举报

57#
发表于 2020-9-15 14:31:40 | 只看该作者
关于 winvblock 的 map 不带 --mem 的情况,你只试验了 --e820cycles=-1,没有试验 0, 1, ...
这还不能断定 winvblock 不支持直接 map(即,不带 --mem)。

不过,从你的测试中,--mem 已经支持,而 --mem --top 却失败,这应该基本算是证明了 winvblock 不支持 64 位内存(也就是不支持 4G 以上的高位内存)。为什么说只是“基本”证明呢?因为你这是精简版的,假如 winvblock 严重依赖操作系统的完整性,那么,当操作系统不完整时,它就可能无法支持高位内存。所以,上述证明也只是初步证明,并非完整证明。

算了,初步证明也就够了,不需要完整证明。这是因为,在同等条件下,svbus 能够成功,而 winvblock 却不能成功,这最起码说明了,svbus 的内存处理函数比 winvblock 更稳健。我猜测,winvblock 的高位内存访问是依赖于操作系统的相关函数。如果操作系统不是完整的,它就可能无法工作。而 svbus 的高位内存处理,可能是内建的,不依赖于操作系统。
回复

使用道具 举报

58#
发表于 2020-9-15 14:47:48 | 只看该作者
补充提醒一个小的细节。--top 参数只能与 --mem 配合使用,才有意义。如果没有 --mem 而只有 --top,那么这个 --top 就不起作用,就跟不存在 --top 是一样的。

另外,看到你的 svbus 在 win7 中不需要使用 e820cycles 参数了。这似乎验证了 “win7 的显卡驱动比 xp 的显卡驱动更稳健”这个说法。

我感觉,似乎全部的测试都完成了。

辛苦了,可以歇歇了。
回复

使用道具 举报

59#
发表于 2020-9-15 15:35:44 | 只看该作者
你在前面曾经提到一个问题,即,如何建立一个内存盘。

这里简单说说,确实可以建立一个空的内存盘。以下是举例:

map   --mem    (md)+8   (fd0)   把物理内存开头的 8 个扇区复制到 4G 以下的某个可用内存块(Usable RAM)中,虚拟为第一个软盘 fd0。这 8 个扇区的数据是无用的,但 map 命令需要至少 8 个扇区。由此建立的虚拟软盘也只有 8 个扇区的大小。

map   --mem   --top    (md)+8   (fd0)   把物理内存开头的 8 个扇区复制到 4G 以上高位内存的某个可用内存块(Usable RAM)中,虚拟为第一个软盘 fd0。其他解释同上。

可以用 --mem=-XXX 的方式,为内存盘分配足够的内存。举例如下:

map   --mem=-2880    (md)+8   (fd0)   把物理内存开头的 8 个扇区复制到 4G 以下的某个可用内存块(Usable RAM)中,虚拟为第一个软盘 fd0。这个操作会保证内存盘至少有 2880 个扇区,也就是,至少有 1440 KB 的大小。复制的动作,会把物理内存开头的 8 个扇区复制到 2880 个扇区中的开头的 8 个扇区上,复制完就结束,其后的部分不会碰,也就是说,不会把 00 之类的字节写入其后的 (2880 - 8)个扇区上。

map   --mem=-2880   --top   (md)+8   (fd0) 与前一个例子类似,只不过是在高位内存块中创建虚拟内存盘。

当然,也可以创建内存硬盘,例如(hd0), (hd1),以及内存光盘,例如 (hd32), (0xFF)。

像上述例子那样创建了内存盘后,可以进入操作系统,再对该盘进行格式化。windows 需要 svbus 之类的驱动,才能操作这些内存盘。

在上述例子中,你不需要了解你的内存盘究竟被安排在内存中的何处了。你只需要提供一个扇区数即可。

回复

使用道具 举报

60#
发表于 2020-9-15 19:16:04 | 只看该作者
关于 --top 再澄清一些细节。

如果 map 命令行中只有 --mem 而没有 --top,则肯定只把该映像加载在 4G 以内的内存块上(注意,旧版 grub4dos 仍然有可能加载在 4G 以上;请不要使用旧版)。新版不可能加载在 4G 以上。因此,如果你在使用 winvblock,那么你正好就不该使用 --top 选项,而只能使用 --mem 加载在 4G 以内的低位内存上。

如果 map 命令行中有 --mem --top 选项,则映像会首先尝试加载在 4G 以上的空间。如果 4G 以上没有足够的空间(或者 4G 以上根本就不存在内存空间),那么会尝试加载在 4G 以内的空间。

这就是说,无论你的电脑是否有内存块位于 4G 以上,你都可以使用 --mem --top 选项。

总结一下:

1。不含 --top 时,肯定加载在低端内存。

2。含有 --top 时,有可能加载在高端,也有可能加载在低端(当然先尝试高端,后尝试低端)。

回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

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

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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