@echo off
@rem This script is called by x:\Windows\System32\Startnet.cmd – WinPE
@echo.
@echo.
@echo.
@echo.
@rem *******************************************************************
@rem FLASH_BIOS=1 Auto flash BIOS / FLASH_BIOS=0 Do not auto flash BIOS
@rem *******************************************************************
@echo.
set FLASH_BIOS=0
@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.
@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 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 Map drive letter for Install.wim and Winre.wim
@echo *****************************************************************
@rem Create an output file containing all the drive letters
@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:\Listdisk.txt>x:\Output.txt
@echo call diskpart /s x:\listVol.txt>x:\Output.txt
diskpart /s x:\listVol.txt>x:\Output.txt
@echo.
@rem Go through each drive letter, looking for the images\Install.txt file
for /f "skip=8 tokens=3" %%A in (x:\Output.txt) do (
if exist %%A:\images\install.txt set InstallPath=%%A:\images&& echo "Found device with images folder and install.txt file"
)
@echo.
@echo.
@echo.
@echo *****************************************************************
@echo Checkup SingleOS or DualOS or whether exist windows partiton
@echo *****************************************************************
@rem create diskpart script for search windows partitions from emmc disk
@echo.>x:\ListPar.txt
@echo select disk "%Disk%" >>x:\ListPar.txt
@echo list partition >>x:\ListPar.txt
@echo exit >>x:\ListPar.txt
@echo.
@rem run diskpart script
diskpart /s x:\ListPar.txt >x:\eMMCPar.txt
@echo.
@rem SingleOS / DualOS switch
find "Partition 6" x:\eMMCPar.txt >nul
if %ERRORLEVEL% NEQ 0 Goto :SingleOS
@rem ensure it's DualOS,and check whether exist windows partition,if not:create the new windows partition
find "Partition 12" x:\eMMCPar.txt >nul
if %ERRORLEVEL% NEQ 0 Goto DualOS
@echo.>x:\checkpart.txt
@echo select disk "%Disk%">>x:\checkpart.txt
@echo list partition>>x:\checkpart.txt
@echo exit>>x:\checkpart.txt
@echo call diskpart /s x:\checkpart.txt>x:\outpar.txt
call diskpart /s x:\checkpart.txt>x:\outpar.txt
@echo.
@echo.>x:\DelPar.txt
@echo select disk "%Disk%">>x:\DelPar.txt
for /f "skip=21 tokens=2" %%A in (x:\outpar.txt) do (
if %%A NEQ DiskPart… echo select partition %%A>>x:\DelPar.txt && echo delete partition override>>x:\DelPar.txt
)
echo exit>>x:\DelPar.txt
diskpart /s x:\DelPar.txt
Goto DualOS
:SingleOS
@echo.
@echo This is a SingleOS!
@echo.
@echo.
: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="Windows">>x:\winpart.txt
@echo assign letter="W">>x:\winpart.txt
@echo shrink desired=800>>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 id="de94bba4-06d1-4d40-a16a-bfd50179d6ac">>x:\winpart.txt
@echo gpt attributes=0×8000000000000001>>x:\winpart.txt
@echo exit>>x:\WinPart.txt
@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.
@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%\images\install.wim
@echo.
@echo.
@echo.
@echo *****************************************************************
@rem Switches to the USB disk
@rem Create folders on local (eMMC) disk and copy files from USB disk
@echo *****************************************************************
@echo.
@echo Making directories…
md w:\recycler\scratch
if %errorlevel% NEQ 0 echo "Failed to make w:\recycler\scratch directory" && goto :error
@echo.
md r:\recovery\windowsre
if %errorlevel% NEQ 0 echo "Failed to make m:\recovery\windowsre directory" && goto :error
@echo.
@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:\recycler\SCRATCH
call dism /apply-image /imagefile:"%InstallPath%\Install.wim" /index:1 /applydir:w:\ /compact /scratchdir:"w:\recycler\SCRATCH
if %errorlevel% NEQ 0 echo "Failed to apply image to w:" && goto :error
@echo.
@echo *****************************************************************
@echo Rund SingleInstance
@echo *****************************************************************
@echo.
if EXIST W:\Recovery\Customizations\USMT.ppkg dism /Apply-CustomDataImage /CustomDataImage:W:\Recovery\Customizations\USMT.ppkg /ImagePath:W:\ /SingleInstance
@echo *****************************************************************
@rem Move WinRE to Recovery Partition
@echo *****************************************************************
@echo.
@echo Modifying attributes of winre.wim so we can move it.
attrib w:\Windows\System32\recovery\winre.wim -s -h -a -r
@echo move w:\Windows\System32\recovery\winre.wim r:\recovery\windowsre
move w:\Windows\System32\recovery\winre.wim r:\recovery\windowsre
if %errorlevel% NEQ 0 echo "Failed to move winre.wim to r:\recovery\windowsre" && goto :error
@echo.
@echo reset attributes now
attrib r:\Recovery\Windowsre\winre.wim +s +h +a +r
@echo.
@echo.
@echo *****************************************************************
@echo Setting the boot environment
@echo *****************************************************************
@echo call w:\WINDOWS\SYSTEM32\BCDBOOT w:\WINDOWS /s s: /f all
w:\WINDOWS\SYSTEM32\BCDBOOT 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:\windows\system32\reagentc /SetREImage /Path r:\RECOVERY\WINDOWSRE /target w:\windows
w:\windows\system32\reagentc /SetREImage /Path r:\RECOVERY\WINDOWSRE /target w:\windows
if %errorlevel% NEQ 0 echo "Failed to set recovery information" && goto :error
@echo.
@echo.
@echo.
@echo.
attrib +H +R W:\Recovery
rmdir /s /q w:\recycler
if "%FLASH_BIOS%"=="1" GOTO :FLASH_BIOS
@echo *****************************************************************
@echo WIMboot image deployment COMPLETE. Type EXIT from Command
@echo Prompt to restart or turn off device.
@echo *****************************************************************
Wpeutil shutdown
color 2f
Goto :END
DualOS
@echo.
@echo This is a DualOS!
@echo.
@echo.
@echo *****************************************************************
@echo Write the diskpart script now that we know what disk to use
@echo *****************************************************************
@echo.>x:\winpart.txt
@echo select disk "%Disk%">>x:\winpart.txt
@echo select volume "0">>x:\winpart.txt
@echo attributes volume set hidden>>x:\winpart.txt
rem @echo select volume "1">>x:\winpart.txt
rem @echo attributes volume set hidden>>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="Windows">>x:\winpart.txt
@echo assign letter="W">>x:\winpart.txt
@echo shrink desired=800>>x:\winpart.txt
@echo create partition primary>>x:\winpart.txt
@echo format quick fs=ntfs label="Recovery">>x:\winpart.txt
@echo assign letter="M">>x:\winpart.txt
@echo set id="de94bba4-06d1-4d40-a16a-bfd50179d6ac">>x:\winpart.txt
@echo gpt attributes=0×8000000000000001>>x:\winpart.txt
@echo exit>>x:\WinPart.txt
@echo.
@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.
@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%\install.wim
@echo.
@echo.
@echo.
@echo *****************************************************************
@rem Switches to the USB disk
@rem Create folders on local (eMMC) disk and copy files from USB disk
@echo *****************************************************************
@echo.
@echo Making directories…
md w:\recycler\scratch
if %errorlevel% NEQ 0 echo "Failed to make w:\recycler\scratch directory" && goto :error
@echo.
md M:\recovery\windowsre
if %errorlevel% NEQ 0 echo "Failed to make M:\recovery\windowsre directory" && goto :error
@echo.
@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:\recycler\SCRATCH
call dism /apply-image /imagefile:"%InstallPath%\Install.wim" /index:1 /applydir:w:\ /compact /scratchdir:"w:\recycler\SCRATCH
if %errorlevel% NEQ 0 echo "Failed to apply image to w:" && goto :error
@echo.
@echo *****************************************************************
@echo Rund SingleInstance
@echo *****************************************************************
@echo.
if EXIST W:\Recovery\Customizations\USMT.ppkg dism /Apply-CustomDataImage /CustomDataImage:W:\Recovery\Customizations\USMT.ppkg /ImagePath:W:\ /SingleInstance
@echo *****************************************************************
@rem Move WinRE to Recovery Partition
@echo *****************************************************************
@echo.
@echo Modifying attributes of winre.wim so we can move it.
attrib w:\Windows\System32\recovery\winre.wim -s -h -a -r
@echo move w:\Windows\System32\recovery\winre.wim M:\recovery\windowsre
move w:\Windows\System32\recovery\winre.wim M:\recovery\windowsre
if %errorlevel% NEQ 0 echo "Failed to move winre.wim to M:\recovery\windowsre" && goto :error
@echo.
@echo reset attributes now
attrib M:\Recovery\Windowsre\winre.wim +s +h +a +r
@echo.
@echo.
@echo *****************************************************************
@echo Setting the boot environment
@echo *****************************************************************
@echo call w:\WINDOWS\SYSTEM32\BCDBOOT w:\WINDOWS /s s: /f all
w:\WINDOWS\SYSTEM32\BCDBOOT 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:\windows\system32\reagentc /SetREImage /Path M:\RECOVERY\WINDOWSRE /target w:\windows
w:\windows\system32\reagentc /SetREImage /Path M:\RECOVERY\WINDOWSRE /target w:\windows
if %errorlevel% NEQ 0 echo "Failed to set recovery information" && goto :error
attrib +H +R W:\Recovery
rmdir /s /q w:\recycler
if "%FLASH_BIOS%"=="1" GOTO :FLASH_BIOS
@echo *****************************************************************
@echo WIMboot image deployment COMPLETE. Type EXIT from Command
@echo Prompt to restart or turn off device.
@echo *****************************************************************、
Wpeutil shutdown
color 2f
Goto :END
:FLASH_BIOS
@echo.
@echo *****************************************************************
@echo Flash BIOS
@echo *****************************************************************
@echo.
@echo BIOS file FOUND at %WinPESource%Images\BIOS\*.ROM
@echo.
xcopy /y %WinPESource%Images\BIOS\*.ROM %WinPESource%Scripts\Tools\
for /r "%WinPESource%Scripts\Tools" %%Z in (*.ROM) do (
ren "%%Z" "%%~na.fd"
)
if NOT EXIST %WinPESource%Scripts\Tools\*.fd echo "Can not find the BIOS file" && goto :error
@REM Flash BIOS
%WinPESource%Scripts\Tools\H2OFFT-W.exe
Del /q %WinPESource%Scripts\Tools\*.fd
if %errorlevel% NEQ 0 echo "Failed to flash BIOS" && goto :error
@echo *****************************************************************
@echo WIMboot image deployment COMPLETE. Type EXIT from Command
@echo Prompt to restart or turn off device.
@echo *****************************************************************
color 2f
Goto :END
:ERROR
@echo.
@echo An error has been detected.
color 4f
@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=24 tokens=3" %%A in (x:\ParOutput.txt) do (
if /i "%%A"=="no" set Disk=%TempDisk%
)
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.
Description says is: "ROM Tablet Chuwi Hi10 Dual os - ROM Windows 10 / Android 5.1"
so my question is can be installed to Chuwi Hi10? If not, can someone give me link to dual OS for Chuwi Hi10 and guide how to do it..
Thanks in advance.
There are two versions of the Chuwi Hi12
1) with Z8300
2) with Z8350 CPU.
Does this ROM work for both?
Thanks!
The BIOS definately does NOT work for the newer Z8350!!