启动与虚拟机故障

重新启动后无法访问第 2 代 Linux VM - Virtual Machines

· 52CE 我爱测

适用于:✔️ Linux VM 原始 KB 数: 4541599 总结 Azure 允许利用第 2 代 (Gen2) VM Linux 市场映像,这些映像具有多个优势。 这些 Gen2 市场映像将包含负责完成 VM 设置的预配代理(Linux 代理或 cloud-init),例如设置主机名、用户名或密码/ssh 密钥。 我们最近发现,在有限的方案中,在重新启动包含 cloud-init 预配代理的 Gen2 VM 时,可能无法使用创建 VM 时指定的用户帐

适用于:✔️ Linux VM

原始 KB 数: 4541599

总结

Azure 允许利用第 2 代 (Gen2) VM Linux 市场映像,这些映像具有多个优势。 这些 Gen2 市场映像将包含负责完成 VM 设置的预配代理(Linux 代理或 cloud-init),例如设置主机名、用户名或密码/ssh 密钥。

我们最近发现,在有限的方案中,在重新启动包含 cloud-init 预配代理的 Gen2 VM 时,可能无法使用创建 VM 时指定的用户帐户和密码访问 VM。

详细信息

这只会影响使用 cloud-init 19.3 或更低版本预配的 Gen2 映像(自定义或Azure 市场),因为问题已在 cloud-init 19.4 中解决。

Azure 市场已提供具有 cloud-init 的 Ubuntu Server Gen 2 映像,下面的映像版本包括 cloud-init 19.4。

  • 16.04 - Canonical:UbuntuServer:16_04-lts-gen2:16.04.202001290

  • 18.04 - Canonical:UbuntuServer:18_04-lts-gen2:18.04.202001291 若要检查 cloud-init 的版本是否位于映像中,请运行以下脚本:

    cloud-init -v
    

缓解措施

如果无法使用创建 VM 的用户连接到 VM,则需要使用 Azure VM 访问扩展或Azure 门户重置密码:

  1. 转到 VM。
  2. 在 VM 边栏选项卡中,滚动到 “帮助”。
  3. 选择 “密码重置”,然后选择“重置密码”,其中包含无法访问 VM 的用户名。

预防

你可以采取先发制人的措施,以避免被锁定。如果发行版在其存储库中已发布 cloud-init 19.4,则可以使用以下 apt 命令升级到该存储库。

sudo apt-get upgrade cloud-init

常见问题解答

问: 我创建了具有用户和 SSH 密钥的 VM,这是否适用于我?答: 不是。 仅当使用密码身份验证时,才会发生这种情况。

问: 这是否只会影响 Ubuntu Server 市场映像?答: 默认使用 cloud-init 预配规范 Ubuntu Server 市场映像。 但是,可能还有其他使用 cloud-init 进行预配的Azure 市场产品/服务。

问: 我使用的是第 1 代映像,这种情况是否可以发生?答: 否,这只会影响第 2 代图像。

问: 每次重新启动时,这都可能发生吗?答: 不是。 每次重新启动时都不会发生这种情况,它将发生一次。

资料来源与适用范围

资料来源
微软官方 Linux 虚拟机排障文档
适用范围
Azure Linux 虚拟机;按正文发行版、内核及代理版本
内容语言
中文;命令、路径和错误标识保留技术原文
本地收录日期
2026-10-26
授权说明
CC BY 4.0

正文与所需资源由本站本地存储。查看来源及更新记录 ↗

请按适用版本和实际日志确认原因;本站没有对每一种系统或设备逐项执行文中的操作。