needrom.top

EMDOOR EM-I16H

@echo off

@rem This script is called by x:WindowsSystem32Startnet.cmd – WinPE

@echo.

@echo.

@echo.

@echo Running Intel Optimization powercfg for improved imaging times

@echo.

@echo call powercfg /s 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c

call powercfg /s 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c

@echo.

@echo.

@rem

@rem

@echo.

@rem *****************************************************************

@rem List all the disks, then search the volumes of each one to see

@rem which disks may have “Winpe” in the label. We will ignore that

@rem disk and use the first disk without the Winpe label that we find.

@rem *****************************************************************

@echo.>x:listdisk.txt

@echo list disk>>x:listdisk.txt

@echo exit>>x:listdisk.txt

echo x:listdisk.txt

@echo call diskpart /s x:listdisk.txt

call diskpart /s x:listdisk.txt>x:Disks.txt

@echo.

@rem Set Disk equal to blank to start

set disk=

@echo.

@rem

@rem This line will write a diskpart script to select the disk and detail it’s contents.

@rem We use this output to find a disk that does NOT have Winpe as the volume label.

@rem That disk will have the OS installed to it. This way you can exclude USB from diskpart.

@rem

@rem This works around the issue where the USB key is sometimes enumerated as disk 0 and the

@rem SSD is disk 1.

@rem

for /f “skip=8 tokens=2” %%A in (x:Disks.txt) do (

@echo sel disk %%A>x:Par.txt

@echo det disk>>x:Par.txt

@echo exit>>x:Par.txt

if NOT “%%A”==”DiskPart…” call :ListPar %%A

)

if “%Disk%”==”” echo No disk found without a volume label of “Winpe”&& set disk=0

@echo Using Disk “%Disk%”

@echo.

@echo.

rem ***************************************

rem Update by Leon 10.28.2016

rem ***************************************

:D ETMODE

rem ***************************************

@echo.

@echo.

@rem *****************************************************************

@rem Detect if System is booted into UEFI mode or Bios mode

@rem *****************************************************************

for /f “tokens=2* delims= ” %%A in (‘reg query HKLMSystemCurrentControlSetControl /v PEFirmwareType’) do set Firmware=%%B

@echo.

if %Firmware%==0×1 goto :Biosmode

if %Firmware%==0×2 goto :UEFImode

Goto :END

:UEFImode

@echo.

@rem ************************

@rem UEFI SECTION

@rem ************************

@echo The PC is booted in UEFI mode

@echo.>x:winpart.txt

@echo select disk “%Disk%”>>x:winpart.txt

@echo clean>>x:winpart.txt

@echo convert gpt>>x:winpart.txt

@echo create partition efi size=100>>x:winpart.txt

@echo format quick fs=fat32 label=”System”>>x:winpart.txt

@echo assign letter=”S”>>x:winpart.txt

@echo create partition msr size=16>>x:winpart.txt

@echo create partition primary>>x:winpart.txt

@echo format quick fs=ntfs label=”Local Disk”>>x:winpart.txt

@echo assign letter=”W”>>x:winpart.txt

@echo shrink desired=1000>>x:winpart.txt

@echo create partition primary>>x:winpart.txt

@echo format quick fs=ntfs label=”Recovery”>>x:winpart.txt

@echo assign letter=”R”>>x:winpart.txt

@echo set>>x:winpart.txt

@echo gpt attributes=0×8000000000000001>>x:winpart.txt

@echo exit>>x:WinPart.txt

Goto :WINPARTSECTION

:Biosmode

@rem ************************

@rem BIOS SECTION

@rem ************************

@echo The PC is booted in BIOS mode

@echo The PC is booted in BIOS mode>x:Bios.txt

@echo.>x:winpart.txt

@echo select disk “%Disk%”>>x:winpart.txt

@echo clean>>x:winpart.txt

@echo create partition primary size=100>>x:winpart.txt

@echo active>>x:winpart.txt

@echo format quick fs=fat32 label=”System”>>x:winpart.txt

@echo assign letter=”S”>>x:winpart.txt

@echo create partition primary>>x:winpart.txt

@echo format quick fs=ntfs label=”Windows”>>x:winpart.txt

@echo assign letter=”W”>>x:winpart.txt

@echo exit>>x:winpart.txt

@echo.

:WINPARTSECTION

@echo Winpart.txt now contains…..

@echo.

type x:winpart.txt

@echo.

@echo.

@echo *****************************************************************

@echo Setting up the partition table

@echo *****************************************************************

@echo call diskpart /s x:winpart.txt

diskpart /s x:winpart.txt

@echo.

@echo.

@echo *****************************************************************

@rem Map drive letter for Install.wim

@echo *****************************************************************

@echo.>x:ListVol.txt

@echo List volume>>x:ListVol.txt

@echo exit>>x:ListVol.txt

@echo call diskpart /s x:ListVol.txt

call diskpart /s x:ListVol.txt>x:Output.txt

@echo.

@echo.

@rem Go through each drive letter, looking for the imagesInstall.txt file

for /f “skip=8 tokens=3” %%A in (x:Output.txt) do (

if exist %%A:imagesinstall.txt set InstallPath=%%A:images&& echo “Found device with images folder and install.txt file”

)

@echo.

@echo.

@rem Check InstallPath was found and there are images in it.

if NOT EXIST %InstallPath%Install.wim echo “Install.wim NOT found.” && goto :Error

@echo Install.wim FOUND at %InstallPath%imagesinstall.wim

@echo.

@echo.

@echo Making directories…

md w:recyclerscratch

if %errorlevel% NEQ 0 echo “Failed to make w:recyclerscratch directory” && goto :error

@echo.

md r:recoverywindowsre

if %errorlevel% NEQ 0 echo “Failed to make m:recoverywindowsre directory” && goto :error

@echo.

@echo *****************************************************************

@echo Applying the Windows image from the USB

@echo *****************************************************************

@echo call DISM /Apply-Image /ImageFile:%InstallPath%install.wim /Index:1 /ApplyDir:w: /Compact /ScratchDir:w:recyclerSCRATCH

call DISM /Apply-Image /ImageFile:%InstallPath%install.wim /Index:1 /ApplyDir:w: /Compact /ScratchDir:w:recyclerSCRATCH

if %errorlevel% NEQ 0 echo “Failed to apply image to w:” && goto :error

@echo.

@echo.

@echo.

@echo.

@echo.

@echo.

@echo *****************************************************************

@rem Move WinRE to Recovery Partition

@echo *****************************************************************

@echo.

@echo Modifying attributes of winre.wim so we can move it.

attrib w:WindowsSystem32recoverywinre.wim -s -h -a -r

@echo move w:WindowsSystem32recoverywinre.wim r:recoverywindowsre

move w:WindowsSystem32recoverywinre.wim r:recoverywindowsre

if %errorlevel% NEQ 0 echo “Failed to move winre.wim to r:recoverywindowsre” && goto :error

@echo.

@echo reset attributes now

attrib r:RecoveryWindowsrewinre.wim +s +h +a +r

@echo.

@echo.

@echo *****************************************************************

@echo Setting the boot environment

@echo *****************************************************************

@echo call w:WINDOWSSYSTEM32BCDBOOT w:WINDOWS /s s: /f all

w:WINDOWSSYSTEM32BCDBOOT w:WINDOWS /s s: /f all

if %errorlevel% NEQ 0 echo “Failed to set boot information” && goto :error

@echo.

@echo.

@echo.

@echo *****************************************************************

@echo Setting the recovery environment

@echo *****************************************************************

@echo w:windowssystem32reagentc /SetREImage /Path r:RECOVERYWINDOWSRE /target w:windows

w:windowssystem32reagentc /SetREImage /Path r:RECOVERYWINDOWSRE /target w:windows

if %errorlevel% NEQ 0 echo “Failed to set recovery information” && goto :error

@echo.

mkdir S:EFIOEM

xcopy /e /h /y S:EFIMicrosoft* S:EFIOEM

del /a S:EFIOEMBootBCD

bcdedit /createstore S:BCD

bcdedit /store S:BCD /create {bootmgr} /d “Windows Boot Manager”

bcdedit /store S:BCD /set {bootmgr} device partition=S:

bcdedit /store S:BCD /set {bootmgr} locale en-us

bcdedit /store S:BCD /set {bootmgr} integrityservices Enable

bcdedit /store S:BCD /create {11111111-1111-1111-1111-111111111111} /d “Windows Recovery” /device

bcdedit /store S:BCD /set {11111111-1111-1111-1111-111111111111} ramdisksdidevice partition=R:

bcdedit /store S:BCD /set {11111111-1111-1111-1111-111111111111} ramdisksdipath RecoveryWindowsREboot.sdi

bcdedit /store S:BCD /create {22222222-2222-2222-2222-222222222222} /d “Windows Recovery Environment” /application osloader

bcdedit /store S:BCD /set {bootmgr} default {22222222-2222-2222-2222-222222222222}

bcdedit /store S:BCD /set {bootmgr} displayorder {22222222-2222-2222-2222-222222222222}

bcdedit /store S:BCD /set {default} device ramdisk=[R:]RecoveryWindowsREwinre.wim,{11111111-1111-1111-1111-111111111111}

bcdedit /store S:BCD /set {default} path WindowsSystem32winload.efi

bcdedit /store S:BCD /set {default} locale en-us

bcdedit /store S:BCD /set {default} displaymessage “Recovery”

bcdedit /store S:BCD /set {default} osdevice ramdisk=[R:]RecoveryWindowsREwinre.wim,{11111111-1111-1111-1111-111111111111}

bcdedit /store S:BCD /set {default} systemroot Windows

bcdedit /store S:BCD /set {default} nx OptIn

bcdedit /store S:BCD /set {default} bootmenupolicy Standard

bcdedit /store S:BCD /set {default} winpe Yes

xcopy /h /y S:BCD* S:EFIOEMBoot.

del /a S:BCD*

@echo.

@echo.

@echo *****************************************************************

@echo Copying over Unattend.xml to use on factory floor if it exists

@echo *****************************************************************

@echo if EXIST %WinPESource%ScriptsUnattend.xml copy %WinPESource%ScriptsUnattend.xml w:WindowsPanther /y

if EXIST %WinPESource%ScriptsUnattend.xml copy %WinPESource%ScriptsUnattend.xml w:WindowsPanther /y

@echo.

@echo *****************************************************************

@echo Copying over NON Scanstate Packages, if they exist.

@echo IF YOU COPY OVER SCANSTATE PPKG, THIS CAUSE IMAGE TO FAIL DURING RECOVERY

@echo *****************************************************************

@echo if EXIST %WinPESource%Scripts*.ppkg copy %WinPESource%Scripts*.ppkg r:RecoveryCustomizations /y

if EXIST %WinPESource%Scripts*.ppkg copy %WinPESource%Scripts*.ppkg r:RecoveryCustomizations /y

@echo.

@echo *****************************************************************

@echo Copying over resetconfig.xml and assets, if they exist.

@echo *****************************************************************

@echo if EXIST %WinPESource%ScriptsRecoveryOEMresetconfig.xml xcopy %WinPESource%ScriptsRecovery*.* w:Recovery /e /y

if EXIST %WinPESource%ScriptsRecoveryOEMresetconfig.xml xcopy %WinPESource%ScriptsRecovery*.* w:Recovery /e /y

@echo.

@echo.

@echo *****************************************************************

@echo Copying over LayoutModification.xml and, if it exist.

@echo *****************************************************************

@echo if EXIST %WinPESource%ScriptsLayoutModification.xml copy %WinPESource%ScriptsLayoutModification.xml w:usersdefaultappdatalocalMicrosoftWindowsShell /y

if EXIST %WinPESource%ScriptsLayoutModification.xml copy %WinPESource%ScriptsLayoutModification.xml w:usersdefaultappdatalocalMicrosoftWindowsShell /y

@echo.

@echo.

@echo *****************************************************************

@echo Copying over oobe.xml.

@echo *****************************************************************

@echo xcopy %WinPESource%ScriptsRecoveryOEMScriptsoobexml*.* w:WindowsSystem32 /e /y

xcopy %WinPESource%ScriptsRecoveryOEMScriptsoobe*.* w:WindowsSystem32oobe /e /y

@echo.

@echo.

@echo.

@echo *****************************************************************

@echo Copying over tool, if they exist.

@echo *****************************************************************

::@echo if EXIST %WinPESource%ScriptsRecoveryOEMresetconfig.xml xcopy %WinPESource%ScriptsTEST_TOOL*.* w: /e /y

::if EXIST %WinPESource%ScriptsRecoveryOEMresetconfig.xml xcopy %WinPESource%ScriptsTEST_TOOL*.* w: /e /y

@echo.

@echo.

@echo.

@echo *****************************************************************

@echo.

@echo.

@echo *****************************************************************

@echo Image deployment COMPLETE. Type EXIT from Command

@echo Prompt to restart or turn off device.

@echo *****************************************************************

goto :END

:ERROR

@echo.

@echo An error has been detected.

@echo.

goto :END

:ListPar

@REM This section is to bring a disk number and use it to List Partitions

@echo.

set TempDisk=%1

diskpart /s x:Par.txt>x:ParOutput.txt

for /f “skip=26 tokens=4” %%A in (x:ParOutput.txt) do (

if /i NOT “%%A”==”Winpe” set Disk=%TempDisk%

)

Goto :EOF

:END

@rem

@rem Get finish time so we can evaluate total WinPE phase time.

@rem

call |time>x:StopTime.txt

@rem

@rem Now parse both files to display the Start and Finish Time

@rem

@echo.

@echo.

for /f “tokens=5” %%A in (x:starttime.txt) do echo Script Start Time is %%A

for /f “tokens=5” %%A in (x:stoptime.txt) do echo Script Stop Time is %%A

@echo.

NOTE : You can’t download pls sent email to kenfuang123@gmail.com , i will sent link download for you

AND PLEASE DONATE FOR ME, THANKS

Leave a Comment