问题是,我设法恢复了导致“错误‘grub_calloc 未找到’且 VM 处于救援模式”的 Ubuntu 服务器磁盘之一。此外,我还将此磁盘与原始 VM 交换,但当我尝试通过 Azure 中的串行控制台连接时,我收到通知。当我在串行控制台中按下 Enter 时,什么也没发生。
这是我收到的通知。我尝试过用 Google 搜索,但我个人找不到任何与 Azure 中的 Linux VM 相关的内容。
这是来自启动诊断的图片。
由于微软未能提供任何帮助,因此我真的很感激任何答案。
答案1
重新安装 grub2 就足够了。尝试按照我从以下链接中借用的步骤操作这里。
使用创建救援虚拟机Azure 修复 VM 功能
登录救援虚拟机并挂载根磁盘。然后chroot(1)它并重新安装 grub。
$ sudo su – $ mkdir /rescue
$ mount /dev/sdc1 /rescue
$ for fs in {proc,sys,tmp,dev}; do mount -o bind /$fs /rescue/$fs; done
$ cd /rescue $ chroot /rescue
$ lsblk <-- 这将识别所连接的磁盘,通常是 /dev/sdc
$ grub-install /dev/sdc
$ exit
$ cd /
$ for fs in {proc,sys,tmp,dev}; do umount /rescue/$fs; done
$ umount /rescue使用以下方法还原虚拟机
az vm repair restore -g MyResourceGroup -n MyVM --verbose
更多信息: