VirtualBox转换磁盘格式实现虚拟机迁移到物理机
VirtualBox转换磁盘格式实现虚拟机迁移到物理机背景:转换硬盘格式使用iso文件挂载到虚拟机,以iso启动测试把虚拟硬盘iso写入U盘台式机启动验证重新配置sshd,手工迁移增量文件(非必要)总之,这个转换是成功的,简单总结如下:背景:在i5 5200u/4G内存的笔记本上运行Ubuntu18,在linux下再运行一个qemu-system-arm程序,20分钟都出不来登录提示,决定迁移到物
VirtualBox转换磁盘格式实现虚拟机迁移到物理机
背景:
在i5 5200u/4G内存的笔记本win10上运行virtualbox,安装的虚拟机Ubuntu18 linux下再运行一个qemu-system-arm程序,20分钟都出不来登录提示,决定迁移到物理机。
当然,也完全可以在台式机上重新安装。
之前尝试过在另外一个VBox linux虚拟机上,直接挂载文件Ubuntu18和U盘,使用dd命令拷贝的方法,成功迁移到物理机。
转换硬盘格式
.找到虚拟硬盘
C:\Program Files\Oracle\VirtualBox>VBoxManage list hdds
…
UUID: cf52cde4-684a-41e0-a98f-6a8679b7c947
Parent UUID: base
State: created
Type: normal (base)
Location: D:\xyin\VirtualBoxVHD\Ubuntu18\Ubuntu18.vdi
Storage format: VDI
Capacity: 10240 MBytes
Encryption: disabled
…
参考:VBoxManage clonemedium 格式
clonemedium [disk|dvd|floppy] <uuid|inputfile> <uuid|outputfile>
[–format VDI|VMDK|VHD|RAW|]
[–variant Standard,Fixed,Split2G,Stream,ESX]
[–existing]
开始转换,windows下并不能向linux那样直接dd写入硬盘/dev/sdx,看来需要多转换一次。
F:盘格式化为fat32,不支持大文件(VERR_FILE_TOO_BIG)
C:\Program Files\Oracle\VirtualBox>VBoxManage.exe clonemedium disk cf52cde4-684a-41e0-a98f-6a8679b7c947 F: --format RAW
0%...
Progress state: VBOX_E_FILE_ERROR
VBoxManage.exe: error: Failed to clone medium
VBoxManage.exe: error: Could not create the clone medium 'F:\{a3752791-e8e8-49f1-ba1a-526c175c9883}.iso' (VERR_FILE_TOO_BIG)
VBoxManage.exe: error: Details: code VBOX_E_FILE_ERROR (0x80bb0004), component MediumWrap, interface IMedium
VBoxManage.exe: error: Context: "enum RTEXITCODE __cdecl handleCloneMedium(struct HandlerArg *)" at line 1023 of file VBoxManageDisk.cpp
C盘创建文件夹,提示无权限(VERR_ACCESS_DENIED)
C:\Program Files\Oracle\VirtualBox>VBoxManage.exe clonemedium disk cf52cde4-684a-41e0-a98f-6a8679b7c947 c:\tmpFile --format RAW
0%...
Progress state: VBOX_E_FILE_ERROR
VBoxManage.exe: error: Failed to clone medium
VBoxManage.exe: error: Could not create the clone medium 'C:\tmpFile'.
VBoxManage.exe: error: Raw: cannot create image 'C:\tmpFile' (VERR_ACCESS_DENIED)
VBoxManage.exe: error: Details: code VBOX_E_FILE_ERROR (0x80bb0004), component MediumWrap, interface IMedium
VBoxManage.exe: error: Context: "enum RTEXITCODE __cdecl handleCloneMedium(struct HandlerArg *)" at line 1023 of file VBoxManageDisk.cpp
把上面的\修改为/也是一样的,工具会自动转换
尝试带目录的时候需要在末尾加斜杠,同时使用管理员运行cmd(可能不是必要的)转换成功
C:\Program Files\Oracle\VirtualBox>VBoxManage.exe clonemedium disk cf52cde4-684a-41e0-a98f-6a8679b7c947 C:/tmpFile/ --format RAW
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Clone medium created in format 'RAW'. UUID: ca256097-7763-4434-b752-5b169f37522c
raw格式生成iso文件,占用磁盘实际大小,但转换很快SATA SSD不到1分钟
C:\Program Files\Oracle\VirtualBox>dir C:\tmpFile
2020-08-23 09:53 10,737,418,240 {ca256097-7763-4434-b752-5b169f37522c}.iso
C:\Program Files\Oracle\VirtualBox>dir D:\xyin\VirtualBoxVHD\Ubuntu18\Ubuntu18.vdi
2020-08-22 22:17 2,031,091,712 Ubuntu18.vdi
使用iso文件挂载到虚拟机,以iso启动测试
找到任意已有虚拟机,比如coreos,系统-启动顺序只勾选光盘,在存储选择上述转换生成(已自动注册,可以直接选取)的iso文件。
Cannot register the DVD image 'C:\tmpFile\{ca256097-7763-4434-b752-5b169f37522c}.iso' {ae849b43-ed5d-4c41-93b2-7add9fea747b} because a hard disk 'C:\tmpFile\{ca256097-7763-4434-b752-5b169f37522c}.iso' with UUID {ca256097-7763-4434-b752-5b169f37522c} already exists.
这里的iso文件并非归类到虚拟光盘,而是虚拟硬盘,可以在工具下面看到。
存储--控制器--新增虚拟硬盘--选择刚才的iso文件,调整iso对应的端口号,较小的在前面,把启动顺序调整回硬盘。
启动测试,正常登录到Ubuntu系统。
把虚拟硬盘iso写入U盘
rufus-3.9选择设备(u盘盘符)和iso文件写入。硬盘读取速度稳定在50-60MB,大约1分钟左右写入成功。
台式机启动验证
B450主板开机按F11,选择Teclast Cool Flash USB3.11.00回车,顺利登录进入Ubuntu18,lscpu显示AMD Ryzen 5 3500X 6核处理器,虚拟化为AMD-V,已开启。
sudo lsmod|grep kvm 已加载kvm_adm模块。
插入网线,配置网络
ip ad 查看网卡名为 enp34s0
sudo vi /etc/netplan/00-installer-config.yaml
修改网卡名,保持dhcp4:true
sudo netplan apply 检查ping qq.com正常
但是,但是,sshd服务没有安装,22端口未监听,再去看之前准备的qemu目录都没有
原因是一开始的硬盘拷贝错误了, 之前安装好系统后做了一次 快照,最新的文件应该是快照后的文件
D:\xyin\VirtualBoxVHD\Ubuntu18\Snapshots\{f4b29d31-7e7e-49d7-b3d7-e8eb1ccd34fd}.vdi
重新配置sshd,手工迁移增量文件(非必要)
sudo vi /etc/apt/source.list 修改之前配置错误的URL的源
sudo apt update
sudo apt install openssh-server
xy@ubuntu18:~$ rsync -av . 192.168.199.128:~
//网络互通问题,从虚拟机拷贝到物理机
$ ls |awk -F "_" '{ print "sudo apt install -y " $1 }' > ../b.sh
// 把原有的dpkg -i *.deb所有deb修改为apt install
迁移后,3分钟出现登录界面并能正常进入。
总之,这个转换是成功的,简单总结如下:
1、VBoxManage list hdds确认需要待拷贝的硬盘,如果有快照需要特别注意。
2、克隆硬盘只能生成iso文件 ,但这个文件是虚拟硬盘,不是虚拟光盘
VBoxManage.exe clonemedium disk cf52cde4-684a-41e0-a98f-6a8679b7c947 C:/tmpFile/ --format RAW
3、使用iso工具刻录到U盘
4、物理机从U盘启动。
更多推荐
所有评论(0)