许可优化
产品
解决方案
服务支持
关于
软件库
当前位置:服务支持 >  软件文章 >  将Cadence Virtuoso安装在Hyper-V上的全攻略

将Cadence Virtuoso安装在Hyper-V上的全攻略

阅读数 7
点赞 0
article_banner

前言:现在能找到的Cadence Virtuoso学习版都是VMware上的虚拟机镜像 ,怎么就非要整一个在Hyper-V上的呢?这其中是我的个人原因——平时学习依赖Linux的内容使用的都是WSL,而众所周知WSL2是依靠Hyper-V技术的,使用WSL2其实就相当于使用了Hyper-V,所使用的主系统windows就已经运行在hypervisor 上了。虽然现在的硬件虚拟化技术已经非常成熟了,性能损失几乎感受不到(主要我也不玩3A大作,FPS也不追求帧率 ),再装个VMware也不是不可以,但是我还是想要Cadence学习版装在Hyper-V上,主要出于两点考虑:一方面我希望虚拟机的性能尽可能好,Hyper-V这种Type-1 Hypervisor显然更合适;另一方面,本来就有Hyper-V还装VMware,性能损失两层不说,是不是有点多此一举?简单搜索了一下发现镜像迁移似乎不难做所以就做了。

以下是折腾的笔记。


开启Hyper-V

即使WSL2已经启用了Hyper-V,这个步骤还是得做一下,原因是我们需要Hyper-V管理器,没有开启功能是不会显示管理器的。

由于我的Windows是家庭版,启用Hyper-V就还要曲折一点。通常的做法就是使用一个批处理文件 ,手动安装Hyper-V相关的功能包。

具体来说就是新建一个文本文档,将下面这段批处理命令 粘贴进去,保存退出,改原后缀 .txt 为批处理文件后缀 .cmd ,然后双击运行批处理程序

pushd "%~dp0"
dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txt
for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
del hyper-v.txt
Dism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL

耐心等待安装完成,会提示重启系统,重启完成后就成功安装Hyper-V啦。

想要验证的话到“启用与关闭Windows功能”菜单看一眼,右键“开始”——>“应用和功能”——>“程序和功能”——>“启用或关闭Windows功能”,确保勾选Hyper-V就没问题。

镜像文件格式转换

VMware的镜像格式是.vmdk ,要转换为Hyper-V使用的.vhdx 格式,微软 官方的转换器就可以解决这个问题,安装包和命令帮助文档链接如下[1]

MSI for 3.0 (mvmc_setup.msi; 25 MB):
https://web.archive.org/web/20200611215113if_/https://download.microsoft.com/download/9/1/E/91E9F42C...


MVMC_cmdlets.doc
(download; 426 KB):
https://web.archive.org/web/20200803210502if_/https://download.microsoft.com/download/9/1/E/91E9F42C...
(view as html):
https://web.archive.org/web/20200803210502/https://download.microsoft.com/download/9/1/E/91E9F42C-3F...

接着以下命令操作在powershell-ISE上进行

先加载转换模块,默认安装在C:\Program Files\Microsoft Virtual Machine Converter\ 自定义安装的话替换成对应路径。

Import-Module 'C:\Program Files\Microsoft Virtual Machine Converter\MvmcCmdlet.psd1'

然后执行转换

ConvertTo-MvmcVirtualHardDisk -SourceLiteralPath 源文件绝对路径 -VhdType DynamicHardDisk -VhdFormat Vhdx -DestinationLiteralPath 输出文件夹的绝对路径

如果出现类似报错The entry X is not a supported disk database entry for the descriptor. 则需要我们做一些修改。[2]

对于twoGbMaxExtentSparse格式的vmdk文件 (即分卷的),我们只需要用记事本打开它(注意不是带标号的分卷文件 ),然后注释掉toolsInstallType 那一行(前加"#")

例如图中需要打开的是IC618.vmdk

如果是单个完整镜像文件,请使用dsfo工具进行部分读取和写入,同样也是注释掉那行。

之后重新执行转化命令即可,转化过程会有读条,结束后可以在输出文件夹看到转化后的.vhdx文件,就可以给Hyper-V使用了。

部署到Hyper-V上

这部分就正常新建虚拟机,设置内存,选择镜像

设置内存


选择镜像文件(.vhdx文件)

其他选项默认就行,按需调整。

成功运行

补充问题

有的虚拟机会启动不了,提示为找不到root等盘的挂载,报错大概如下

这是因为VMware的硬盘是自动挂载在SCSI控制器上的,而Hyper-V是挂载在IDE控制器上的,为了应对这个问题,我们需要重建一下系统镜像的initramfs[3]

具体方法就是下载个对应linux系统的光盘安装镜像(其他非光盘安装镜像,选择对应挂载方式就是了),挂载到虚拟机的DVD驱动器上,让系统从安装镜像启动,利用安装镜像引导菜单中的troubleshooting -> Rescue a Linux OS -> 1) Continue,进入恢复命令行。

切换到要修复的系统根路径:cd /mnt/sysimage然后chroot .

注意备份一下initramfs文件,我遇到的boot盘空间不足,所以我选择将原文件备份到外面去,文件具体名称与虚拟机使用的发行版本有关,自动补全或者ls看一下就好了,肯定不会找错的。

mkdir bak
mv /boot/initramfs-操作系统的发行编号.img /bak/initramfs-操作系统的发行编号.img

重建initramfs

dracut -v /boot/initramfs-操作系统的发行编号.img 操作系统的发行编号

完成之后退出bash

exit

关机

shutdown -h now

Hyper-V中取消虚拟机光盘安装镜像的挂载,再次启动就能用了。

参考

  1. ^https://techcommunity.microsoft.com/t5/system-center-blog/microsoft-virtual-machine-converter-3-0-is-now-available-for/ba-p/349874
  2. ^http://sanbarrow.com/vmdk-howtos.html
  3. ^https://blog.csdn.net/bokutake/article/details/50164895

免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删
相关文章
QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空