如何将Azure备份生成的磁盘内容复制到原OS磁盘?
解决Azure备份磁盘内容复制到原OS磁盘的方案
步骤1:将两个磁盘挂载到临时Azure虚拟机
- 先从故障VM上卸载原OS磁盘(Azure门户->VM->磁盘->断开原OS磁盘并删除关联)
- 创建一台临时通用型Azure VM(比如
Standard_DS2_v3),区域需与两个磁盘一致 - 在临时VM的磁盘设置中,将原OS磁盘和备份生成的新磁盘都附加为数据磁盘
步骤2:清空原OS磁盘
Windows临时VM操作:
- 登录VM后打开「磁盘管理」,找到原OS磁盘(通过磁盘大小/标识确认)
- 删除该磁盘上的所有卷,执行以下diskpart命令彻底清空:
diskpart list disk select disk <原OS磁盘编号> clean create partition primary format fs=ntfs quick assign letter=E
Linux临时VM操作:
- 登录VM后用
lsblk确认原OS磁盘设备名(比如/dev/sdc) - 清空分区表并格式化:
sudo dd if=/dev/zero of=/dev/sdc bs=1M count=100 sudo fdisk /dev/sdc # 删除所有分区后创建新主分区 sudo mkfs.ext4 /dev/sdc1 sudo mkdir /mnt/original_os sudo mount /dev/sdc1 /mnt/original_os
步骤3:复制备份磁盘内容到原OS磁盘
Windows环境:
- 确认备份磁盘盘符(比如
D:),用robocopy执行镜像复制:robocopy D:\ E:\ /MIR /COPYALL /R:3 /W:5/MIR:镜像目录结构,删除目标盘多余文件/COPYALL:复制所有文件属性、权限、时间戳
Linux环境:
- 挂载备份磁盘(比如
/mnt/backup),用rsync或dd复制:# rsync(适合文件级复制,进度可见) sudo rsync -avxHAX /mnt/backup/ /mnt/original_os/ # dd(适合块级复制,速度更快) sudo dd if=/dev/sdb of=/dev/sdc bs=4M status=progress
步骤4:恢复原VM
- 在临时VM中安全弹出两个数据磁盘,然后在Azure门户中从临时VM分离磁盘
- 将原OS磁盘重新附加到故障VM,设置为OS磁盘
- 启动原VM验证内容是否正常
注意事项
- 操作前务必反复确认磁盘标识,避免误操作覆盖备份数据
- 若磁盘启用了Azure磁盘加密,需先在临时VM中解锁磁盘才能操作
- 临时VM使用完成后记得删除,避免不必要的费用
内容的提问来源于stack exchange,提问作者JoHecht
相关产品推荐
相关产品推荐

