|
本帖最后由 baby1277 于 2025-2-26 23:31 编辑
帮助新手快速安装VHD系统,傻瓜式操作比WinNTSetup更简单。
简单的测试下没有发现问题,若有问题或者建议跟帖留言。
- @echo off
- title (快速安装VHD系统 By baby1277 2025.2.26)
- set wim=%~1
- if defined wim goto wimok
- :vhdset
- cls&echo.
- if defined cuo set cuo=&echo.&echo 安装遇到了问题,不支持的系统映像。&echo.
- echo 请将Wim或者Esd映像文件拖拽进来后按回车键
- echo.
- set /p wim=
- :wimok
- for /f "delims=" %%i in ('echo %wim%') do set path1=%%~fi
- set path2=%path1:(=%
- if not "%path2%"=="%path1%" set cuo=0&goto vhdset
- for /f "delims=" %%i in ('echo %wim%') do (
- if /i not "%%~xi"==".wim" if /i not "%%~xi"==".esd" set cuo=0&goto vhdset
- if not exist "%%~fi" goto vhdset
- set wim2=%%~fi
- set wimN=%%~ni
- )
- :: 获取Wim/Esd映像文件卷号
- for /f "tokens=1-4" %%i in ('dism /get-wiminfo /wimfile:"%wim2%"') do (
- if "%%i"=="索引:" set mod=%%j
- if /i "%%l"=="Ultimate" set ver2=旗舰版&goto ver1
- if /i "%%l"=="Enterprise" set ver2=企业版&goto ver1
- if "%%l"=="企业版" set ver2=企业版&goto ver1
- if /i "%%l"=="professional" set ver2=专业版&goto ver1
- if "%%l"=="专业版" set ver2=专业版&goto ver1
- )
- :ver1
- if not defined mod set cuo=0&goto vhdset
- :: 设置VHD文件位置 (判断映像文件的系统版本)
- echo "%wimN%"|find /i "win7">nul&&set nx=.vhd
- for %%i in (8 10 11) do echo "%wimN%"|find /i "win%%i">nul&&set nx=.vhdx
- for %%i in (8 10 11) do echo "%wimN%"|find /i "windows%%i">nul&&set nx=.vhdx
- for /f "tokens=2-4" %%i in ('dism /get-wiminfo /wimfile:"%wim2%"^|find "名称"') do (
- echo %%i%%j%%k|find /i "win7">nul&&set nx=.vhd
- for %%a in (8 10 11) do echo "%%i%%j%%k"|find /i "win%%a">nul&&set nx=.vhdx
- for %%b in (8 10 11) do echo "%%i%%j%%k"|find /i "windows%%b">nul&&set nx=.vhdx
- if %%j equ 7 set nx=.vhd
- if %%j gtr 7 set nx=.vhdx
- )
- if not defined nx set cuo=0&goto vhdset
- set "vhdPath=%~d0\WinVHD%random:~-2%%nx%"
- :: VHD磁盘卷标
- set vhdname=WindowsVHD
- :: VHD文件大小
- set vhdSize=51200
- cls
- echo.
- echo.
- echo.
- echo ===========请确认VHD参数===============
- echo.
- echo VHD磁盘卷标:%vhdname%
- echo.
- echo VHD文件位置:%vhdPath%
- echo.
- echo VHD文件大小:%vhdSize% MB
- echo.
- echo Wim/Esd位置:%wim2%
- echo.
- echo Wim/Esd卷号:%mod% %ver2%
- echo.
- echo =====按任意键继续安装,并重启系统。=====
- pause>nul
- :: 创建并加载VHD磁盘
- for %%i in (R S T U V W Y Z) do if not exist %%i: set pan=%%i
- (echo create vdisk file="%vhdPath%" maximum=%vhdSize% type=expandable&^
- echo Select vdisk file="%vhdPath%"&^
- echo attach vdisk&^
- echo create partition primary&^
- echo format quick fs=ntfs label="%vhdname%"&^
- echo assign letter=%pan%:&^
- echo exit)|diskpart
- :: 应用系统镜像
- dism /apply-image /imagefile:"%wim2%" /index:%mod% /applydir:%pan%:\
- :: 配置引导记录
- bcdboot %pan%:\Windows /l zh-ch
- if %errorlevel% equ 0 set vhdSetup=ok
- :: 卸载VHD
- (echo select vdisk file="%vhdPath%"&echo detach vdisk)|diskpart
- :: 安装成功设置引导程序并重启系统
- if not defined vhdSetup goto cuo2
- bcdedit /timeout 3
- bcdedit /set {bootmgr} Locale zh-cn
- Shutdown -r -f -t 0
- set cuo=&exit
- :: 安装失败返回
- :cuo2
- del /f /q %vhdPath%
- set cuo=0&goto vhdset
复制代码
快速安装VHD系统(修正版).zip
(1.49 KB, 下载次数: 20)
|
|