如何自动更改临时驱动器的指定字母?

如何自动更改临时驱动器的指定字母?

我有一个 AWS Windows 机箱(Windows 2008 R2),上面有以下磁盘:

C:\ 60 Gb (EBS)
D:\ 200 Gb (EBS)
Y:\ 40 Gb (Ephemeral SSD) 
Z:\ 40 Gb (Ephemeral SSD)

每次启动时,我都会将临时驱动器更改为答案:埃:和 EBS 驱动Z:。有时重启后临时驱动器未安装。我真的需要这样做,因为我有一个程序,其数据在答案:驱动器,无法更改。我想享受 Ephemeral SSD 的额外速度。

在 AWS 中实现自动化的最佳方法是什么?

我想制作一个使用 WMI 在启动时更改驱动器号的 PowerShell 脚本(如下),但我不确定这是否是最好的选择。AWS 是否有某种方法来控制/配置临时驱动器?

答案1

可以使用以下配置EC2ConfigService 设置标准 Windows 实例构建中包含的应用程序(或单独提供来自 AWS 开发人员工具站点。)

启动实例后,选择开始 -> 所有程序 -> EC2ConfigService 设置. 访问 '贮存' 选项卡,选中 '将卷名映射到驱动器号。',然后点击'映射' 按钮设置驱动器号。使用分配给临时驱动器的默认卷名。每次重新启动后,驱动器将具有您指定的字母。

EC2ConfigService 驱动器号映射屏幕截图

答案2

您可能会发现这一点:http://www.uwe-sieber.de/usbdlm_e.html可以解决问题。它旨在处理在驱动器号空间中游走的 USB 驱动器。但是它可以处理任意存储设备。

只需将 zip 的内容复制到 C:\usbdlm,然后运行 ​​usbdriveinfo.exe。这将为您提供可用于唯一标识 SSD 的设备字符串。但要小心 - 这些字符串可能会在每次调用 VM 时发生变化。

然后在 .ini 文件中创建条目以强制将这些 ID 分配给特定的驱动器号。

在双 RDP 会话之后 - 以下是我的一个系统中的示例 .ini 文件。它适用于 USB,但您应该明白其中的意思。第一个驱动器字母块使这些设备 ID 获得 U:,第二个块是如何安全地“重新标记”一个块,第三个块使所有其他 USB 磁盘最终以 X 或 Y 作为后备默认值。

我猜你不会看到你的磁盘的 USB ID(!)但你应该在 usbdriveinfo 中找到一些可以使用的东西。看看文档,我相信你可以使用部分匹配来获取 ID 和正则表达式。

[Settings]
CheckLettersOnStartup=1
LoadUsbdlm_Usr=3
VolumeReadyMaxWait=20000
NoMediaNoLetter=0
WriteLogFile=1
LogFile=C:\USBDLM\_USBDLM.LOG
LogLevel=3

[BalloonTips]
Enabled=1
Timeout=6000

; To get the DeviceID, run usbdriveinfo.exe
;    Select the Drives tab
;    Find the Disk (parent device, not the volume) in left hand pane
;    Find  "USB DevID    ="
;    Copy the data after the = sign
;    Paste it into the relavent section here under Driveletters
;    net stop usbdlm  and then net start usbdlm

[DriveLetters1]
Letter=U
DeviceID1=USB\VID_0411&PID_0170\00101007000C8B640
DeviceID2=USB\VID_0411&PID_0170\00101007000A104B0
DeviceID3=USB\VID_0411&PID_0170\00101007000A0C770
DeviceID4=USB\VID_0411&PID_0170\00101007000915F00
DeviceID5=USB\VID_0411&PID_0170\001010070008146D0
DeviceID6=USB\VID_0411&PID_0170\00101007000915F50
DeviceID7=USB\VID_0411&PID_0170\00101007000716A90
DeviceID8=USB\VID_0411&PID_0170\00101007000A0C5F0

[xxxx DriveLetters2]
Letter=V

[DriveLetters]
Letters=X,Y

相关内容