有什么方法可以轻松(且无需重新安装)将 Linux Hyper-V(第 1 代)虚拟机转换为第 2 代虚拟机?
我知道Convert-VMGenerationPowerShell 的 cmdlet(这个: https: //code.msdn.microsoft.com/windowsdesktop/Convert-VMGeneration-81ddafa2),但这不适用于 Linux VM。
我在 HyperV 上运行时遇到一些问题(机器停止响应一段时间等),我所看到的大部分问题在 Gen2 上都有了很大的改进(我们遵循所有 Microsoft 建议的在 Hyper-V 上运行 Linux 的做法,但是它仍然不存在,至少在第一代上)。
原始虚拟机在 Windows Server 2008 主机上运行。我们已经升级到 2012 R2 主机并且现在可以运行 Gen2,但是我找到的每个来源都说你必须为其重新安装 linux(我还没能弄清楚为什么,但我确信应该有一个原因)。
这个特定服务器(它是在 Ubuntu 14.04 上运行的 Gitlab 服务器)的安装和迁移非常麻烦,如果可能的话,我们不希望重新安装和迁移。
我看到之前有人问过这个类似的问题,但是要么没有回答,要么 100% 与 Windows 解决方法有关。
这特别是 Linux,我正在尝试将 Clonezilla 映像还原到 4TB 硬盘驱动器。
我之前在其他磁盘上多次使用过这个映像,但是由于这个较大驱动器的 MBR 限制,它需要是 GPT,所以我无法恢复磁盘映像。
Clonezilla 指出的确切错误是“错误:目标磁盘大小为 4.00TB,大于 MBR 分区表条目最大 2TiB。您必须使用 GUID 分区表格式 (GPT)”
我明白问题是“什么”,但我不知道解决的步骤。我将尝试使用Macrium反射和恢复克隆主机,希望它可以自动迁移分区结构。
注意:此驱动器是空白的,因此我不担心数据丢失。实验很好,因为我在驱动器上没有什么可失去的。
编辑/更新:
所以看起来 Clonezilla 实际上允许该过程继续,但是它会将所有内容按原样写入 MBR,并且磁盘将被视为 2TB。
有了这个,问题就变成了将操作系统/启动卷上的 MBR 转换为 GPT(是的,我正在启动到我正在使用的系统,数据丢失不是问题,因为我可以从图像中恢复,如果有的话休息,到目前为止在我的试验中有很多次)
我已经用 gdisk 打开了磁盘并运行了到 GPT 的转换。这是成功的,但是这会杀死 GRUB 引导分区,并且确实系统在转换后无法引导。
我正在关注这个:https : //wiki.archlinux.org/index.php/GUID_Partition_Table#Convert_from_MBR_to_GPT
我现在需要什么帮助: 所以现在我似乎已经将我的 Clonezilla 映像以 MBR 格式恢复到新磁盘,并且已经使用 gdisk 完成并就地转换为 GPT。
我现在正在寻找有关创建 GRUB 分区和重新安装 GRUB 以便系统可以在转换后启动的指导。
一旦我把这一切都布置好了,我就可以将它格式化为一个完整的逐步答案,将所有组件放在一起,以帮助将来的其他人。
谢谢!!