咨询:无需Azure PowerShell从现有VHD创建Azure VM的可行方法
不用PowerShell模板从现有VHD创建Azure VM的方法
当然可以不用Azure PowerShell模板直接从现有VHD创建VM!你之前尝试的「附加VHD到现有VM」只是把它当作数据盘挂载了,所以系统还是原来的预定义Linux系统——咱们要做的是把这个VHD当作系统盘来创建新VM,这样就能运行VHD里的系统了。具体操作步骤如下:
前提准备
- 确保你的VHD是Azure兼容的操作系统(比如官方支持的Linux发行版)
- 如果VHD是非托管磁盘(存在于存储账户blob中),建议先转成托管磁盘,后续操作更简便
- 确认你有对应资源组、存储账户的操作权限
操作步骤
1. (可选)将非托管VHD转为托管磁盘
如果你的VHD还在存储账户里,先转成托管磁盘:
- 登录Azure门户,找到「磁盘」服务,点击「创建」
- 填写名称、资源组、区域等基本信息
- 「源类型」选「存储 blob」,然后找到你存放VHD的存储账户和对应blob路径
- 选择合适的磁盘大小和性能层级,完成创建
2. 从托管磁盘创建新VM
这一步是核心,把托管磁盘当作系统盘来生成VM:
- 找到刚才创建的托管磁盘,进入详情页
- 点击顶部的「创建VM」按钮
- 填写VM基本信息:名称、资源组、区域,以及SSH密钥/登录密码(要和VHD里系统的配置匹配)
- 选择合适的虚拟机大小,配置网络、管理等选项后,点击「创建」
3. 验证结果
VM创建完成后,登录进去就能看到它运行的是你原有VHD里的Linux系统了——此时这个VHD已经是新VM的系统盘,而非附加的数据盘。
补充:用Azure CLI快速创建(无需模板)
如果你习惯用命令行,也可以直接用Azure CLI完成,命令示例:
az vm create \ --resource-group 你的资源组名称 \ --name 你的VM名称 \ --attach-os-disk 你的托管磁盘名称 \ --os-type Linux \ --admin-username 你的用户名 \ --ssh-key-value ~/.ssh/id_rsa.pub
这样操作就完全不需要依赖PowerShell模板,直接从现有VHD生成能运行对应系统的VM了。
内容的提问来源于stack exchange,提问作者zahma
相关产品推荐
相关产品推荐

