当前位置:网站首页>如何迁移virtualbox 的虚拟机到hype-v
如何迁移virtualbox 的虚拟机到hype-v
2022-06-23 05:34:00 【Ti-laser】
简介:迁移virtualbox虚拟机核心工作就是虚拟盘格式迁移到hyper-v支持的格式上,本身操作比较简单,但是如果遇到boot方式不对应则需要手动修正,否则无法正常启动。
迁移流程:
*virtualbox 下把虚拟机处于关闭状态(非停止),在命令行下运行下面命令:
VBoxManage.exe clonehd --format vhd "C:\temp\VM\src-disk.vmdk" "C:\temp\VM\target-disk.vhd"
其中src-disk.vmdk为virtualbox 创建好的虚拟盘,而目标文件target-disk.vhd是hyper-v支持的格式

*启动hyper-v新建一个虚拟机,在进入连接虚拟硬盘环节选择你刚转换的虚拟硬盘:

*顺利的话即可启动新虚拟机。
无法启动故障分析:
现象:屏幕只是一个光标闪烁,连ubuntu的grub菜单都不出现,则可能是hyper-v和虚拟盘配置的启动方式不对造成。
解决方法:
检查当下hyper-v方式方法:
关闭系统,hyper-v从ubuntu iso 启动并进入ubuntu光盘演示模式。
在演示模式命令行下面输入
sudo efibootmgr -v
如果出现 "EFI variables are not supported on this system",意味着hype-v当前是处于早期的bios mbr启动模式,否则就是UEFI引导模式。
我的hyper-v是mbr引导模式。
提示,创建hyper-v时候选择代数就是影响启动模式(虽然我的虚拟机是uefi模式,但是创建磁盘时候hyper-v 禁止我选择该模式):

输入fdisk -l检查当前系统的boot模式。对我的虚拟机,虚拟盘是两个分区,其中一个分区属于uefi,另外一个是主系统区域,即在virtualbox里面安装的系统是uefi引导而hyper-v是采用bios mbr引导,两者不一致导致系统无法加载。
由于hyper-v并不支持修改引导模式,故需要把ubuntu系统切到老的bios引导模式。
方法如下(继续在光盘演示模式下):
运行GParted ,删除uefi分区,并创建一个标识为bios_grub的未格式化分区,可以用fdisk 修改分区类型为4 (bios boot类型),分区不要少于1M
然后依次运行下面命令(其中sda2要依据fdisk输出来调整):
mount /dev/sda2 /mnt/
mount -t proc none /mnt/proc
mount -o bind /dev /mnt/dev
mount -t sysfs sys /mnt/sys
chroot /mnt/ /bin/bash
update-grub
/usr/sbin/grub-install --recheck --no-floppy /dev/sda
重新启动,正常情况下grub会出现,启动过程中会进入紧急修复模式,这是因为删除uefi分区导致,可以用vi编辑器注释掉/etc/fstab里面对应分区的挂接,对我的系统是一个id 为747f-1e42的分区。

重启后即可正常进入系统,不要忘记卸载掉virtualbox的无用的插件:
sudo vbox-uninstall-guest-additions
边栏推荐
- 熟练利用切片操作
- Set tensorflow1 X to pytorch
- Termux
- Plot+seaborn+folium: a visual exploration of Abbey's rental housing data
- Linked Storage
- SAP execution transaction code mrrl error -no message was found for partner 100065-
- Day_ 02 smart communication health project - appointment management - inspection item management
- haas506 2.0开发教程-sntp(仅支持2.2以上版本)
- English语法_形容词比较级 - 3级变化
- 记一次GLIB2.14升级GLIB2.18的记录以及其中的步骤原理
猜你喜欢

Open source ecology 𞓜 super practical open source license basic knowledge literacy post (Part 2)

Laravel log channel 分组配置

中台库存中的实仓与虚仓的业务逻辑设计

索引——MySQL

解析创客教育中的造物原理

云盒子联合深信服,为南京一中打造智慧双模教学资源分享平台

idea的去除转义的复制粘贴
百度URL参数之LINK?URL参数加密解密研究(代码实例)

常见设置模式(抽象工厂&责任链模式&观察者模式)

Haas506 2.0 development tutorial - Advanced Component Library -modem SMS (only supports versions above 2.2)
随机推荐
数值计算方法 Chapter7. 计算矩阵的特征值和特征向量
XShell7 下载
如何实现与FDA保持邮件通信安全加密?
VS2013 FFMPEG环境配置及常见错误处理
设计师需要懂的数据指标与数据分析模型
Focusing on the smart city, Huawei cooperates with China Science and technology Xingtu to jointly develop a new digital blue ocean
下载oss文件并修改文件名
Vs+qt project transferred to QT Creator
JS to create an array (all elements are objects)
Measurement principle and thickness measurement mode of spectral confocal
c#数据库报错问题大家帮我看看吧
C语言 获取秒、毫秒、微妙、纳秒时间戳
Fastdata pole | insight report on e-commerce consumption of young Chinese users 2021
Day_ 10 smart health project - permission control, graphic report
LeetCode笔记:Weekly Contest 298
Topic35——34. Find the first and last positions of elements in a sorted array
C # database reports errors. Let's have a look
Haas506 2.0 development tutorial -hota (only supports versions above 2.2)
【踩坑记录】数据库连接未关闭连接,释放资源的坑
English语法_副词 - ever / once