我有一个基于 Amazon 提供的 Microsoft Windows Server 2016 AMI 的 AWS EC2 实例。我想使用临时实例存储。当我启动实例时,我可以登录并使用 Windows 的磁盘管理工具将我的实例存储挂载为驱动器号。
但是,如果我停止然后启动实例,则登录时实例存储不再挂载。每次重新启动实例时,我都必须再次使用 Windows 的磁盘管理工具重新挂载实例存储。
如何使实例存储自动显示为驱动器?
答案1
仅供参考,这里有一个更简单的解决方案,基于AWS EC2 文档
从 PowerShell 窗口运行以下命令。
#initial disk 1st time:
C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\InitializeDisks.ps1
# schedule initial disk
C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\InitializeDisks.ps1 -Schedule
答案2
配置Amazon提供的脚本C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\InitializeDisks.ps1
在系统启动时运行。
以管理员身份登录。
创建一个临时 XML 文件,其内容如下所示。
启动 Windows 任务计划程序。(开始 >> 管理工具 >> 任务计划程序)
选择操作, 导入任务...
选择您的临时 XML 文件。
按“确定”创建任务。
Amazon Ec2 启动 - 初始化 Disks.xml
<?xml version="1.0" encoding="UTF-16"?>
<Task version="1.3" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
<RegistrationInfo>
<URI>\Amazon Ec2 Launch - Initialize Disks</URI>
</RegistrationInfo>
<Triggers>
<BootTrigger>
<Enabled>true</Enabled>
</BootTrigger>
</Triggers>
<Principals>
<Principal id="Author">
<UserId>S-1-5-18</UserId>
<RunLevel>HighestAvailable</RunLevel>
</Principal>
</Principals>
<Settings>
<MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
<DisallowStartIfOnBatteries>true</DisallowStartIfOnBatteries>
<StopIfGoingOnBatteries>false</StopIfGoingOnBatteries>
<AllowHardTerminate>false</AllowHardTerminate>
<StartWhenAvailable>true</StartWhenAvailable>
<RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
<IdleSettings>
<StopOnIdleEnd>false</StopOnIdleEnd>
<RestartOnIdle>false</RestartOnIdle>
</IdleSettings>
<AllowStartOnDemand>true</AllowStartOnDemand>
<Enabled>true</Enabled>
<Hidden>false</Hidden>
<RunOnlyIfIdle>false</RunOnlyIfIdle>
<DisallowStartOnRemoteAppSession>false</DisallowStartOnRemoteAppSession>
<UseUnifiedSchedulingEngine>true</UseUnifiedSchedulingEngine>
<WakeToRun>false</WakeToRun>
<ExecutionTimeLimit>PT72H</ExecutionTimeLimit>
<Priority>0</Priority>
</Settings>
<Actions Context="Author">
<Exec>
<Command>C:\Windows\System32\cmd.exe</Command>
<Arguments>/C C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoProfile -NonInteractive -NoLogo -ExecutionPolicy Unrestricted -File "C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\InitializeDisks.ps1"</Arguments>
</Exec>
</Actions>
</Task>
我通过以下线索找到了答案这里