适用于:✔️ Linux VM
总结
本文合并了在 Microsoft Azure 中启动 Linux 虚拟机(VM)时可能会收到的最常见的 Linux 操作系统启动错误。
启动错误和解决方案
- 若要恢复由于 GRUB 问题而无法启动的 Linux VM,请参阅 Linux 虚拟机启动到 GRUB 救援。
- 若要对无法加载 Linux 映像的 UEFI (Gen2) Linux VM 进行故障排除,请参阅 Azure Linux 虚拟机中的 Troubleshoot UEFI 启动失败。
- 若要排查登录到 dracut 紧急 shell 的 Linux VM 问题,请参阅 Azure Linux 虚拟机无法启动并输入 dracut 紧急 shell。
- 若要恢复由于 VFAT 文件系统禁用而无法启动的 Linux VM,请参阅 Azure Linux 虚拟机在禁用 VFAT 文件系统类型后无法启动。
- 若要排查由于文件系统损坏问题而无法启动的 Linux VM,请参阅 排查文件系统错误导致的 Linux 虚拟机启动问题。
- 若要解决因配置错误或数据文件系统问题而导致
/etc/fstab的 Linux VM 启动问题,请参阅 排查因 fstab 错误而导致的 Linux VM 启动问题。 - 若要恢复因“内核恐慌 - 未同步:VFS:无法在 unknown-block(0,0) 上装载根文件系统”而无法启动的 Linux 虚拟机,这是由于最近的修补活动后缺少 initramfs,请参阅 重新生成缺失的 initramfs。
- 若要排查因相关的 Linux 内核问题而无法启动的 Linux VM,请参阅 Scenario 1:在启动时发生内核恐慌,Azure Linux 虚拟机在应用内核更改后无法启动。
- 若要排查由于 Hyper-V 驱动问题而无法启动的 Linux 虚拟机,请参阅 因 Hyper-V 驱动关联错误导致的 Linux 虚拟机启动和网络问题排查。
- 若要恢复因根文件系统完全问题而无法启动的 Linux VM,请参阅 Troubleshoot Azure Linux 虚拟机启动问题,因为 OS 磁盘已满。
从无启动方案恢复 Linux VM 的工具
-
通过 Azure 串行控制台,您可以恢复多个启动故障情况,例如:
-
使用此工具,可以创建修复 VM 并将 OS 磁盘的副本附加到该 VM。 可以修改此副本,以修复 chroot 环境中的无启动方案。 有关详细信息,请参阅 使用 chroot 在无法启动的情况下进行离线系统恢复。 在 chroot 环境中执行命令时,它们针对附加的 OS 磁盘而不是本地救援/修复 VM 执行。
注意
或者,可以使用 Azure 门户手动创建救援 VM。 有关详细信息,请参阅使用 Azure 门户通过将 OS 磁盘附加到恢复 VM 来故障排除 Linux 虚拟机。
-
Azure VM 修复命令和 ALAR2 脚本
Azure Linux 自动修复(ALAR)是 VM 修复扩展的一部分,如使用 Azure 虚拟机修复命令修复 Linux VM所述。 这些脚本简化了恢复过程,使甚至没有经验的用户能够轻松恢复其 Linux VM。
-
如果已有 VM,但想要将磁盘交换为备份磁盘或其他 OS 磁盘,则可以使用Azure CLI交换 OS 磁盘。 无需删除和重新创建 VM。 你甚至可以在另一个资源组中使用托管磁盘,只要它未被占用。 Azure VM 修复命令使用此工具来替换虚拟机的操作系统磁盘。