SaltStack常用组件使用 SaltStack配置文件说明 轻量级DNS、DHCP服务软件DNSMASQ 千万级PV(日)的移动应用架构如何实现 高效运维最佳实践-运维自动化之殇 Ubuntu 14.04 Linux如何配置静态IP地址和DNS服务器 ELK 常见错误与解决办法 Elasticsearch 集群配置管理常用操作 常用数字证书格式相互转换-OpenSSL/Keytool/Jks2pfx ELK 综合日志归档分析系统(2)-Logstash安装配置 Elasticsearch之Shield认证与权限管理 ELK 综合日志归档分析系统(1)-Elasticsearch-Redis安装配置 Redmine 3.2 安装配置指南 CentOS6 大型web系统数据缓存设计 Redis 集群方案 Linux 内核TCP优化详解 SaltStack初始化安装配置 OpenLDAP常用操作 OpenLDAP统一身份认证 [CentOS6/7] 构建Linux Skype Message消息推送API服务(Zabbix集成告警) Tomcat 生产服务器性能优化 Zabbix结合iptables监控网络流量 Linux操作系统环境配置与优先级问题 深入 NGINX: 我们如何设计性能和扩展 Windows SQL Server 性能计数器详细说明 Windows性能计数器说明 Ubuntu安装openntpd报错:Starting openntpd: /etc/openntpd/ntpd.conf: Permission denied locale: Cannot set LC_ALL to default locale: No such file or directory OpenSSL拆解p12证书公约和私钥 Linux sar 统计系统性能(网卡、内存和交换空间、CPU资源等) Linux Shell /dev/null 2>&1 含义 Windows 2003操作系统网络不通 构建私有yum安装源镜像站点(openstack) CentOS6/RedHat6新增网卡识别问题 Ubuntu 14.04 Server优化与使用问题解决 Redhat/CentOS6系统使用ntfs-3g挂载NTFS分区 Linux GPT挂载超过2TB磁盘 Linux系统性能优化、测试和监控工具梳理 修复WIN2003远程桌面服务无法访问 解决CentOS“Zabbix discoverer processes 75% busy”的问题 REHL/CentOS安装phpMyadmin

AWS修复Windows远程桌面无法访问,防火墙配置错误问题

2015年09月15日

我们有时候Amazon AWS的云服务器,由于AWS没有提供类似国内云服务器厂商的远程控制台服务,在出现网络、防火墙和远程桌面服务问题导致云服务器无法访问的情况发生后,进行恢复就特别的麻烦。

所以,在涉及远程桌面、防火墙配置的事后要格外的谨慎,否则就麻烦了。为了修复无法访问的实例,只能通过将故障服务器系统磁盘挂载到另外的虚拟机中,修改注册表来修改/禁用防火墙配置。

1、停止故障实例

将无法访问的服务器实例关机,断开其根卷(即将系统盘从原系统中取消挂载)。
aws-recovery-1
图1-停止实例
aws-recovery-2
图2-断开卷

2、在受影响的实例所在的可用区中启动临时实例

临时实例必须与原实例在同一区域,如:cn-north-1a或cn-north-1b,否则无法挂载。

如果您的临时实例与原始实例基于相同的 AMI(即同一个系统镜像),且操作系统版本高于 Windows Server 2003,则您必须修改故障系统系统卷的磁盘签名,否则在恢复原始实例的根卷之后,由于磁盘签名冲突,您将无法启动原始实例。 相同AMI挂载恢复方法,见附录1.

在此,我们选择与故障系统不同AMI系统镜像来挂载原始卷。例如,如果原始实例使用 Windows Server 2008 R2 的 AWS Windows AMI,则使用 Windows Server 2012 或 Windows Server 2003 的 AWS Windows AMI 来启动临时实例。(要查找适用于 Windows Server 2003 的 AMI,请使用名称Windows_Server-2003-R2_SP2 来搜索 AMI。)

3.将根卷从受影响的实例连接到此临时实例。

连接到临时实例,打开 Disk Management (磁盘管理) 实用工具,将驱动器联机。

4.注册表管理器加载故障卷SYSTEM注册表文件

打开 Regedit,选择 HKEY_LOCAL_MACHINE。从 File (文件) 菜单,单击 Load Hive (加载 Hive)。选择驱动器,打开文件 Windows\System32\config\SYSTEM,在出现提示时指定键名(您可以使用任何名称)。

aws-recovery-3

图3-选择注册表文件

aws-recovery-4

图4-输入加载的注册表名称

5.修改注册表,禁用防火墙相关条目

选择刚加载的键并导航至ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy。对于名称格式为 xxxxProfile 的每个键,选择键,将 EnableFirewall 从 1 更改为 0。再次选择该键,从 File (文件) 菜单中单击 Unload Hive (卸载 Hive)。

aws-recovery-5

图5-修改注册表,禁用防火墙

或者,你们可以找到配置错误的防火墙记录,禁用该条目或修改成正确的数值,导航至:ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules

aws-recovery-6

图6-修改单条防火墙记录

完成后,选中挂载的注册表文件,选择“文件”菜单,“Unload Hive”来卸载Hive。

aws-recovery-7

图7-卸载加载的注册表文件

6. 将该卷从临时实例分离。如果您不再使用临时实例,则可以将其终止。

7 通过将受影响的实例的根卷挂载为 /dev/sda1 将其还原。

8. 启动实例。

附录1 :

本节内容是针对相同AMI系统镜像挂载故障磁盘(卷)并修复的方法,由于Windows 2003以上版本系统新增了磁盘的数字签名,若磁盘签名ID不匹配将会导致修改后的磁盘无法在原始虚拟机中挂载将无法正常的启动,要解决这个问题需要在挂载前对原始磁盘的数字签名ID和磁盘BCD中的ID匹配文件进行修改。

A.

打开注册表程序regedit.exe。从”File (文件)” 菜单,单击“ Load Hive (加载 Hive)”,选择挂载的原始根卷(系统盘,当前为D盘),依次选择:D:\boot\bcd。

系统文件Boot文件夹及下面的文件都是系统隐藏属性,首选取消相关文件保护选项才可以看到。

aws-recovery-8

图8-使用注册表管理器加载BCD文件

B.

在加载的BCD注册表文件中,选择“编辑”–“搜索”,查找“Windows Boot Manager”字符串,可在名为 12000004 的注册表项下找到匹配的项。

aws-recovery-9

图9-查找指定字符串

C.

选择与在上一步骤中找到的注册表项同级的名为 11000001 的项。查看 Element 值的数据。在数据中的偏移 0x38 处查找四字节磁盘签名。数据95C39193表示的磁盘签名.

aws-recovery-10

图10-查看磁盘签名ID

D.

首先修改注册表项11000001的当前用户读写权限,否则修改数据后无法保存。鼠标右键选择注册表项”11000001″–>”权限”

aws-recovery-11

图11-修改条目读写权限

E.

颠倒”11000001″->”Element”这些字节以创建磁盘签名并将其记下。例如,将原来的95C39193修改成9391C395。

aws-recovery-12

图12-修改签名ID

注意:该注册表项下有多个Element值,一定需要选择”Windows Boot Manager”上层目录的”11000001″.

F.

在命令提示符窗口中,运行以下命令以启动 Microsoft DiskPart。

C:\> diskpart

G.

使用list disk 查看挂载的磁盘ID,并选择挂载的故障卷磁盘。

DISKPART> list disk
磁盘 ### 状态 大小 可用 Dyn Gpt
-------- ------------- ------- ------- --- ---
磁盘 0 联机 298 GB 3072 KB
* 磁盘 1 联机 111 GB 1024 KB
磁盘 2 联机 238 MB 0 B
磁盘 3 联机 149 GB 1024 KB

H.

运行以下 DiskPart 命令以选择卷。(您可以使用 Disk Management (磁盘管理) 实用工具来验证磁盘编号为 1。)

DISKPART> select disk 1

Disk 1 is now the selected disk.

I.

查看磁盘签名,运行以下 DiskPart 命令以获取磁盘签名

DISKPART>uniqueid disk
磁盘 ID: 95C39193

J.

如果上一步骤中显示的磁盘签名与前面记下的 BCD 中的磁盘签名不匹配,请使用以下 DiskPart 命令更改磁盘签名以使其匹配:

DISKPART> uniqueid disk id=9391C395

K.

使用 Disk Management (磁盘管理) 实用工具,将驱动器脱机。

Note

如果临时实例运行的操作系统与受影响实例相同,则驱动器将自动脱机,因此您无需手动使其脱机。

L.

执行上面的步骤6关闭实例,解除关联并挂回原故障系统即可成功启动。

其他故障修复方案,请参考官方手册:

http://docs.amazonaws.cn/AWSEC2/latest/WindowsGuide/troubleshooting-windows-instances.html

转载请注明:自动化运维 » AWS修复Windows远程桌面无法访问,防火墙配置错误问题