我有一台虚拟机用于testing。 我两个星期前最后一次启动,运行标准的aptitude safe-upgrade,然后closures它。 我只是绑在今天(7月8日)启动虚拟机,我得到以下错误:
在工件存储库中找不到版本满足“发布者Microsoft.OSTCExtensions”和types“LinuxDiagnostic”的VM扩展请求版本“2.0”的版本。
如果我尝试重新部署和调整VM大小,我会得到相同的错误。 虚拟机是使用资源pipe理器(一个非经典的VM)设置的。
尝试进入虚拟机设置,然后进行诊断,closures诊断程序。 如果这不让机器启动,然后谷歌如何使用PowerShell或azure色的Clilogin到azure色,然后删除扩展名。 一旦扩展程序被删除,您可以重新启动机器并重新打开诊断程序。
我通过删除Microsoft.OSTCExtensions.LinuxDiagnostic扩展来解决了这个问题。 我采取的步骤:
启动虚拟机,即使它说有错误。 如果我厌倦了在启动VM之前删除扩展名,我得到以下错误:
无法删除虚拟机扩展名“Microsoft.Insights.VMDiagnosticsSettings”。 错误:OperationNotAllowed:当虚拟机未运行时,无法修改VM中的扩展。
启动虚拟机时,我仍然收到原始错误信息:
无法启动虚拟机“some-vm”。 错误:工件存储库中找不到满足请求版本“2.0”的发行版“Microsoft.OSTCExtensions”和types“LinuxDiagnostic”的VM扩展的版本。
VM启动后,通过Extensions菜单中的Azure网站删除扩展。 然后点击卸载。 卸载可能需要几分钟,让它做的事情。 在我的情况下,我也删除了VMAccessForLinux扩展。
感谢Ryan提供有关删除诊断的提示。 这导致我删除扩展的正确path。 GordonB,我想过删除虚拟机并重新创build它,但这是我最后的select。
我没有安装这些扩展,我假设他们在一年前创build虚拟机时安装的位置。 有谁知道为什么扩展名突然停止工作? 谢谢。
编辑我刚刚意识到你不只是试图调整你试图启动,我的道歉。 这只适用于不会closures或重新启动的机器。
尝试根据以下文章重新启动waagent服务。 如果这不起作用,您可能需要尝试手动安装该代理,以确保您拥有正确的版本。
https://azure.microsoft.com/en-us/documentation/articles/virtual-machines-linux-update-agent/
删除虚拟机,使用相同的磁盘创build另一个虚拟机。 值得一试。