前几天花1元钱买了一套阿里云无影桌面1个月试用版,于是开启了各种尝试变更镜像,最后又走到了自定义镜像的道路上来,过程中得到阿里的技术小哥哥持续支持,因为网上的资料比较欠缺,所以特意总结整理希望可以帮到有需要的小伙伴们,过程细节且听小库娓娓道来。
事情的起因:
因为工作原因,我需要在无影云桌面上安装一个工具,无影云桌面刚开通时是Windows 2019 Datacenter版本,安装后系统一直报错,工具中会创建一个SQL Server用户,操作无数次也不能成功,如《如何在两台SQL Server服务器之间复制登录名和密码》一文中,为了增加这个用户在两台不同SQL Server数据之间暗箱复制用户。
因为在无影云主机中偿试了Windows 2022/2016/2019均没有成功,同时发现该工具使用的两个动态库dll文件始终注册不成功,导致数据库用户创建成功后工具仍然不同使用。期间用Process Explorer/Process Monitor跟踪监测注册表问题时也获得了这个写死的数据库用户密码,同时发现在Windows Server上用Regsvr32注册dll时并没有产生注册RegCreateKey的动作,可见是因为服务器缘故注册不上动态库文件。
决定自己制作镜像文件:
无影云桌面自定义镜像功能需要申请才可以开通,所以与阿里技术人员沟通解决问题的过程中同时申请了白名单,于是开始自己制作Window 10镜像,从Microsoft官网下载了最新的Windows 10 20H2版ISO文件,开启了Windows 11 Hyper-V虚拟机服务。
阿里官方指导文档:《无影云桌面>管理员指南>管理镜像>导入镜像》,镜像不支持导入Linux/Winodws XP/Windows 7/Windows 8/Windows 8.1/Windows 11,不支持导入ISO镜像文件,仅支持RAW/VHD/qcow2格式的镜像文件。
直接总结:
镜像文件件要:除了上面的OS与格式要求外,建立虚拟机时“引导固件类型”需要是BOIS,不能使用EFI/UEFI引导方式,需要Powershell开启执行脚本的权限,所以安装完系统后需要打开Powershell运行Set-ExecutionPolicy -ExecutionPolicy AllSigned开启在Powershell中运行脚本的权限,可能镜像上传后转换安装Aliyun相关管理服务时是采用PS脚本。
一、用Hyper-V制作虚拟主机VHD文件:
- 创建主机时不要采用快捷方式,需要按步骤Step by Step来完成,现在的Hyper-V已经有两个版本V1/V2,V1版引导固件采用BOIS,V2版是UEIF引导模式,所以只能使用V1版本(快捷创建模式中不可以选择版本);
- 虚拟硬盘文件采用VHD模式,默认是VHDX格式,可以通过Convert-VHD工具转换;
- 其他的按《无影云桌面>管理员指南>管理镜像>导入镜像》内容制作即可。
二、用VirtualBox制作虚拟机VHD文件:
- VB创建虚拟机后有EFI开关,创建默认采用BOIS模式;
- 虚拟硬件默认是VDI,可以通过VirtuaBox安装目录下的VBoxManage.exe cloneHD -SourceVHD -DestVHD --format VHD进行转换;
- 其他的按《无影云桌面>管理员指南>管理镜像>导入镜像》内容制作即可。
三、上传镜像文件:
- 需要开启阿里云对象存储OSS服务,增加Access Key/Access Secret,以及《无影云桌面>管理员指南>管理镜像>导入镜像》文件中的oss://xxxxxxxxx-xxxxx-xxx目录,需要在对象存储OSS管理理台下载oss-browser完成镜像文件上专工作。
- 上传成功能,按要求填写自定义镜像相关内容,保存后系统会自动对上传镜像进行转换,转换成功后即可以让云桌面完成镜像切换。
以上基本就是主要内容,也是我走过的一些弯路,其他方面参照《无影云桌面>管理员指南>管理镜像>导入镜像》来一步步完成即可,还是就是阿里的云桌面的技术支持挺配合,基本有求必应,本文基本就是对于《无影云桌面>管理员指南>管理镜像>导入镜像》的补充,该指导文件写的并不是特别清楚。