无忧启动论坛

 找回密码
 注册
搜索

有bat 可以处理iso镜像 把里面的install.esd/install.wim分开为swm(小于4G)的吗

查看数: 419 | 评论数: 7 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2025-10-2 18:40

正文摘要:

本帖最后由 federer 于 2025-10-2 18:45 编辑 有bat 可以处理iso镜像 把里面的install.esd/install.wim分开为swm(小于4G)的并重新打包的吗 用于引导uefi的吗 https://github.com/joeldidier/Simple-Windows-Im ...

回复

ouanyu 发表于 昨天 22:04
感谢分享
江南一根葱 发表于 昨天 21:54
p2p部署的话,拆分成小的倒是挺有优势
Anson4 发表于 昨天 21:48
练练技术也好
nttwqz 发表于 前天 21:21
这年代,还有拆分映像的必要吗?优盘格式化成NTFS不行吗?
a66 发表于 前天 19:40
有点麻烦
蘭蘭 发表于 前天 19:31
federer 发表于 2025-10-2 18:41
豆包出来的按路径更改了对应工具 运行不了

谢谢分享!
federer 发表于 前天 18:41
豆包出来的按路径更改了对应工具 运行不了
  1. [url=home.php?mod=space&uid=336905]@echo[/url] off
  2. setlocal enabledelayedexpansion

  3. :: 配置参数
  4. set "SOURCE_ISO=source.iso"          :: 源ISO文件路径
  5. set "OUTPUT_ISO=output_swm.iso"      :: 输出ISO文件路径
  6. set "TEMP_DIR=temp_iso_processing"   :: 临时工作目录
  7. set "SWM_SIZE=3800"                 :: 每个SWM文件大小(MB),建议小于4000以兼容FAT32
  8. set "7ZIP_PATH=C:\Program Files\7-Zip\7z.exe"  :: 7-Zip路径
  9. set "OSCDIMG_PATH=C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\amd64\Oscdimg\oscdimg.exe"

  10. :: 检查管理员权限
  11. fltmc >nul 2>&1 || (
  12.     echo 请以管理员身份运行此脚本!
  13.     pause
  14.     exit /b 1
  15. )

  16. :: 检查源ISO文件
  17. if not exist "%SOURCE_ISO%" (
  18.     echo 错误:未找到源ISO文件 "%SOURCE_ISO%"
  19.     pause
  20.     exit /b 1
  21. )

  22. :: 检查必要工具
  23. if not exist "%7ZIP_PATH%" (
  24.     echo 错误:未找到7-Zip,请检查路径或安装7-Zip
  25.     pause
  26.     exit /b 1
  27. )

  28. if not exist "%OSCDIMG_PATH%" (
  29.     echo 警告:未找到oscdimg,尝试使用7-Zip创建ISO(可能不可引导)
  30.     set "USE_7ZIP_FOR_ISO=1"
  31. )

  32. :: 创建临时目录
  33. echo 准备工作目录...
  34. if exist "%TEMP_DIR%" rd /s /q "%TEMP_DIR%"
  35. mkdir "%TEMP_DIR%"
  36. mkdir "%TEMP_DIR%\extracted"
  37. mkdir "%TEMP_DIR%\new_iso"

  38. :: 提取ISO内容
  39. echo 正在提取ISO内容...
  40. "%7ZIP_PATH%" x "%SOURCE_ISO%" -o"%TEMP_DIR%\extracted" -y >nul

  41. :: 检查是否存在install.esd或install.wim
  42. set "IMAGE_FILE="
  43. if exist "%TEMP_DIR%\extracted\sources\install.esd" (
  44.     set "IMAGE_FILE=install.esd"
  45. ) else if exist "%TEMP_DIR%\extracted\sources\install.wim" (
  46.     set "IMAGE_FILE=install.wim"
  47. ) else (
  48.     echo 错误:未在ISO中找到install.esd或install.wim
  49.     rd /s /q "%TEMP_DIR%"
  50.     pause
  51.     exit /b 1
  52. )

  53. echo 找到 %IMAGE_FILE%,准备分割...

  54. :: 分割镜像为SWM文件
  55. Dism /Split-Image /ImageFile:"%TEMP_DIR%\extracted\sources\%IMAGE_FILE%" /SWMFile:"%TEMP_DIR%\new_iso\sources\install.swm" /FileSize:%SWM_SIZE%

  56. if %errorlevel% neq 0 (
  57.     echo 错误:分割%IMAGE_FILE%失败
  58.     rd /s /q "%TEMP_DIR%"
  59.     pause
  60.     exit /b 1
  61. )

  62. :: 复制其他文件到新ISO目录
  63. echo 正在复制其他文件...
  64. xcopy "%TEMP_DIR%\extracted\*" "%TEMP_DIR%\new_iso" /E /H /C /I /Y >nul

  65. :: 删除原始的esd/wim文件
  66. del /f /q "%TEMP_DIR%\new_iso\sources\%IMAGE_FILE%" >nul

  67. :: 创建新的ISO镜像
  68. echo 正在创建新的ISO镜像...
  69. if defined USE_7ZIP_FOR_ISO (
  70.     "%7ZIP_PATH%" a -tiso "%OUTPUT_ISO%" "%TEMP_DIR%\new_iso\*" -y >nul
  71. ) else (
  72.     "%OSCDIMG_PATH%" -m -o -u2 -udfver102 -bootdata:2#p0,e,b"%TEMP_DIR%\new_iso\boot\etfsboot.com"#pEF,e,b"%TEMP_DIR%\new_iso\efi\microsoft\boot\efisys.bin" "%TEMP_DIR%\new_iso" "%OUTPUT_ISO%" >nul
  73. )

  74. :: 检查输出ISO是否创建成功
  75. if not exist "%OUTPUT_ISO%" (
  76.     echo 错误:创建输出ISO失败
  77.     rd /s /q "%TEMP_DIR%"
  78.     pause
  79.     exit /b 1
  80. )

  81. :: 清理临时文件
  82. echo 清理临时文件...
  83. rd /s /q "%TEMP_DIR%"

  84. :: 完成提示
  85. echo.
  86. echo 操作完成!
  87. echo 生成的SWM格式ISO文件:%cd%\%OUTPUT_ISO%
  88. echo 包含的SWM文件:
  89. dir /b "%cd%\%OUTPUT_ISO%" | findstr /i "install.swm"
  90. echo.
  91. pause
复制代码

ISO_SWM_Converter.rar

1.36 KB, 下载次数: 4, 下载积分: 无忧币 -2

点评

谢谢分享!  详情 回复 发表于 前天 19:31

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2025-10-4 16:33

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表