方案一:VBoxManage

方案大概对其他虚拟机的格式也支持。开始考虑使用Oracle VM VirtualBox的VBoxManage.exe clonemedium来迁移,直接回车可以看到语法,这个工具只能实现不同文件格式之间的转换,无法直接转换到物理硬盘的分区,但可以直接转换到U盘的某个分区。
–因为虚拟机中可以挂载U盘,但不能挂载本机硬盘的分区,当然也可以挂载移动硬盘。
笔记本难得去拆硬盘,这个方案放弃了。

方案二:vdfuse

找到一个virtualbox-fuse_4.1.44-dfsg-1+deb7u1ubuntu1_amd64.deb包,可以在puppyLinux下直接安装,但运行报错:
root# vdfuse
vdfuse: error while loading shared libraries: VBoxDDU.so: cannot open shared object file: No such file or directory
root#
需要安装virtualBox才能解决,由于puppyLinux超级轻量,当初只分配了512M的空间,空间不足且暂时不会扩容空间。

方案三:nbd

参考资料安装 nbd-server nbd-client qemu-kvm后没有qemu-nbd命令
还需要安装 qemu-utils ,安装后同时还包含qemu-img命令

顺带笔记

1、CentOS  qemu-img。
2、qemu_gui命令可以启动virtualBox的VDI格式的虚拟机,需要安装vnc来连接界面。
	debug: qemu-system-x86_64 -boot c -m 2048 -enable-kvm -hda /mnt/home/xyin/VirtualBoxVMs/UOS/UOS.vdi -smp 4
	VNC server running on 127.0.0.1:5900

nbd迁移文件实战

1、vdi文件连接到设备文件

root# qemu-nbd -c /dev/nbd0 /mnt/home/xxxx/VirtualBoxVMs/UOS/UOS.vdi
查看分区
root# fdisk -l /dev/nbd0
Disk /dev/nbd0: 40 GiB, 42949672960 bytes, 83886080 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xce41c127

Device Boot Start End Sectors Size Id Type
/dev/nbd0p1 * 2048 83886079 83884032 40G 83 Linux

2、挂载

root# mount /dev/nbd0p1 /mnt/data
正常识别,6G大小。
root# cd /mnt/data
root# ls
bin dev home lib32 libx32 media opt root sbin sys usr
boot etc lib lib64 lost+found mnt proc run srv tmp var
root# du -sm .
6226 .

3、挂载目标分区

准备物理设备,提前在windows下格式化为ext4了
随便找个目录挂载目标分区
root# mount /dev/nvme0n1p5 /mnt/flash
验证可写
root# cd /mnt/flash
root# ls
lost+found
root# touch bb
root# ls
bb lost+found
root# rm bb
root# cd …
root# pwd
/mnt
root#
验证空间足够
root# df -h /mnt/data
Filesystem Size Used Avail Use% Mounted on
/dev/nbd0p1 40G 6.2G 31G 17% /mnt/data
root# df -h /mnt/flash
Filesystem Size Used Avail Use% Mounted on
/dev/nvme0n1p5 119G 60M 113G 1% /mnt/flash

4、完成拷贝

拷贝文件几秒钟拷贝完
root# cp -a /mnt/data/* /mnt/flash

到这里还不能启动,需要折腾GRUB/UEFI,另外单独搞。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐