You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Windows Server 2019单AD域控制器故障后的AD数据备份与系统修复求助

Windows Server 2019单AD域控制器故障后的AD数据备份与系统修复求助

兄弟,这情况简直是AD管理员的终极噩梦——单DC、更新炸锅、还赶上NVME盘物理坏道,太糟心了!先别慌,咱们一步步捋可能的抢救办法:

一、优先处理磁盘物理故障,避免数据彻底丢失

绝对不要在故障盘上执行任何写入操作(包括修复命令),防止坏道扩散!

  • 用Linux启动盘(比如Ubuntu Live CD)挂载故障盘,用ddrescue工具做磁盘的逐扇区镜像到一块健康的磁盘上,这个工具会优先抢救可读的扇区,哪怕部分区域损坏,也能尽可能保留可用数据。命令示例:ddrescue /dev/nvme0n1 /dev/sda1 rescue.log(注意替换实际设备名)
  • 如果没有Linux环境,也可以用Windows下的专业磁盘镜像工具(比如Macrium Reflect的PE版)尝试镜像,不过Linux下的ddrescue对坏道的处理更稳妥。

二、尝试从镜像中抢救AD数据(ntds.dit)

拿到磁盘镜像后,在健康磁盘上挂载镜像分区,找到C:\Windows\NTDS\ntds.ditC:\Windows\System32\config\SYSTEM这两个关键文件(一定要从镜像里取,别碰故障盘),然后在临时Windows Server 2019机器上做如下操作:

  1. 安装AD域服务角色(不用提升为DC)
  2. 停止NTDS服务:net stop ntds
  3. 备份临时机器的原ntds.ditSYSTEM文件,然后替换成从镜像里拿到的文件
  4. 先执行完整性检查:esentutl /g ntds.dit
  5. 如果检查出错误,执行修复(注意:修复是破坏性操作,一定要先备份镜像文件):esentutl /p ntds.dit
  6. 修复完成后,用ntdsutil做语义分析:
ntdsutil
"semantic database analysis"
"verbose on"
go
quit
quit
  1. 如果语义分析通过,可以尝试启动NTDS服务,或者用LDIF导出AD数据:ldifde -f ad_backup.ldf -s localhost -d "dc=yourdomain,dc=com"(替换成你的实际域DN)

三、系统修复的最后尝试(如果磁盘还能勉强读写)

既然偶尔能进DSRM模式,试试以下操作:

  • 在DSRM下执行磁盘检查:chkdsk C: /R /X,这个命令会扫描并修复坏道,之后重启再尝试撤销更新:dism /image:C:\ /cleanup-image /revertpendingactions
  • 如果DISM还是报0x8000ffff错误,试试手动删除pending更新的配置文件:删除C:\Windows\WinSxS\pending.xml,然后重启系统。这个操作风险极高,可能导致系统彻底无法启动,一定要先做磁盘镜像!

四、最坏情况的预案:重装系统后的AD重建

如果磁盘彻底救不回,只能重装系统:

  • 重装后提升为新DC时,因为旧DC彻底下线,必须执行元数据清理清除残留信息:
ntdsutil
metadata cleanup
connections
"connect to server newdc.yourdomain.com"
quit
"select operation target"
list domains
select domain 0
list sites
select site 0
list servers in site
select server 0
quit
"remove selected server"
quit
quit
  • 尽可能收集现有信息:从客户端导出本地用户、查找DNS区域文件备份、重新配置组策略(如果之前没备份,只能从头来)

备注:内容来源于stack exchange,提问作者mikelpr

火山引擎 最新活动