正常情况下,cloudbase-init会自动对系统盘新增空间自动extend volume,但有些自定义镜像在C分区后面有Recovery分区阻挡导致无法extend volume,见https://cloud.tencent.com/developer/article/2160759
有些情况下,不需要cloudbase-init和光驱(比如删掉或禁止),但还想通过控制台重置密码(离线设置密码依赖cloudbase-init和光驱,禁止之一都不行),还想导入的自定义镜像买的机器自动extend volume(比如镜像20G,买大于20G的机器,希望C分区自动extend volume),可以对自定义镜像改造,加开机计划任务
代码语言:powershell复制Set-ExecutionPolicy Unrestricted -force
$client = new-object System.Net.WebClient
$client.DownloadFile('http://windows-1251783334.cos.ap-shanghai.myzijiebao.com/wget64.exe',' c:windowswget.exe')
mkdir -force C:Scripts
wget http://windows-1251783334.cos.ap-shanghai.myzijiebao.com/ExtendVolume.ps1 -Outfile C:ScriptsExtendVolume.ps1
schtasks.exe /create /tn "MicrosoftWindowsExtendVolume" /ru SYSTEM /rl highest /sc ONSTART /tr "Powershell C:ScriptsExtendVolume.ps1" /f