无忧启动论坛

标题: 32位LTSC离线打20181219的累积补丁kb4483235后,wim就不能转esd? [打印本页]

作者: chiannet    时间: 2018-12-23 13:37
标题: 32位LTSC离线打20181219的累积补丁kb4483235后,wim就不能转esd?
本帖最后由 chiannet 于 2018-12-23 13:44 编辑

@echo off
setlocal enabledelayedexpansion
set dism="C:\ADK\Assessment and Deployment Kit\Deployment Tools\x86\DISM\dism.exe"
if not exist %Dism% (if exist %windir%\system32\dism.exe (set dism="dism.exe") else (echo 没发现dism.exe&exit))

set XX=LTSC\X86

for %%i in (%XX%) do (if exist "%~dp0%%i\install.wim" (call :dd %%i 1))

pause&exit

:dd

TITLE 正在处理 "%~dp0%~1\install.wim"
rd "%~dp0%~1\%~2" /q /s >nul 2>nul
md "%~dp0%~1\%~2"

%dism% /mount-image /imagefile:"%~dp0%~1\install.wim" /index:%~2 /mountdir:"%~dp0%~1\%~2" /checkintegrity

if exist "%~dp0%~1\sxs" (%dism% /image:"%~dp0%~1\%~2" /enable-feature /featurename:netfx3 /all /source:"%~dp0%~1\sxs" /limitaccess /scratchdir:d:\)
if exist "%~dp0%~1\f" (
  %dism% /image:"%~dp0%~1\%~2" /add-package /packagepath:"%~dp0%~1\f"
  if exist "%~dp0%~1\f2" (%dism% /image:"%~dp0%~1\%~2" /add-package /packagepath:"%~dp0%~1\f2")
)
if exist "%~dp0%~1\d" (%dism% /image:"%~dp0%~1\%~2" /add-driver /driver:"%~dp0%~1\d" /recurse /forceunsigned)

%dism% /unmount-image /mountdir:"%~dp0%~1\%~2" /commit

goto :eof





打补丁、打驱动都成功。

set dism="C:\ADK\Assessment and Deployment Kit\Deployment Tools\x86\DISM\dism.exe"
改成
set dism="C:\ADK\Assessment and Deployment Kit\Deployment Tools\AMDX64\DISM\dism.exe"

也试过,打补丁都能成功,其它还用dism++,Nlite(Ver1.7)都试过,上面这些都没问题,都能一次成功。但是,用dism.exe或Nlite或dism++把上一步创建的wim转esd格式统统不能成功。后来还测试在线方式给32位2019 LTSC 安装20181219的累积补丁,自然能成功。



奇怪的是64位版本,同样的顺序打64位kb4483235补丁后、可以从Win压制为esd格式。且201811月的累积更新for 32位ltsc2019,用上面的流程打补丁后的Wim文件转esd亦没有问题。



总之,就是离线打20181219的累积补丁kb4483235后,wim就不能转esd,应该是kb4483235补什么问题吗?





@echo off
setlocal enabledelayedexpansion
set dism="C:\ADK\Assessment and Deployment Kit\Deployment Tools\x86\DISM\dism.exe"
if not exist %Dism% (if exist %windir%\system32\dism.exe (set dism="dism.exe") else (echo 没发现dism.exe&exit))


echo  %Dism%
%Dism% /export-image /sourceimagefile:"%~dp0LTSC\X86\install.wim" /sourceindex:1 /destinationimagefile:"%~dp032LTSC.esd" /Compress:recovery /CheckIntegrity
pause
exit







作者: adef    时间: 2018-12-23 18:19
试了一下貌似没问题,install.wim 来自 cn_windows_10_enterprise_ltsc_2019_x86_dvd_62156a9a.iso (sha1:FBFEABDE20B6F49AA0C7F8FD62A5BA029505F36F),不过我使用dism++打的补丁,完了用 ESD2WIM 或 DISM 输出 ESD 都没问题,ESD2WIM 输出的 ESD 要稍小几十兆。


作者: x9tian    时间: 2018-12-23 19:48
你是不是在是在六十四位系统打包x86
作者: chiannet    时间: 2018-12-23 22:50
x9tian 发表于 2018-12-23 19:48
你是不是在是在六十四位系统打包x86

是的,是64位系统。这不是出错之根源。因为我一楼说了,以前曾经对32位ltsc打过201811月之累积更新补丁再转化为esd,完全可以。这次还是从初始x86版ltsc2019之install.wim出发,应用20181219之累积,各种工具都能成功应用,但就是把集成了新补丁的wim转esd失败。但64位ltsc 2019不存在这个失败。
作者: 2012雨晨绿软    时间: 2018-12-24 16:51
按你描述基本确定两个方面,1是可用内存小或介质读写异常;2系统自身DISM功能异常
作者: eastmz    时间: 2018-12-24 17:37
你在 PE 里运行 dism 的吗?
作者: dk5689    时间: 2018-12-24 18:58
32位LTSC总是会给人惊喜
从xp时代就习惯了32位系统只能用3.25G-3.5G的内存

32位LTSC直接就是4G,不知道是个案,还是大家都这样。整的我都不敢重新装系统了
作者: x9tian    时间: 2018-12-31 20:30
chiannet 发表于 2018-12-23 22:50
是的,是64位系统。这不是出错之根源。因为我一楼说了,以前曾经对32位ltsc打过201811月之累积更新补丁再 ...

我也遇到过,我的方法是把WIM解包到VHD里面,打上补丁后再打包




欢迎光临 无忧启动论坛 (http://wuyou.net/) Powered by Discuz! X3.3