ysj-1 发表于 2018-12-15 20:19:47

不点 发表于 2018-12-14 04:23
我猜,SVBus 可能不支持这个型号的 DELL 机。以前有 N 多报告,说 DELL 机制造了各种不兼容。就是说,比 ...

系统和程序能够访问和使用多大内存取决于CPU所支持的指令集。如CPU不支持X64指令集的话,就不能安装64位系统也就不能运行64位程序。X86指令集如不使用物理地址扩展最大4G寻址。凡是非64位指令集,大于4G寻址的都是使用了物理地址扩展实现的。

75344840 发表于 2018-12-21 01:57:11

不点 发表于 2018-12-7 23:44
猜一下。

有可能是 SVBus 不支持 USB,也可能不支持这个牌子的 U 盘。


在U盘63+2104452扇区弄了1G的NTFS分区,后面其余扇区全写入0。然后在大约5G和10G的位置,分别写入1G的img,两个img的区别是,img里面的系统盘,一个是NTFS化不压缩,另一个是NTFS化但选了压缩。IMG通过MAP 文件的方式检验了没问题。

下面是MAP扇区的结果——

1、map --mem --top 和 map --mem 能启动成功。

2、直接map , windows启动到进度条出现,U盘灯立即熄灭。进度条来回走10来次,自动断电关机。

3、不弄分区,U盘全部扇区写0。map --mem --top 和 map --mem 都不能启动。在g4d读扇区数据到内存的过程中,自动断电关机。上次都启动成功了的。

4、直接map,g4d启动过很多次,另外也用qemu虚拟机启动(直接map成非启动盘,windows识别成本地磁盘),不能启动几乎都是磁盘错误。

5、我对系统不熟悉,只会用。测试的结果,可能很不准确。

说明:
IMG里面的文件,跟原来一样的。但是IMG的虚拟盘重新做过的,原来的被搞乱了。是通过qemu虚拟机挂ISO的winxp安装盘格式化IMG盘的。其他的方法总是不成功。我猜可能是虚拟机补齐了磁盘信息。没有找到标准的做磁盘(而不仅是分区)RAMOS的方法。
我感觉,要在U盘上直接MAP扇区,SVBUS对磁盘信息的完整性准确性要求很高。

不点 发表于 2018-12-21 08:58:06

3、不弄分区,U盘全部扇区写0。map --mem --top 和 map --mem 都不能启动。在g4d读扇区数据到内存的过程中,自动断电关机。上次都启动成功了的。
内存条是假冒伪劣品?你这个报告,暴露出的问题就严重了。

grub4dos 采用什么办法来把 IMG 放在内存里面?先用 BIOS 读介质上的扇区,然后就是纯 CPU 操作,将读到的扇区从 DOS 实模式常规内存,复制到扩展内存。

有可能是 BIOS 阶段读扇区即发生死机、断电的错误了。

还有可能是,BIOS 阶段成功了,但在用 CPU 指令复制扇区到扩展内存时,由于内存条的故障,而产生硬件中断,进而产生死机、断电的错误。

无论哪种错误,都是很严重的硬件错误(BIOS 也算是硬件吧,因为它是硬件制造商弄出来的,别人改不了它)。

75344840 发表于 2018-12-23 17:05:33

不点 发表于 2018-12-21 08:58
内存条是假冒伪劣品?你这个报告,暴露出的问题就严重了。

grub4dos 采用什么办法来把 IMG 放在内存里 ...

找到个开机运行的内存测试软件,memtest86+,开源的,没检查出问题。只是显示CPU温度很高,最高到了100度。现在可以假设内存ok。意外断电只出现在直接读(不带分区表的)u盘扇区,毕竟其他情形几乎没问题。意外断电的锅就让‘’CPU超温自保‘’来背好了。

75344840 发表于 2018-12-23 17:56:06

U

300G10GδIMGд

Щ

1.mapdgbootice1

2.map --mem --top'img' (hd0)map'map(hdx)m+n (hd2)'hd0WinxpmapУwinxp(hd2)裬svbusg4dmapwindowsram devicedisk device

imgmap()imgвб

75344840 发表于 2018-12-23 17:56:46

U

300G10GδIMGд

Щ

1.mapdgbootice1

2.map --mem --top'img' (hd0)map'map(hdx)m+n (hd2)'hd0WinxpmapУwinxp(hd2)裬svbusg4dmapwindowsram devicedisk device

imgmap()imgвб

75344840 发表于 2018-12-23 18:00:17

前面两个回复乱码了,重新回复。

暂时放弃U盘,回到本地硬盘测试。

在正常使用的300G本地硬盘上,在最前面调整出大约10G的未分区空白区域。然后IMG写入空白扇区。

这次碰到的问题都是硬盘错误不能启动。发现一些有趣的东西:

1.直接map的扇区,比启动后,用dg和bootice看到的扇区,总数量刚好多1个。

2.map --mem --top'img文件' (hd0),后面增加直接map扇区,'map(hdx)m+n (hd2)',然后从hd0启动,如果在Winxp启动后,热备份了,下次启动时,即使从启动菜单删掉直接map扇区这一行,启动后,winxp也可以在磁盘管理器看到(hd2)。所以可以假设,svbus不依赖g4d的map,用windows的注册表就可以虚拟成ram device和disk device,然后启动成功。

我做的img,map扇区启动总是磁盘错误。请问,做虚拟磁盘(而不仅是分区)img,有不有标准方法?

75344840 发表于 2018-12-23 18:00:19

前面两个回复乱码了,重新回复。

暂时放弃U盘,回到本地硬盘测试。

在正常使用的300G本地硬盘上,在最前面调整出大约10G的未分区空白区域。然后IMG写入空白扇区。

这次碰到的问题都是硬盘错误不能启动。发现一些有趣的东西:

1.直接map的扇区,比启动后,用dg和bootice看到的扇区,总数量刚好多1个。

2.map --mem --top'img文件' (hd0),后面增加直接map扇区,'map(hdx)m+n (hd2)',然后从hd0启动,如果在Winxp启动后,热备份了,下次启动时,即使从启动菜单删掉直接map扇区这一行,启动后,winxp也可以在磁盘管理器看到(hd2)。所以可以假设,svbus不依赖g4d的map,用windows的注册表就可以虚拟成ram device和disk device,然后启动成功。

我做的img,map扇区启动总是磁盘错误。请问,做虚拟磁盘(而不仅是分区)img,有不有标准方法?

不点 发表于 2018-12-24 10:45:04

本帖最后由 不点 于 2018-12-24 10:49 编辑

做带有分区表的 img,也很容易。

你不是已经有个 “分区 img” 吗?在它开头增加 63 个扇区,并在增加后的 首扇区填上分区表信息,就成了。

如果你不会填,或懒得填,你可以让 grub4dos 替你做这事。方法大致如下:

首先明确一下,你的 disk.img 是由两部分组成的:开头是 63 个空白扇区(全是 00 字节),紧接着就是你的 partition.img 的内容。

首先,你用 hexedit 之类的工具,为 63 个空白扇区中的第一个空白扇区,填写 55 AA 字节。这两个字节是 MBR 合法标志,是放在首扇区的尾部。 其它的分区表信息,需要用别的方法来填。下面是采用 grub4dos 的方法。

1、你用 contig.exe 或 wincontig.exe 来整理 disk.img 的碎块,让它连续,以便下面用 map 命令。

2、开机进入 grub4dos,用 map 命令把 disk.img 加载为某个虚拟硬盘,比如 (hd9):

map --sectors-per-track=63 --heads=255 (...)/.../.../disk.img (hd9)

3、让 map 生效:

map --hook

4、现在虚拟硬盘 (hd9) 已经存在了。但它没有分区表。现在就为虚拟硬盘 (hd9) 增加分区表项:

可以用 help partnew 来查看 partnew 命令的语法。注意下面的命令有危险性。如果你弄错了,你会把你真实硬盘的分区表破坏掉。注意操作的盘应该是你的虚拟盘 (hd9),千万不要是真实盘 (hd0) 或 (hd1) !

partnew--active(hd9,0)0(hd9)63+LLLLLL



partnew--active(hd9,0)063LLLLLL


以上两条命令是等价的,其中 LLLLLL 代表你原先的 partition.img 的总扇区数(即,总长度,用扇区数为单位来计算)。

命令行中间的的那个 type 是 0,表示自动。如果你知道它是 NTFS,你可以用 7。如果你想用 FAT32,那就用 0x0B 或 0x0C。

完了之后,你用 cat --hex (hd9)+1 看看分区表信息是否已经填上了。如果没有填上,那就是因为 grub4dos 的 map 在默认时保护 MBR,而把写入的信息丢弃了。你重新做一遍,这次为 map 命令添加 --unsafe-boot 选项,这样应该就能成功了。

注意,partnew 命令不会自动添加 MBR 的启动代码(boot record code)。它仅仅只是填写分区表信息。

上述 partnew 命令写入的是虚拟盘 (hd9) 的第一扇区(即 MBR)。也就是写入了 disk.img 的第一扇区。现在你重启电脑,进入 Windows,用 hex 工具查看 disk.img,应该发现,它已经有分区表信息了。

以上使用 grub4dos 的方法,具有危险性。你可以尝试、寻找别的方法,比如挖掘一下 BootICE 或 diskgen,八成也能够填写分区表信息。

sunsea 发表于 2018-12-24 23:24:19

75344840 发表于 2018-12-23 18:00
前面两个回复乱码了,重新回复。

暂时放弃U盘,回到本地硬盘测试。


用BOOTICE可以做磁盘img,很方便的
首先管理员命令行
fsutil file createNew <filename> <length>
长度是字节
得到一个定长空白文件
然后去下一个新版BOOTICE(http://wuyou.net/forum.php?mod=viewthread&tid=57675&extra=page%3D1这里有)
把你的img拖到磁盘镜像
按分区管理
然后按里面的重新分区,选USB-HDD
就ok
最后是用imdisk什么的挂载,把数据拷贝进去,或者你也可以让g4d的map来做这个事情

75344840 发表于 2018-12-25 07:47:25

谢谢大佬们。我的碰到的磁盘错误,试过BOOTICE和DIKGEN,都没能解决。可能是XP系统没装好。以后在仔细学学这些方法。

我按SVBUS README 介绍的方法 ,全新安装了XP到2G的VHD。(VHD是纯粹的RAW格式吗?反正我把文件名改回IMG了)
下面是SVBUS RAMOS的测试情况。

在本地硬盘的前端,调整出10G 的未分区空白区域,将C盘上的IMG按扇区写入方式,写入硬盘的空白区域1285200+4096001。

测试9种情形全部成功。

title WinXP_SVBUS - FILE##文件位于C盘
find --set-root --ignore-floppies /WinXP_SVBUS.img
map /WinXP_SVBUS.img (hd0)   ##此处再次启动时,分别增加--mem 和 --mem --top
map --hook
root (hd0,0)
chainloader /ntldr


title WinXP_SVBUS map (hdx,y)m+n##分区里的扇区,就是上面菜单FILE所在的扇区
map (hd0,0)11788800+4096001 (hd0) ##此处再次启动时,分别增加--mem 和 --mem --top
map (hd0) (hd1)
map --hook
rootnoverify (hd0)
chainloader +1


title WinXP_SVBUS map (hdx)m+n##未分区空白区域里的扇区
map (hd0)1285200+4096001 (hd0)   ##此处再次启动时,分别增加--mem 和 --mem --top
map (hd0) (hd1)
map --hook
rootnoverify (hd0)
chainloader +1

liuzhaoyzz 发表于 2019-1-10 23:36:35

本帖最后由 liuzhaoyzz 于 2019-5-7 07:35 编辑

抽空试了下,说下步骤:
1、用winntsetup安装个WIN10LTSB2016X64到固定大小的VHD,一定要固定大小的VHD,否则grub4dos加载的时候会出现error 5:partition table invalid or corrupt的错误,因为我很久没有接触firadisk/winvlbock这一类的驱动了,全忘了。16GB内存,建了个6.6GB的vhd安装。把bootmgr和原来C盘的boot目录拷贝到vhd中,用bootice编辑vhd\boot\bcd文件,添加正确的启动盘符路径,64位系统记得里外两个bcd都要开启测试模式。用bootice激活vhd里面的分区。

2、安装svbus,有点曲折。直接右击安装svbus.inf,选择安装,提示“系统策略组禁止安装此设备”,百度了下,开始——运行 ,输入 gpedit.msc 确定——计算机配置——管理模板——系统——设备安装——设备安装限制——禁止安装未有其他策略组描述的设备(在右边),双击后设置为“未配置”或“禁用”——确定。重启了下,再安装16楼yamingw大神分享的已签名的svbusX64.用这个版本,不用开启测试模式。
3、原系统BCD中添加grub4dos,把grldr(0.4.6a)和menu.lst拷贝到C盘根目录,menu.lst:
#font (bd)/boot/grub/unifont.hex
#graphicsmode -1
color white/blue blue/yellow light-red/blue 10
foreground FFFFFF
background 0000AD
timeout 2
default 0

title WIN10X64-SVBUS (/VHD/ltsb-svbus.vhd)
find --ignore-floppies --ignore-cd --set-root /VHD/ltsb-svbus.vhd
map --mem --top /VHD/ltsb-svbus.vhd (hd0)
map (hd0) (hd1)
map --e820cycles=-1
map --hook
root (hd0,0)
chainloader (hd0,0)/bootmgr
4、重启选择grub4dos,进入WIN10-svbus的RAMOS。测速如下:跟primo简直没法比,惨不忍睹!而且不支持内存动态分配,C盘是固定死的,而primo的C盘剩余空间可以与内存互为转化。最后一个是primo-win7x64测得的。

lingshao 发表于 2019-1-11 16:24:14

本帖最后由 lingshao 于 2019-1-11 16:44 编辑

liuzhaoyzz 发表于 2019-1-10 23:36
抽空试了下,说下步骤:
1、用winntsetup安装个WIN10LTSB2016X64到固定大小的VHD,一定要固定大小的VHD, ...

我在自己的机子上试了下,系统都是 win10x64 LTSB。
PRIMO用的是SCSI模式,SVBus用的是原版,BCD禁用数字签名,没开测试模式,相比你的差距没有那么大,并且是互有所长。





刚刚再测了个 win7x64 Primo 的一并放上来吧


红毛樱木 发表于 2019-1-30 16:58:32

win8pe x86测试,加载这个驱动,启动过程转圈那里,就无限转圈了。。

红毛樱木 发表于 2019-1-31 23:56:50

这个在PE里用,测试一下,好像只能用map --mem的方式加载ISO,不能用map直接加载。
有没有兄弟和我一样的情况?

红毛樱木 发表于 2019-2-1 12:57:38

本帖最后由 红毛樱木 于 2019-2-1 13:09 编辑

超极速BIOS启动,Usm_Native_03_7_8_PE_x86全家桶(Win8pe native直接map非map --mem)
突破历史性问题大关,Win8pe native环境不能读取grub4dos直接map的iso,Z170主板usb3.0接口启动成功。关键性技术难点,年后公布,祝大家新年快乐。初始版本,仅提供一个FBA,另附上对应的fbinstTool(制作方法请自行百度)
https://www.sysceo.com/forum/thread-44954-1-1.html

{:1_186:}

huaqingyuan 发表于 2019-4-18 13:17:17

记号!!!有空研究!

happysong21 发表于 2019-5-30 16:40:06

新发现一个问题:用SVBus启动的VHD WIN10系统,在用Diskgenius的分区克隆功能更换了VHD文件后,总是蓝屏无法启动,这一点与Firadisk一样。

而Winvblock在更换了VHD文件后是没有这样的问题的。

zjair004 发表于 2019-10-5 22:46:16

WIN7以上系统搞RAMOS都是超级简单的,怎么看你们搞的那么麻烦?我现在反而是搞XP2003这类系统头大,到检查C盘结束后就提示插入的磁盘损坏,让重新插入WINVBLOCK的磁盘驱动器

忧伤94 发表于 2019-10-17 17:08:23

感谢感谢

指南针 发表于 2019-10-25 10:02:13

有没有哪位同学提供XP下的svbus注册表?
我在正常XP安装了驱动后导入到VHD里启动总是7B蓝屏或者unknown hard error蓝屏

happysong21 发表于 2019-10-29 16:14:03

指南针 发表于 2019-10-25 10:02
有没有哪位同学提供XP下的svbus注册表?
我在正常XP安装了驱动后导入到VHD里启动总是7B蓝屏或者unknown ha ...

建议按以下步骤试试:
1、把新的VHD文件在原XP系统下挂载上去并分区、格式化,以在原XP系统的注册表里留下VHD硬盘信息
2、把原XP复制到VHD里
3、修改VHD里的SYSTEM注册表文件中的驱动器盘符:把VHD的盘符改为XP系统盘盘符(一般都是C)
4、从VHD启动XP

shuini 发表于 2020-2-8 22:01:59

似乎SVBus的兼容性不如firdisk,事件查看器里不少错误。同样的系统在实盘或firdisk下完全没有问题。

keygen 发表于 2020-2-16 12:48:31

确实 ,svb用在1809以上会弹出dllhost.exe系统错误,至少本机上server2019和1909都是如此,换firadisk一切正常

wawakuliao 发表于 2020-5-4 07:46:31

感谢分享

brettwang 发表于 2020-5-4 08:09:44

向老元帅的辛苦奉献致敬!

loongson 发表于 2020-5-6 17:52:37

yamingw 发表于 2018-11-11 23:08
64位已签名。

怎么签名的,搞个1.2.0的试试?

mountainbear 发表于 2020-7-4 07:44:21

学习了

xianglang 发表于 2020-7-30 11:05:01

本帖最后由 xianglang 于 2020-7-30 12:13 编辑

这两天试了下在安装于固定大小的 VHD 里的 Win7 x64 里安装 SVBus,重启后会在BCD菜单中选择该启动项后蓝屏。但是,如果在是直接在 Grub 4 Dos 里使用 map 命令映射该 VHD 文件,再直接引导 VHD 里的 BOOTMGR 启动,则正常;而且,如果先在 Grub 4 Dos 里先 map svbus.img (svbus.img为存放svbus驱动的OEM驱动镜像)再去引导硬盘上的 BOOTMGR 后,在 BCD 菜单中选择该 VHD 也正常!

manthe 发表于 2020-7-31 16:06:59

64位win10怎么装不上呢?
页: 1 2 [3] 4
查看完整版本: SVBus 取代 FiraDisk, WinVblock