Vmware
VBoxManage.exe convertdd *.img *.vdi
IMG是一种镜像文件,不同于ISO系统镜像,IMG是不带引导的系统镜像,也就是说在为虚拟机安装镜像的时候,不能像ISO文件那样方便安装,直接从Iso文件引导安装系统,IMG是一种硬盘分区的镜像文件,要先把IMG镜像文件刻录到硬盘或者是U盘,系统从硬盘和U盘进行系统引导,树莓派这类开发板的系统大多都是这类的系统镜像,系统镜像烧录到sd卡,就可以直接在sd卡启动系统,非常方便,在虚拟机上安装这类系统镜像有两个方法。
1.把img系统镜像转为VDI或VMDK格式文件 img系统镜像转为VDI或VMDK这类的虚拟机使用的虚拟硬盘文件就可以让虚拟机从硬盘启动系统,就和树莓派一样了。 1.把img镜像转换为VDI或VMDK软件可以用自带的命令行实现,也可以用软件实现。 打开windows带的命令行,进入virtual box的安装目录,里面有一个VBoxManage.exe文件,然后输入
VBoxmManage clonehd *.vmdk *.vdi --format vdi
用virtual box自带的命令行文件,把img镜像文件转换为VDI文件,这样就可以在virtual box新建虚拟机时指定vdi硬盘文件,就可以安装系统了,如果想要在VMware上使用vdi文件,则还要vdi文件转为vmdk文件,用下面的命令实现。
2.使用软件自动完成vmdk,img,vhd之间的文件转换,软件名字是starwind software Image converter ,软件的官网是 主要支持的vmdk,vhd,img文件之间的互相转换,vmdk是vmware的虚拟文件系统,virtual box可以用vhd文件系统,vhd是微软虚拟磁盘文件,virtual box可以用这个虚拟磁盘,virtual box支持的虚拟磁盘文件格式很多,vhd文件也可以用于微软自家的Hyper-V虚拟机,另外windows系统也可以从vhd文件中启动。
选择要转换的虚拟磁盘文件,我这里的是syncloud的amd64的img系统镜像转换为vmdk,virtual box最近的网络设置有些问题,就只好用vmware了。img镜像已经被识别出来了,大小是3.47GB。选择好文件之后,点击next
选择要转换的文件类型,支持的文件有6种,其实是3种,vhd和vmdk和img文件,vmdk和vhd文件都各有两种类型,growable imgae类型是指,系统镜像不是固定的大小,但是会随着添加数据而增大,而pre-allocated image文件类型则是固定大小的,不会增大文件大小,这就和vmware创建虚拟机时所选的是否立即分配所有所有磁盘空间是一样的意思。另外如果是vmware esx服务器的虚拟磁盘,则要选择vmware esx server image选项,这个我没试过。
选择虚拟磁盘的类型,选择scsi就好,scsi的读写速的快,ide的格式有点过时了。选好后点击next。 选择转换后的目标虚拟磁盘文件的位置,点击next 等待转换完成,点击finish。 2.创建syncloud虚拟机之后删除创建的磁盘,先不要开机,在硬件选项中新建硬盘,选择创建好的虚拟机镜像文件。 网络模式选好桥接模式,然后点击添加。
选择转换后的虚拟磁盘文件,vmware只支持vmdk文件,独立模式选不选随便,全凭自己选择。 这里选择保持现有格式来选择最大兼容性。 虚拟磁盘大小选择默认就好,就如它所说就算是扩容也不能扩大分区和文件系统的大小。
已经添加好了,接下来就可以启动虚拟机了。 可以看出系统是debin系统,启动选择第一项,如果虚拟机没有从硬盘启动就在虚拟机启动时,按f2键进入bios界面设置从硬盘启动。 默认用户名是root,密码是syncloud,在网页端激活设备之后,密码就会改为设置的密码。
安装过程这里就略过了,详细过程可以看我的另一篇博客,有详细的安装过程。 2.img文件通过Win32DiskImager,balenaEtcher之类的刻盘软件,写入到U盘或硬盘。 这种方式主要是用来把synlcoud系统安装在树莓派上或者是x86之类的pc上的方式。这类嵌入式的系统大都是这样的安装方式。
VBoxManage modifymedium disk syncloud-vbox-[version].vdi --resize 50000
#resize指的是重新分配磁盘空间为50g,syncloud是解压之后的vdi虚拟磁盘文件,要注意文件位置
etcher软件需要在设置中开启unsafe mode模式之后就可以在U盘之外的驱动器刻录镜像,可以用于老旧的x86 pc插入硬盘当做nas设备。而Win32DiskImager只支持u盘之类的外设驱动器刻录系统。 3.后记 syncloud虽然好用,但是如果要是在自己的局域网中搭建的话,还不如直接搭建nextcloud之类的