Windows镜像如何一次性成功导入腾讯云
建议参考这篇文档,从微软官网下载工具生成64位iso(这种是最安全的获取途径),然后安装腾讯云平台提供的58007版驱动,然后在符合镜像导入诸多条件的情况下导入使用。
驱动是最关键的,目前58007版驱动比较稳健
腾讯云内网地址:http://mirrors.tencentyun.com/install/cts/windows/Drivers.zip
试了下,Win10_2016_2019/amd64目录的驱动也适用Server2022和Win11。
这是我在云服务器上安装的Win11,驱动就是用的58007,我看云市场有现成的Win11收费镜像,它的驱动是58005,但我还是建议使用最新的58007。
云上的机器,不论普通cvm还是黑石裸金属物理机,没有tpm2.0模块。那win11需要tpm2.0怎么办?没有tpm怎么安装win11?
非uefi的legacy模式+系统盘mbr,采用该方法不受tpm2.0和安全启动限制,腾讯云的CVM本来就只支持系统盘MBR,不支持uefi+gpt,而uefi+gpt才需要tpm2.0模块,腾讯云一直以来就不支持uefi+gpt反倒省事了。所以,Win11在腾讯云安装很简单,只需买个Win10或2019系统的CVM安装上有虚拟化驱动的winpe加到启动菜单,开机的时候进入winpe,然后把提前下载好的Win11原版ISO,采用winpe winntsetup 硬盘安装的方式即可安装Win11,安装完成后启用Administrator,升级驱动到58007,并执行这几句powershell命令自动化安装、配置cloudbase-init 1.1.2。
这里安装cloudbase-init的办法通用2012R2-2022/win10/win11
Set-ExecutionPolicy Unrestricted -force
Invoke-WebRequest -uri http://windows-1251783334.cos.ap-shanghai.myqcloud.com/CLOUDBASE-INIT_INSTALL.PS1 -OutFile c:\\cloudbase-init_install.ps1
powershell -file c:\\cloudbase-init_install.ps1
sc.exe config cloudbase-init obj= LocalSystem
sc.exe config cloudbase-init depend= tcpip/dhcp/dnscache/Winmgmt
sc.exe failure cloudbase-init reset= 0 actions= restart/10000
sc.exe qc cloudbase-init 8192
net user cloudbase-init /del 2>&1 > $null
2008R2的话参考
Set-ExecutionPolicy Unrestricted -force
C:\\Windows\\SysWOW64\\certutil.exe -urlcache -split -f http://windows-1251783334.cos.ap-shanghai.myqcloud.com/CLOUDBASE-INIT_INSTALL.PS1 c:\\cloudbase-init_install.ps1
powershell -file c:\\cloudbase-init_install.ps1
sc.exe config cloudbase-init obj= LocalSystem
sc.exe config cloudbase-init depend= tcpip/dhcp/dnscache/Winmgmt
sc.exe failure cloudbase-init reset= 0 actions= restart/10000
sc.exe qc cloudbase-init 8192
net user cloudbase-init /del 2>&1> $null
如果下载不了Drivers.zip,继续往下看
cvm在哪个地域,下载哪个地域的文件,确保使用内网DNS能正常解析同地域cos域名为内网IP,这样同地域cvm访问同地域cos文件就是走内网的,优点:快、没有外网流量费。
北京:http://windowsbj-1251783334.cos.ap-beijing.myqcloud.com/VirtIO_Win_58007.zip
上海:http://windows-1251783334.cos.ap-shanghai.myqcloud.com/VirtIO_Win_58007.zip
广州:http://windowsgz-1251783334.cos.ap-guangzhou.myqcloud.com/VirtIO_Win_58007.zip
成都:http://windowscd-1251783334.cos.ap-chengdu.myqcloud.com/VirtIO_Win_58007.zip
重庆:http://windowscq-1251783334.cos.ap-chongqing.myqcloud.com/VirtIO_Win_58007.zip
南京:http://windowsnj-1251783334.cos.ap-nanjing.myqcloud.com/VirtIO_Win_58007.zip
香港:http://windowshk-1251783334.cos.ap-hongkong.myqcloud.com/VirtIO_Win_58007.zip
清远信安:http://windowsqyxa-1251783334.cos.ap-qingyuan-xinan.myqcloud.com/VirtIO_Win_58007.zip
台湾:http://windowstw-1251783334.cos.ap-taipei.myqcloud.com/VirtIO_Win_58007.zip
雅加达:http://windowsyjd-1251783334.cos.ap-jakarta.myqcloud.com/VirtIO_Win_58007.zip
新加坡:http://windowsxjp-1251783334.cos.ap-singapore.myqcloud.com/VirtIO_Win_58007.zip
孟买:http://windowsmm-1251783334.cos.ap-mumbai.myqcloud.com/VirtIO_Win_58007.zip
首尔:http://windowsse-1251783334.cos.ap-seoul.myqcloud.com/VirtIO_Win_58007.zip
曼谷:http://windowsmg-1251783334.cos.ap-bangkok.myqcloud.com/VirtIO_Win_58007.zip
东京:http://windowsdj-1251783334.cos.ap-tokyo.myqcloud.com/VirtIO_Win_58007.zip
法兰克福:http://windowsflkf-1251783334.cos.eu-frankfurt.myqcloud.com/VirtIO_Win_58007.zip
莫斯科:http://windowsmsk-1251783334.cos.eu-moscow.myqcloud.com/VirtIO_Win_58007.zip
硅谷:http://windowsgg-1251783334.cos.na-siliconvalley.myqcloud.com/VirtIO_Win_58007.zip
弗吉尼亚:http://windowsfjny-1251783334.cos.na-ashburn.myqcloud.com/VirtIo_Win_58007.zip
圣保罗:http://windowssbl-1251783334.cos.sa-saopaulo.myqcloud.com/VirtIO_Win_58007.zip
北京金融:http://windowsbjjr-1251783334.cos.ap-beijing-fsi.myqcloud.com/VirtIO_Win_58007.zip
上海金融:http://windowsshjr-1251783334.cos.ap-shanghai-fsi.myqcloud.com/VirtIO_Win_58007.zip
深圳金融:http://windowsszjr-1251783334.cos.ap-shenzhen-fsi.myqcloud.com/VirtIO_Win_58007.zip
多伦多:http://windowsdld-1251783334.cos.na-toronto.myqcloud.com/VirtIO_Win_58007.zip
如果上面的链接都没办法,那就准备一块10G的按量云盘,把压缩包下载到云盘挂载到服务器来使用。
Viostor是硬盘驱动
Netkvm是网卡驱动
请注意系统版本,不要搞错版本
以Server2016更新硬盘驱动为例
进到VioStor\\Win10_2016_2019\\amd64目录,以管理员身份执行pnputil -i -a viostor.inf
如果弹窗了,勾选信任腾讯签名
以Server2008R2更新网卡驱动为例
进到\\NetKVM\\Win7_Win2008R2\\amd64目录,以管理员身份执行pnputil -i -a netkvm.inf
如果弹窗了,勾选信任腾讯签名
这里重点提一下2008系统的问题,导入的2008系统报0x0000007B参考这个文档解决https://cloud.tencent.com/developer/article/2141822
说完最重要的驱动问题,接下来继续(前面已经处理完驱动,后面出现驱动的地方都可以忽略了)
https://cloud.tencent.com/document/product/213/4945
首先,要明确一点,腾讯云平台不支持uefi -gpt模式的镜像导入,只支持bios-mbr
win10 iso从微软官网获取,其他渠道都不可信
微软官网:https://www.microsoft.com/zh-cn/software-download/windows10ISO
下载微软工具生成64位ISO
之前自己搞win10导入了非平台提供的驱动导致格式化增强型SSD hang,鼠标键盘等问题我之前在32位winpe裸金属上遇到过(裸金属不支持32位winpe,否则鼠标键盘用不了,64位win11pe制作参考https://cloud.tencent.com/developer/article/2169309)
另外,不要使用模拟器,影刀等模拟键盘鼠标操作的软件引入第三方虚拟键盘、虚拟鼠标驱动导致远程服务受影响
在用vmware做虚机镜像时就得注意这些细节:BIOS(一定要选BIOS)、LSI Logic SAS(会根据所选系统自动推荐)、SCSI(一定要选SCSI)、≤50GB(一定要≤50GB,个人建议15G左右,经验值10.8G,太大可能会出现3个分区,可以先搞10.8G,等系统安装上后再关机扩展系统盘到15GB,尽量不要超过20G,20G-50G之间的虚拟机pagefile.sys比较大,最后的vmdk文件比较大,上传、导入比较耗费流量和时间)、单个文件(一定要选单个文件)
https://www.vmware.com/products/workstation-pro/workstation-pro-evaluation.html
去官网下载最新版vmware workstation
vmware激活码网上很多,vmware16pro已经升级了,不论是vmware16还是17,网上都有码,很多,这些码其实是vmware为了抢占市场故意释放出来的正版码,就跟windows激活用kms.03k.org一个道理(我怀疑kms.03k.org也是微软释放的kms激活地址,kms.03k.org激活windows系统,参考https://cloud.tencent.com/developer/article/2022946)
【17】
4A4RR-813DK-M81A9-4U35H-06KND
NZ4RR-FTK5H-H81C1-Q30QH-1V2LA
JU090-6039P-08409-8J0QH-2YR7F
4Y09U-AJK97-089Z0-A3054-83KLA
4C21U-2KK9Q-M8130-4V2QH-CF810
MC60H-DWHD5-H80U9-6V85M-8280D
【16】
ZF3R0-FHED2-M80TY-8QYGC-NPKYF
YF390-0HF8P-M81RQ-2DXQE-M2UT6
ZF71R-DMX85-08DQY-8YMNC-PPHV8
Windows产品密钥是微软公开的,从微软官网查看:
https://learn.microsoft.com/zh-cn/windows-server/get-started/kms-client-activation-keys
按照上述办法创建虚机安装好系统后(注意不要安装vmware tools,如果必须用,可以先安装,但最终完成所有操作后要卸载掉vmware tools,如果卸载不掉vmware tools,可以参考https://cloud.tencent.com/developer/article/1843127),
参考官网文档安装、配置cloudbase-init
https://cloud.tencent.com/document/product/213/30000
https://cloud.tencent.com/developer/article/1940021
如果没有使用userdata自定义参数的需要、没有控制台重置密码的需要,可以不安装cloudbase-init
如果有远程需要,需要关闭防火墙、开启远程
netsh advfirewall set allprofiles state off
(gwmi -class win32_terminalservicesetting -namespace "root\\cimv2\\terminalservices").setallowtsconnections(1)
另外,注意开启组策略密码复杂度,PC系统这个默认是禁止的,在云服务器上请开启
二次检查安装好virtio驱动后,关机,把那个vmdk文件上传COS
然后强制导入即可,记住,一定是强制导入(强制导入成功率高,记得有一次,正常导入失败了,强制却成功了,并且用导入的镜像创建机器正常)
制作Win11镜像参考https://cloud.tencent.com/developer/article/2029919
反思:
1、vmware里制作好后,光驱那块保持为空(如下图一打√的地方,选完后就是下图二),不要出现其他.iso的路径,我有次在vmware里搞完后,挂了个winpe.iso在光驱里,并且开机进了一次winpe,从winpe关机后就没再管,上传vmdk到云上买机器后没能正常进入系统,然后我打开本地电脑上的虚拟机发现没有正常进入系统,于是我把光驱重新配置了下就能进入系统了,然后重新上传COS,来了个二回活。踩坑的地方大家要规避呀!!!
下图左侧硬件列表里的软盘删掉,“启动时连接”打勾,√ 如图选择,×不要选,其他的不要动
2、INACCESSIBLE_BOOT_DEVICE
可能选错硬盘类型了,不要选IDE、SATA,一定要选SCSI
可能选错硬盘类型了,不要选IDE、SATA,一定要选SCSI
可能选错硬盘类型了,不要选IDE、SATA,一定要选SCSI
也有可能是创建错虚拟机了,一定要选BIOS,不要选UEFI
也有可能是创建错虚拟机了,一定要选BIOS,不要选UEFI
也有可能是创建错虚拟机了,一定要选BIOS,不要选UEFI
INACCESSIBLE_BOOT_DEVICE这个报错大概率是硬盘驱动的问题,可能是选错硬盘类型,也可能是忘记集成虚拟化驱动了,也有可能是把虚拟机创建成UEFI类型了。
如果创建虚拟机的时候搞成了UEFI+GPT也没关系,可以参考https://cloud.tencent.com/developer/article/2075580 改造成BIOS+MBR的,需要注意的是:UEFI+GPT的即便在winpe里搞成BIOS+MBR了,如果没在winpe里顺带用dism处理虚拟化驱动,重启是会遇到INACCESSIBLE_BOOT_DEVICE的问题。
2、开始往cos上传vmdk后,就不要再开机了,开机会导致vmdk的大小变化不定,导致上传出问题,我当时上传都快完成了,鬼使神差地把vmdk对应的虚拟机打开了,然后上传就停滞不前了,我反思了下,是vmdk变化了,一直等是不可能自动校正的,只能取消了重新上传。
![](https://kz.cx/wp-content/uploads/2021/10/Pasted-11.png)