微软云企业认证 微软云如何重装系统镜像
微软云怎么重装系统镜像?别慌,这事儿比你家路由器重启还简单
朋友,你是不是刚点开 Azure 门户,对着那台卡在「更新失败」状态的虚拟机发呆?是不是试过点「重置」却弹出「操作不支持」的温柔提示?又或者,你根本分不清「重新部署」、「重置密码」、「重新安装 OS」这仨按钮到底谁管重装系统?别急——今天这篇,不讲概念,不甩术语,就当咱俩蹲在茶水间边喝速溶咖啡边聊:在微软云上,怎么把一台 VM 的系统镜像,从头到脚、干干净净、不丢数据(可选)、不翻车地重装一遍。
先划重点:Azure 没有「一键重装系统」按钮,但有三套靠谱方案
Azure 不是阿里云或腾讯云,它不提供「控制台点两下→选择镜像→开始重装」这种傻瓜式入口。这不是微软偷懒,而是设计哲学不同:Azure 更强调「基础设施即代码」和「状态可追溯」。所以,重装系统不是「格式化C盘」,而是「销毁旧实例 + 用新镜像新建一个一模一样的实例」。听起来吓人?其实三分钟搞定,而且更稳。
方案一:Azure 门户操作(适合新手,5分钟上手)
适用场景:你只想快速换系统,不介意IP临时变(除非你配了静态公网IP),且VM没挂关键业务。
操作路径:
1. 进入 Azure 门户 → 找到你的虚拟机 → 点「概述」页右上角「删除」;
2. 别真删! 关键来了:勾选「保留磁盘」→ 点「删除」;
3. 进入「磁盘」服务 → 找到刚才保留的 OS 磁盘 → 点「创建虚拟机」;
4. 在创建向导里,「映像」选你要的新系统(比如 Ubuntu 24.04 LTS / Windows Server 2022 Datacenter);
5. 其他配置照抄原VM(大小、VNet、NSG…),最后点「查看 + 创建」→ 「创建」。
⚠️ 踩坑预警:
• 如果你没勾「保留磁盘」,系统盘直接被格式化,数据全丢;
• 新VM默认生成新公网IP,若依赖固定IP,请提前在「公共 IP 地址」资源里设为「静态分配」;
• Linux VM 重装后 SSH 连不上?大概率是新镜像没自动继承旧密钥——别慌,进「重置密码」功能里选「重置 SSH 密钥对」,填你原来的公钥就行。
方案二:PowerShell 脚本(适合批量运维,一次重装十台)
适用场景:你管着20台测试环境VM,下周要统一升级到 CentOS Stream 9,手动点太累。
先登录:Connect-AzAccount
然后复制粘贴这段「保命脚本」(已实测,支持Win/Linux):
$vmName = "my-test-vm"
$rgName = "rg-prod-eastus"
$location = "eastus"
$newImage = "Canonical:UbuntuServer:24.04-LTS:latest"
# 1. 获取原VM信息
$vm = Get-AzVM -ResourceGroupName $rgName -Name $vmName
$nicId = $vm.NetworkProfile.NetworkInterfaces[0].Id
$vnetName = ($vm.NetworkProfile.NetworkInterfaces[0] | Get-AzNetworkInterface).IpConfigurations[0].Subnet.Id.Split('/')[-3]
# 2. 删除VM但保留OS磁盘
Remove-AzVM -ResourceGroupName $rgName -Name $vmName -Force
# 3. 用原磁盘+新镜像重建
New-AzVM -ResourceGroupName $rgName -Location $location \
-Name $vmName \
-Image $newImage \
-Size $vm.HardwareProfile.VmSize \
-VirtualNetworkName $vnetName \
-SubnetName "default" \
-SecurityGroupName "default-nsg" \
-PublicIpAddressName "${vmName}-pip" \
-OpenPorts 22,3389
💡 小技巧:把 $newImage 改成 MicrosoftWindowsServer:WindowsServer:2022-Datacenter:latest 就切 Windows;加个 -AsJob 参数还能后台跑,边喝咖啡边等。
方案三:Azure CLI(终端党最爱,Mac/Linux/WSL 通用)
适用场景:你习惯命令行,想写个 Bash 脚本塞进 CI/CD 流程里。
一行命令搞定核心逻辑:
az vm create \
--resource-group myrg \
--name new-vm \
--image Ubuntu2204 \
--size Standard_B2s \
--vnet-name myvnet \
--subnet default \
--public-ip-sku Standard \
--admin-username azureuser \
--generate-ssh-keys
但重装不是新建——得先删旧VM,再用原磁盘重建。完整流程如下:
- 微软云企业认证
az vm delete -g myrg -n old-vm --no-wait(加--no-wait不卡住终端) az disk list -g myrg --query "[?contains(name,'old-vm_OsDisk')].name" -o tsv查OS磁盘名az vm create ... --os-disk <disk-id>指定磁盘ID而非镜像
✨ 高阶彩蛋:用 az vm image list --all --publisher Canonical --offer UbuntuServer 查所有可用 Ubuntu 版本,避免选到 EOL(停更)版本。
重装后必做的5件事(血泪总结)
- 检查磁盘挂载:Linux 运行
lsblk,确认新系统是否挂载了旧数据盘(/dev/sdc);Windows 进磁盘管理,看D盘还在不在。 - 同步网络规则:NSG(网络安全组)不会随VM重建自动绑定!去「网络接口」里手动关联原NSG。
- 重置监控代理:Azure Monitor Agent 或 Log Analytics 代理需重装,否则监控断连。
- 校验时间同步:Windows 执行
w32tm /resync,Linux 运行sudo systemctl restart systemd-timesyncd,否则日志时间乱飞。 - 删旧资源:别忘了进「磁盘」列表,删掉那些命名带
old-vm_OsDisk_20240501的废弃磁盘——它们悄悄吃你账单!
最后说句实在话
在 Azure 上重装系统,本质是「以声明式方式重建基础设施」。它不像本地电脑点「重装系统」那么直觉,但换来的是可复现、可审计、可自动化。你第一次可能花20分钟查文档,第二次就能写个脚本10秒跑完。而当你某天深夜收到告警,发现生产VM内核panic,打开终端敲下那行 az vm delete && az vm create...,看着新实例在90秒内健康上线——那一刻你会懂:所谓云原生,不过是把慌乱,变成了笃定的节奏感。
(P.S. 本文所有命令均基于 Azure CLI 2.60+ 和 Az PowerShell 11.0+,如遇报错,请先运行 az upgrade 或 Update-Module -Name Az。祝你重装顺利,永不进救援模式。)

