wintoflash 发表于 2020-11-12 12:55:27

sunsea 发表于 2020-11-12 11:45
本质上这类驱动只是把这块内存“占用”起来,然后向Windows创建了一个设备而已。
然后如果映射到的磁盘 ...

SVBus之类的支持带文件碎片的map吗?

游隼89 发表于 2020-11-12 13:14:53

非常给力 非常牛

sunsea 发表于 2020-11-12 13:22:10

wintoflash 发表于 2020-11-12 12:55
SVBus之类的支持带文件碎片的map吗?

不清楚,似乎没看见处理碎片的代码,应该是不支持的。

2011yaya2007777 发表于 2020-11-12 13:40:30

不支持。要支持的话,它的把碎片插槽读进来。怎么传递给windows?还是内部拦截读程序,指挥windows读那一段?

xianglang 发表于 2020-11-12 13:45:46

wintoflash 发表于 2020-11-12 12:55
SVBus之类的支持带文件碎片的map吗?

我迷糊了,是否支持带碎片映射,不是只是G4D 之类的事情吗,好像与 SVBUS 之类无关?G4D 能够映射出来的磁盘,安装了 SVBUS 之类驱动的 Windows 都难认出来并使用啊。

2011yaya2007777 发表于 2020-11-12 13:57:22

windows读文件系统,不连续的话,查簇表。而现在讨论的是扇区序列。

sunsea 发表于 2020-11-12 14:41:14

2011yaya2007777 发表于 2020-11-12 13:40
不支持。要支持的话,它的把碎片插槽读进来。怎么传递给windows?还是内部拦截读程序,指挥windows读那一段?

如果要处理碎片插槽的话,我觉得可以给这些驱动打个补丁……比如说还可以再在640KB的区域里再加一个$G4DBLCK这种特征签名的开头然后后面是碎片插槽,现在这些驱动里映射插槽只用了CHS,起始扇区和长度,以及from to_drive……剩下的字节可以用来表征用了几个碎片插槽啥的……然后驱动里用个链表记录一下这些碎块读盘的时候换算一下就行了……理论上应该能搞

2011yaya2007777 发表于 2020-11-12 15:16:25

我不清楚,是由SVBus安装的驱动吗?是,就好办。有人修改它吗?不是,后续windows或者其他程序还要读映射的社区序列的虚拟盘,就比较麻烦了。

sunsea 发表于 2020-11-12 15:29:26

2011yaya2007777 发表于 2020-11-12 15:16
我不清楚,是由SVBus安装的驱动吗?是,就好办。有人修改它吗?不是,后续windows或者其他程序还要读映射的社 ...

?安装驱动是什么情况?
说了好几遍只是为了认出系统文件而已……

SCSI Miniport这个层次,从上面收来的指令很简单的,就是读XXX扇区开始多长的几个扇区……所以应该还算好处理

305122079 发表于 2020-11-12 18:57:01

大神辛苦了。感谢大神

2011whp 发表于 2020-11-12 19:26:00

本帖最后由 2011whp 于 2020-11-13 11:45 编辑

yaya的意思 z.iso虚拟前有碎块:      
文件段1-100      磁盘块360起 100块
文件段100-200      磁盘块5148起 100块
……      ……
      
      
sunsea认为:svbus接收的是 连续内存块(不接收非ramos,因为此时没有文件系统),svbus只是虚拟出在主板上插了一块硬盘或光盘。并能对接上 后续的加载文件系统加载。


问题:yaya想让svbus能读文件系统,就得svbus中有转换功能
   还要求 win加载文件系统驱动时得保证顺序,先加载实体的,再加载虚拟的(因为虚拟的还要用实体的文件系统)。这样才不会在过程中出错,有点难。做成连续内存块是g4e的工作。(svbus接收 一个对应表 直接io实体磁盘,也是可行的吧)

yaya这样的要求,只能用imdisk之类的,在文件系统有了之后,接收个文件名,虚拟成设备

总之
传递连续内存块 :g4e 适应 svbus
传递对应表:svbus 适应 g4e
传递文件名:超出范围

2011yaya2007777 发表于 2020-11-12 19:49:36

有点误解。我的意思是:假如读文件段90-120,现在是从450开始读30,480结束。应当是从450开始10,然后从5148读20,5168结束。

2011whp 发表于 2020-11-12 20:03:23

本帖最后由 2011whp 于 2020-11-14 10:42 编辑

2011yaya2007777 发表于 2020-11-12 19:49
有点误解。我的意思是:假如读文件段90-120,现在是从450开始读30,480结束。应当是从450开始10,然后从514 ...
实体文件如下:
90-100   对应450 起 10
100-120对应5148起 20

交给 svbus内部再怎么读是另一会事

如 svbus 读 95起10   它会自动换成读 455起5+5148起5
再住上加载成文件系统,就是用文件的 90-120 当成虚拟设备的绝对位置了(扇区号了)


文件内部顺序号=虚拟设备绝对扇区对应实体磁盘扇区号



2011yaya2007777 发表于 2020-11-12 20:10:59

svbus会那样读吗?如果能,那太好了。但是现在还没有做到。

sunsea 发表于 2020-11-12 20:12:18

2011yaya2007777 发表于 2020-11-12 20:10
svbus会那样读吗?如果能,那太好了。但是现在还没有做到。

现在没做到,但是做成这个应该还是比较简单的……我在想要不要写个补丁啥的

2011yaya2007777 发表于 2020-11-12 20:38:20

到现在为止,还没有收到是否G4E成功配合了svbus.

sunsea 发表于 2020-11-12 20:45:01

2011yaya2007777 发表于 2020-11-12 20:38
到现在为止,还没有收到是否G4E成功配合了svbus.

我过几天闲下来的时候做个测试吧,尼玛这几天全是考试……先测试下能否正常识别虚拟盘以及能否正常从上面开机好了……

2011yaya2007777 发表于 2020-11-12 21:16:53

先办正是,闲下来再测试吧。

大猫先生 发表于 2020-11-15 08:31:42

终于支持了UEFI,不要每次用U盘来折腾了

xhwfq 发表于 2020-11-15 08:53:58

6. 目前 PXE 网启只支持 tftp。

看介绍是支持网启的,到底怎么弄啊?

江南一根葱 发表于 2020-11-16 15:45:36

xhwfq 发表于 2020-11-15 08:53
6. 目前 PXE 网启只支持 tftp。

看介绍是支持网启的,到底怎么弄啊?

是可以网启的,不过目前还不支持proxydhcp,还不好测试

zhushiwei 发表于 2020-11-16 23:11:34

顶起!终于等到向开发者致敬

sea2moon 发表于 2020-11-17 14:24:07

收藏 备用~~
g4d用着顺手

chenall 发表于 2020-11-18 11:45:12

OK,我下午处理一下。

hfxiang 发表于 2020-11-18 14:05:10

下载后只有:
BOOTX64.EFI
ChangeLog_UEFI.txt
Get_Source_of_This_Build.txt
grub4dos_8bb5845.diff
menu.lst
这几个文件,要做pxe,它好像还需要其它的支持文件吧?

chunlei233 发表于 2020-11-18 18:12:13

牛毕人士{:1_186:}

wintoflash 发表于 2020-11-18 19:46:04

2011yaya2007777 发表于 2020-11-18 10:48
chenall,我把源代码上传到这里,建立分支的事情有劳你了。

   批处理增加 esle 函数。增加 {脚本集} 表示法。
   如:
   if 条件
   {
       脚本集
       if 条件 {
         脚本集 }
       else {
         脚本集 }
   }
   esle if 条件
   {
       脚本集
   }
   esle
   {
       脚本集
   }

是不是打错了? "esle" -> "else"

2011yaya2007777 发表于 2020-11-18 19:48:49

打错了。

2011whp 发表于 2020-11-18 20:25:09

hfxiang 发表于 2020-11-18 14:05
下载后只有:
BOOTX64.EFI
ChangeLog_UEFI.txt


PXE的核心是 dhcpd 配置的参数
从参数里指定的 一个文件bootx64.efi(也可指定一个菜单文件menu.lst共两个),开始的
网卡默认是tftp 的 (pd) 盘 ,http支持 不标准,好像是麾改的

被引导的系统也得支持网启

不知道,grub4dos_8bb5845.diff 这个是什么,好你与用户无关。望科普下……

wintoflash 发表于 2020-11-18 20:32:39

本帖最后由 wintoflash 于 2020-11-18 20:36 编辑

2011yaya2007777 发表于 2020-11-18 19:48
打错了。

你源码里面带的grub-mkimage是不是原版grub2的?
32位的程序在64位系统里面跑不了。如果是原版,那执行系统里面带的grub-mkimage是不是好一些。

-------------------
原版不行。。。


-------------------
用grub-mkimage是把elf转成pe吗?
页: 4 5 6 7 8 9 10 11 12 13 [14] 15 16 17 18 19 20 21 22 23
查看完整版本: GRUB4DOS for UEFI