我的公司最近开始将虚拟机从 Microsoft Hyper-V 迁移到 Proxmox VE。我们使用 Clonezilla Live 迁移了我们的一台第二代机器 (Ubuntu Server 16.04 LTS)。
迁移后,机器根本无法使用 (U)EFI 启动,当然也无法使用 BIOS 启动。
我们尝试了很多不同的方法,例如手动重新安装 GRUB、将启动文件复制到另一个分区、将不同的分区标记为启动,甚至尝试使用 MBR 转换为 BIOS,但都无济于事……
我现在尝试的最后一件事是使用 Ubuntu Desktop 16.04 Live CD 中的启动修复。这似乎没有任何问题,但重新启动后我收到以下错误消息:
以下是来自启动修复的信息:http://paste2.org/EkkKgYgy
我真的很想知道如何让这台机器再次工作,而不必重新安装它,重新安装所有软件包并恢复我们的数据,因为这台机器上安装了我们的 Icinga2 监控软件。
PS:Hyper-V 中的原始机器仍在运行。
答案1
问题解决了,我们发现文件grubx64.efi
和MokManager.efi
位于\EFI\ubuntu
而不是\EFI\Boot
所以我们手动复制它们并且机器启动了。
之后我们又遇到了另一个小问题,屏幕上出现了以下消息:
lvmetad is not active yet; using direct activation during sysinit
/dev/mapper/lubuntu--vg-root: clean, 121574/7168000 files, 1115621/2865544 blocks
通过编辑文件/etc/default/grub
并进行以下更改解决了这个问题:
设置GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
为GRUB_CMDLINE_LINUX_DEFAULT="nomodeset"
,并添加行GRUB_TERMINAL_INPUT="console serial"
后跟sudo update-grub
。
到目前为止一切似乎都正常!