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

Windows Server 2016标准版虚拟机无法安装.NET 4.8 runtime及修复组件存储损坏的求助

Windows Server 2016标准版虚拟机无法安装.NET 4.8 runtime及修复组件存储损坏的求助

我完全理解这台生产服务器的.NET 4.8安装截止日期让你压力很大,咱们一步步来排查解决这个组件存储损坏、更新失败的问题:

一、先确认WIM镜像的索引是否正确

你之前用的DISM.exe /Online /Cleanup-Image /RestoreHealth /Source:wim:D:\sources\install.wim:2 /LimitAccess里的索引2可能不对——不同的Server 2016镜像里,标准版的索引编号不一定是2。你可以先运行这个命令查看镜像里的所有版本索引:

Dism /Get-WimInfo /WimFile:D:\sources\install.wim

找到对应「Windows Server 2016 Standard」的索引编号,替换命令里的数字后再重新执行。

二、检查原ISO镜像的完整性

有可能你用来安装系统的原ISO已经损坏了,导致DISM无法提取正确的源文件。建议你重新下载和当前系统版本、补丁级别完全匹配的Server 2016标准版ISO,挂载后再尝试DISM修复命令。

三、手动修复CBS日志里的损坏文件

既然SFC提示「找到损坏文件但无法修复部分」,咱们可以针对性处理:

  1. 打开C:\Windows\Logs\CBS\CBS.log,搜索关键词cannot repair member file,找到具体的损坏文件名和路径。
  2. 在另一台同版本、同补丁级别的正常Server 2016服务器上,找到对应的完好文件,复制到出问题的服务器的对应路径(注意替换前先备份原文件,务必在非高峰时段操作,避免影响业务)。
  3. 重新运行sfc /scannow,确认是否修复成功。

四、尝试离线DISM修复

如果在线和本地源都不管用,可以试试离线修复的方式:

  1. 给这台生产VM做一个完整的系统快照(务必做好备份!,防止操作失误导致业务中断)。
  2. 将VM的系统磁盘挂载到另一台正常的Server 2016机器上,假设挂载路径是C:\MountedOS
  3. 挂载好正确的Server 2016 ISO镜像,运行离线修复命令:
Dism /Image:C:\MountedOS /Cleanup-Image /RestoreHealth /Source:wim:E:\sources\install.wim:X /LimitAccess

这里的X是你之前查到的正确索引,E:是ISO挂载的盘符。

五、安装.NET 4.8 runtime的注意事项

等组件存储修复完成后,建议下载.NET 4.8的离线安装包,右键以管理员身份运行,安装时尽量关闭服务器上不必要的后台程序和杀毒软件,避免干扰安装过程。

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

火山引擎 最新活动