很多时候我们都会碰到因为意外重启,机器硬盘被损坏导致无法启动,或者是因为各种原因Windows上的RDP服务启动不了,Linux上的SSH无法链接等等问题。碰到这种问题基本上很难解决以前都是将VHD下载回来本地,在本地用Hyper-V启动虚拟机再来看问题的。但是一个操作系统盘最少都要32G,下载回来的话费时费力。Azure新一代的机器(DV3,EV3)现在支持嵌套虚拟化了,我们有了更好的办法解决问题。

准备一台Windows Server 2016,并且安装Hyper-V

详细操作可参考这个链接:https://docs.microsoft.com/en-us/azure/virtual-machines/windows/nested-virtualization#enable-the-hyper-v-feature-on-the-azure-vm

将出问题的VM挂载到云上VM内的Hyper V里

为了尽量不影响原来的环境,我们可以基于源VM的操作系统盘,利用Azure CLI创建一个新的磁盘

az disk create -g dev -n centos_diag --source "<你的磁盘resourceid>" --location southeastasia

创建完之后可以看到下面的界面

如果你的环境是Linux因为属性标记了osType=Linux所以没法直接挂接到Azure 的Windows VM上,先要改一下osType这个属性

用命令:

az disk update --set osType="Windows" -g dev -n centos_diag

然后回到安装了Hyper V的Windows 2016 VM上找到磁盘,将刚才新建出来的磁盘挂接上去

在2016 Server上启动虚拟机

这时候我们可以通过RDP登录到Hyper V的宿主机内了,因为我们刚挂接了一块新的磁盘,所以我们可以在服务管理界面的磁盘管理里看到一块新的磁盘。但是这块磁盘不是直接给这个服务器用的,为了让Hyper V Manager能够找到这块“物理盘”,我们需要将磁盘脱机

在Hyper-v上创建虚拟机,跟着向导一直做就好,注意在选择虚拟硬盘是可以不用创建虚拟硬盘,因为我们等一下会挂接:

创建好VM后,我们再次进入到VM的配置界面,添加这块“物理硬盘”


由于我们挂接的是“物理盘”,所以没有创建检查点的,这时候直接启动虚拟机的话,会报错的,所以我们还需要进行一个配置

启动VM,简单直接,这时候你想怎么调整这个服务器就怎么调整这个服务器,调整完之后,删掉虚拟机.回到Azure Portal,移除绑定。我们就可以基于这个磁盘再把VM启动起来了。

当然如果你的服务器是linux的话,你还需要再次调用 az disk update命令将属性修改回去。

最新文章

  1. OSG的节点访问
  2. 6410移植android4.4.2笔记(持续更新)
  3. Android View自动生成插件
  4. Tomcat Connector三种运行模式
  5. ThinkPHP3.2 分页实现
  6. CSS选择符类型
  7. 无责任Windows Azure SDK .NET开发入门篇三[使用Azure AD 管理用户信息--3.3 Details用户详细信息]
  8. 2015英特尔&#174; 实感™ (Intel&#174; RealSense™) 动手开发实验课
  9. devexpress表格控件gridcontrol特殊应用(一)——实现禁用特定行(附源代码)
  10. 【CNMP系列】CentOS7.0下安装MySql5.6服务
  11. python中type dtype astype 的用法
  12. Java使用BufferedImage修改图片内容
  13. MongoDB 3.4 安装以 Windows 服务方式运行
  14. hadoop的基本概念 伪分布式hadoop集群的安装 hdfs mapreduce的演示
  15. sql 不够七位数 在左侧自动补零 ,并循环插入N条记录
  16. 解决 Docker pull 出现的net/http: TLS handshake timeout 的一个办法
  17. js防止sql注入的参数过滤
  18. 你得学会并且学得会的Socket编程基础知识(续)——Silverlight客户端
  19. [Angular-Scaled web] 5. ui-router $stateParams for sharing information
  20. zepto jquery和zepto的区别?

热门文章

  1. Ios8之后, 定位的delegate不能触发的问题
  2. SpringMvc4.x--@ControllerAdvice注解
  3. 【深度学习系列】迁移学习Transfer Learning
  4. 输入和输出--java序列化机制
  5. Asp.net core 2.0.1 Razor 的使用学习笔记(一)
  6. Git知识总览(四) git分支管理之rebase 以及 cherry-pick相关操作
  7. Linux Shell 文件描述符 及 stdin stdout stderr 重定向
  8. bzoj4326 运输计划
  9. 浏览器中页面的visibility状态及变化监听
  10. jsBOM内容