You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Windows 10/11中使用PowerShell创建RAM驱动器?

Windows 10/11 下 PowerShell 创建 RAM 驱动器方案及 Ramdisk.sys 相关实现问题

背景

此前了解到Windows Server可通过iSCSI Target服务配合PowerShell创建RAM驱动器,但Windows 10/11原生不支持充当iSCSI Provider,该方案无法复用。以下是适配Win10/11的替代方案,以及关于Ramdisk.sys的相关解答:


一、Win10/11 可用的 PowerShell 创建 RAM 驱动器方法

1. 借助第三方工具 ImDisk

ImDisk是开源轻量RAM盘工具,支持PowerShell/命令行管理,步骤如下:

  • 安装:可通过Chocolatey包管理器快速安装:
    choco install imdisk -y
    
  • 创建RAM盘:
    # 创建1GB容量、盘符为Z:的NTFS格式RAM盘
    imdisk -a -s 1G -m Z: -p "/fs:ntfs /q /y"
    
  • 移除RAM盘:
    # 卸载并删除Z:盘的RAM盘
    imdisk -d -m Z:
    

2. 原生VHD内存挂载方案(无需第三方工具)

通过创建动态VHD并标记为RAM盘实现,重启后自动消失,适合临时存储敏感数据:

  • 创建并初始化VHD:
    # 在临时目录创建1GB动态VHD,初始化并格式化
    $vhdPath = "$env:TEMP\TempRAMDisk.vhd"
    New-VHD -Path $vhdPath -SizeBytes 1GB -Dynamic |
    Mount-VHD -Passthru |
    Initialize-Disk -PartitionStyle GPT -Passthru |
    New-Partition -AssignDriveLetter -UseMaximumSize |
    Format-Volume -FileSystem NTFS -NewFileSystemLabel "RAMDisk" -Confirm:$false
    
  • 将VHD挂载到内存(借助diskpart):
    # 生成diskpart脚本并执行
    $diskpartCmds = @"
    select vdisk file="$vhdPath"
    attach vdisk readonly
    set vdisk ramdisk
    "@
    $diskpartCmds | diskpart
    
  • 清理RAM盘:
    # 卸载并删除VHD文件
    Dismount-VHD -Path $vhdPath
    Remove-Item -Path $vhdPath -Force
    

二、Windows 2000 Ramdisk.sys(KB257405)的C#实现适配PowerShell

Windows 2000的Ramdisk.sys驱动已不兼容现代Windows 10/11,但存在开源的C#实现可模拟其功能并适配PowerShell:

  • 这类实现通常通过调用Windows内核API(如DeviceIoControl、CreateFile)创建内存虚拟磁盘设备,将其封装为可挂载的卷。
  • 你可基于开源Ramdisk C#项目修改,将编译后的程序集通过PowerShell的Add-Type命令加载,或者封装为自定义PowerShell Cmdlet,实现直接调用。
  • 注意:操作需管理员权限,且需确保代码安全性,避免影响系统稳定性。

内容的提问来源于stack exchange,提问作者Dennis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 01:37:09