无忧启动论坛

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

[教程] 集成ImDisk到PE系统

    [复制链接]
1#
发表于 2023-9-12 13:02:42 | 显示全部楼层
本帖最后由 Bluebells 于 2024-1-3 20:27 编辑

不用这么复杂, 将相关文件放在一个文件夹, 再写个脚本文件, 让 PECMD 加载就可以

文件列表:
awealloc.sys
imdisk.cpl
imdisk.exe
imdisk.sys

脚本文件内容:
  1. ENVI &WS=%SystemRoot%\System32
  2. SERV-delete AWEAlloc
  3. SERV-delete ImDisk
  4. FILE %&CurDir%\imdisk.cpl=>%&WS%\
  5. FILE %&CurDir%\imdisk.exe=>%&WS%\
  6. FILE %&CurDir%\awealloc.sys=>%&WS%\drivers\
  7. FILE %&CurDir%\imdisk.sys=>%&WS%\drivers\
  8. SERV-Create ImDisk,System32\drivers\imdisk.sys,1,2,0,,,,ImDisk Virtual Disk Driver
  9. SERV-Create AWEAlloc,System32\drivers\awealloc.sys,1,2,0,,,,AWE Memory Allocation Driver
  10. SERV ImDisk
  11. SERV AWEAlloc
复制代码
我再上传一个打包好的 imdisk, 使用方法参考 Readme.txt 文件
ImDisk.7z (163.63 KB, 下载次数: 129)

点评

创建imdisk虚拟磁盘后,如何让imdisk虚拟磁盘与ISO文件关联? 比如,双击ISO文件,直接装载到imdisk虚拟磁盘, 或者,右键ISO文件,菜单装载,直接装载到imdisk虚拟磁盘?  详情 回复 发表于 2023-12-14 19:10
已测试,果然厉害,如果提前将所需文件复制进去,比如封包到PE核心,其脚本只用两行,imdsksvc.exe相关的语句无用,也可以删除,更加简洁,感谢指点  详情 回复 发表于 2023-9-13 10:02
我是外行,这是很多次实验得出来的,感谢你的分享,后面试试  详情 回复 发表于 2023-9-12 19:50
回复

使用道具 举报

2#
发表于 2023-12-14 19:24:23 | 显示全部楼层
青青草 发表于 2023-12-14 19:10
创建imdisk虚拟磁盘后,如何让imdisk虚拟磁盘与ISO文件关联?
比如,双击ISO文件,直接装载到imdisk虚拟 ...

自己按需添加吧
  1. //添加"挂载为 ImDisk 虚拟磁盘"右键上下文菜单
  2. REGI $HKEY_LOCAL_MACHINE\SOFTWARE\Classes\*\shell\ImDiskMountFile\\=挂载为 ImDisk 虚拟磁盘
  3. REGI $HKEY_LOCAL_MACHINE\SOFTWARE\Classes\*\shell\ImDiskMountFile\command\\=rundll32.exe imdisk.cpl,RunDLL_MountFile %%L
  4. //添加"卸载 ImDisk 虚拟磁盘"右键上下文菜单
  5. REGI $HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Drive\shell\ImDiskUnmount\\=卸载 ImDisk 虚拟磁盘
  6. REGI $HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Drive\shell\ImDiskUnmount\command\\=rundll32.exe imdisk.cpl,RunDLL_RemoveDevice %%L
  7. //添加"保存磁盘内容为映像文件"右键上下文菜单
  8. REGI $HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Drive\shell\ImDiskSaveImage\\=保存磁盘内容为映像文件
  9. REGI $HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Drive\shell\ImDiskSaveImage\command\\=rundll32.exe imdisk.cpl,RunDLL_SaveImageFile %%L
复制代码




点评

再请教下: //创建使用物理内存的 RAMDisk 磁盘, 其卷标为 ImDisk, 容量为 4096M, 文件系统为 NTFS WAIT 1000 RAMD ImDisk,L4096,NTFS,%&RAMDrv%,ImDisk,,1 //将 RAMDisk 的驱动器号设置为系统环境变量 E  详情 回复 发表于 2024-1-3 17:06
谢谢!  详情 回复 发表于 2023-12-15 07:35
回复

使用道具 举报

3#
发表于 2024-1-3 18:28:17 | 显示全部楼层
青青草 发表于 2024-1-3 17:06
再请教下:
      //创建使用物理内存的 RAMDisk 磁盘, 其卷标为 ImDisk, 容量为 4096M, 文件系统为 NTF ...

变量用错了,用 %CurRamDisk%

点评

试过了,不行。唉  详情 回复 发表于 2024-1-3 19:10
回复

使用道具 举报

4#
发表于 2024-1-3 20:28:58 | 显示全部楼层
青青草 发表于 2024-1-3 19:10
试过了,不行。唉

之前的设置环境变量语句有误, 更改为以下
ENVI $#CurRamDisk=%&RAMDrv% //或使用 ENVI #$CurRamDisk=%CurRamDisk%

点评

//创建使用物理内存的 RAMDisk 磁盘, 其卷标为 ImDisk, 容量为 4096M, 文件系统为 NTFS WAIT 1000 RAMD ImDisk,L4096,NTFS,%&RAMDrv%,ImDisk,,1 //将 RAMDisk 的驱动器号设置为系统环境变量 ENVI * CurRamDisk  详情 回复 发表于 2024-1-3 21:10
回复

使用道具 举报

5#
发表于 2024-1-3 22:00:42 | 显示全部楼层
本帖最后由 Bluebells 于 2024-1-3 22:09 编辑
青青草 发表于 2024-1-3 21:10
//创建使用物理内存的 RAMDisk 磁盘, 其卷标为 ImDisk, 容量为 4096M, 文件系统为 NTFS
WAIT 1000
RA ...

在新脚本文件(如你的 1.wcs)中, 使用 %CurRamDisk% 变量语句的上一行添加以下语句(或将下面的语句添加在首行):
ENVI^ LoadEnvi

点评

用ENVI #$CurRamDisk=%CurRamDisk%都可以了! 谢谢!  详情 回复 发表于 2024-1-3 22:14
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-19 23:02

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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