Příprava disku pro instalaci nebo klonování

aneb smazat a vytvořit oddíly

Dávkový soubor slouží k přípravě disku pro budoucí instalaci OS Microsoft Windows 10/11 (resp. Vista a výše) v režimu UEFI, případně pro přenos systému ze starého disku na nový.

Dávka se musí spustit pod účtem Administrator nebo alespoň s právy uživatele Administrator.

Prepare_new_UEFI_disk.CMD

Dávka nemá žádné parametry. Lze ji spustit v prostředí Windows PE nebo z nainstalovaných Windows.

Skript lze přerušit stisknutím kombinace kláves CTRL+C.

Instalace:

"Instalace" se provede tak, že se stažený ZIP archiv rozbalí včetně cest někam na disk, ideálně do rootu C: nebo do rootu instalačního USB disku. Spustí se tak, že se přejde do složky a spustí se dávkový soubor CMD. Během instalace Windows z média USB (v prostředí Windows PE) se vybere místo instalace "Příkazový řádek" nebo lze příkazový řádek vyvolat stisknutím SHIFT+F10, pak se přejde do složky a spustí se dávkový soubor CMD. Viz příklad níže.

Microsoft Windows [Version 10.0.19044.1469]
(c) Microsoft Corporation. Všechna práva vyhrazena.

c:\>cd Prepare_UEFI_disk_for_clone_or_install
c:\Prepare_UEFI_disk_for_clone_or_install>Prepare_new_UEFI_disk.CMD
Tato dávka připraví disk pro (buď a nebo):
- proces klonování disku s OS Windows v režimu UEFI
- čisté instalaci OS Windows v režimu UEFI
protože cílový disk bude NEVRATNĚ smazán, je potřeba být velmi opatrný při výběru cílového disku!

  Disk ###  Status         Size     Free     Dyn  Gpt
  --------  -------------  -------  -------  ---  ---
  Disk 0    Online          238 GB      0 B        *
  Disk 1    Online           58 GB      0 B
  Disk 2    Online         1862 GB      0 B        *

Napiš číslo disku, který se má SMAZAT a rozdělit na oddíly (boot, UEFI, Windows, recovery)
2

Disk 2 is now the selected disk.
Status : Online
Current Read-only State : No
Read-only  : No
Boot Disk  : No
Pagefile Disk  : No
Hibernation File Disk  : No
Crashdump Disk  : No
Clustered Disk  : No

  Volume ###  Ltr  Label        Fs     Type        Size     Status     Info
  ----------  ---  -----------  -----  ----------  -------  ---------  --------
  Volume 6     E   Windows      NTFS   Partition   1862 GB  Healthy
  Volume 7     D   BOOT         FAT32  Partition    100 MB  Healthy    Hidden
  Volume 8     F   Windows RE   NTFS   Partition    600 MB  Healthy    Hidden

Disk  2 : 2000363420160 bytes : 1862.98 GiB : 1.819 TiB : Hard drive

Je to opravdu on? Napiš ANO (velkými písmeny) nebo cokoli jiného, pokud sis to rozmyslel
ANO

Disk 2 is now the selected disk.
DiskPart succeeded in cleaning the disk.
DiskPart successfully converted the selected disk to GPT format.
Partition 1 is now the selected partition.
DiskPart successfully deleted the selected partition.
DiskPart succeeded in creating the specified partition.
  100 percent completed
DiskPart successfully formatted the volume.
DiskPart succeeded in creating the specified partition.
DiskPart succeeded in creating the specified partition.
DiskPart successfully shrunk the volume by:  600 MB
  100 percent completed
DiskPart successfully formatted the volume.
DiskPart succeeded in creating the specified partition.
  100 percent completed
DiskPart successfully formatted the volume.
DiskPart successfully set the partition ID.
DiskPart successfully assigned the attributes to the selected GPT partition.

Disk je nyní rozdělen takto:

Disk 2 is now the selected disk.

  Partition ###  Type              Size     Offset
  -------------  ----------------  -------  -------
  Partition 1    System             100 MB  1024 KB
  Partition 2    Reserved            16 MB   101 MB
  Partition 3    Primary           1862 GB   117 MB
  Partition 4    Recovery           600 MB  1862 GB

Press any key to continue . . .

Výsledkem je disk, na kterém jsou potřebné oddíly (partitions). Instalace Windows se pak provede do největšího oddílu (třetího).

V případě klonování se musí počítač nabootovat do Windows PE, krom původního disku C: musí být k dispozici další disk pro obrazy disků (například D:) a musí se všem oddílům přiřadit písmeno disku, pokud ho nemají. Po té se příkazem IMAGEX vytvoří obraz každého oddílu z disku, na kterém je původní C:, který obsahuje soubory:

IMAGEX.EXE /COMPRESS maximum /CAPTURE #: #:\PARTITION_#.WIM "jmeno"

a tyto obrazy se pak stejným příkazem rozbalí na nový disk do příslušných oddílů (z prvního do prvního, ze třetího do třetího, ze čtvrtého do čtvrtého - druhý oddíl neobsahuje soubory, proto je vynechán)
IMAGEX.EXE /APPLY #:\PARTITION_#.WIM "jmeno" #:\

Místo #: se udede písmeno příslušného disku (například C:) případně číslo oddílu (například PARTITION_1).

Utilita je freeware, lze ji libovolně vylepšovat a bezplatně používat pro nekomerční i komerční účely.

Sleep

aneb pauza pro skript

Program slouží k pozastavení vykonávání dávkového souboru na definovanou dobu.

Použití programu SLEEP_x86.EXE a SLEEP_x64.EXE je identické:

SLEEP_x64.EXE doba_prodlevy
SLEEP_x64.EXE doba_prodlevy /miliseconds /silent /disableinput

Parametr doba_prodlevy musí být uveden vždy jako první. Přepínače lze použít ve dlouhém i zkráceném tvaru (/m /s /d), přičemž na jejich pořadí nezáleží.
Parametr doba_prodlevy (číselná hodnota od 1 do 92233720399999999) určuje dobu prodlevy programu v sekundách. Pokud je použit přepínač /m tak v milisekundách. Přepínač /s potlačí veškerý výstup (tichý režim).
Namísto /s /silent lze použít /q /quiet, místo / lze použít -.

Stisknutím klávesy [Esc] se prodleva ukončí (program se ukončí) pokud není použit parametr /disableinput.

Program je freeware a lze jej bezplatně používat pro nekomerční i komerční účely.

Change Screen Resolution

Program slouží ke změně rozlišení obrazovky a změně obnovovací frekvence - z GUI i z příkazového řádku.

Použití programu ChgScrRes_x86.EXE a ChgScrRes_x64.EXE je identické:

ChgScrRes_x64.EXE [width height colors refresh display [silent]]
1 = new screen width (640, 800, 1024, 1280, ...)
2 = new screen height (480, 600, 768, 960, ...)
3 = new screen color depth (1, 4, 8, 16, 24, 32, ...)
4 = new refresh frequency (24, 50, 60, 75, ...)
5 = apply to display number (1, 2, ...) or to all displays (*) in silent mode
6 = silent mode - apply without user's confirmation (any value is accepted)
* = bypassing value for parameter 1 to 4, means use current value

Program je freeware a lze jej bezplatně používat pro nekomerční i komerční účely.

Get Physical Disk Size

Program slouží k zjištění přesných velikostí datových úložišť v počítači. Lze zobrazit výpis jednoho nebo více disků jako tabulku nebo pouze jako hodnoty - to je užitečné do dávkových souborů. Například pro kontrolu kapacity cílového disku (nikoli volného místa). V případě, kdy byla velikost disku nebo disků zjištěna a program proběhl bez chyb, je výstupní kód programu nulový (%ErrorLevel%==0). Zadáním více parametrů definujících řád kapacity se zobrazí kapacita (každého) jednoho disku ve všech požadovaných řádech, viz příklady výstupů níže.

Použití programu GetPhyDskSize_x86.EXE a GetPhyDskSize_x64.EXE je identické:

Usage:
GetPhyDskSize_x64.EXE [[-h|--help]|[-p|--pause]] [[from Disk Number] to Disk Number] [-b|--byte] [-k|--kilo] [-m|--mega] [-g|--giga] [-t|--tera] [-v|--verbose]
help: show help
pause: wait for key press before exit
Disk Number: show only disk specified by Disk Number or disks specified by range from-to (valid range: 0-255)
byte,kilo,mega,giga,tera: show capacity in specified units
verbose: add units and drive type if units are specified

Příklad použití

GetPhyDskSize_x64.EXE 0 -g -v
GetPhyDskSize_x64.EXE 1 --giga --verbose --pause
GetPhyDskSize_x64.EXE 0 5 --pause
GetPhyDskSize_x64.EXE --pause --byte --kilo --mega --giga --tera

Příklad využití ve skriptu (BAT, CMD)

Ukázka části dávkového souboru s výběrem disku a ověřením kapacity...

ECHO Napiš číslo cílového disku:
SET /P DISK_NUMBER=
GetPhyDskSize_x64.EXE %DISK_NUMBER%
IF %ErrorLevel% EQU 0 GOTO :DiskNumberOK
ECHO Zkus to znovu a lépe...
PAUSE
GOTO :Loop
:DiskNumberOK
ECHO.
ECHO Je to opravdu on? [ANO/NE]
SET /P QUERY=
IF /I "%QUERY%" NEQ "ANO" GOTO :SpatnaOdpoved
SET /A FLASHDISKSIZE=0
FOR /F "delims=." %%A in ('GetPhyDskSize_x64.EXE %DISK_NUMBER% -g') DO SET /A FLASHDISKSIZE=%%A
SET /A MINIMUMSIZE=8
IF %FLASHDISKSIZE% LSS %MINIMUMSIZE% GOTO :ErrorMalyDisk
...

Příklad výstupů

GetPhyDskSize_x64.EXE
Disk  0 :  256052966400 bytes :  238.47 GiB : 0.233 TiB : Hard drive
Disk  1 : 2000396321280 bytes : 1863.01 GiB : 1.819 TiB : Hard drive
Disk  2 :   62948067840 bytes :   58.62 GiB : 0.057 TiB : Removable drive
Disk  3 : 4000751516160 bytes : 3725.99 GiB : 3.639 TiB : Hard drive
Disk  4 :  124144151040 bytes :  115.62 GiB : 0.113 TiB : Removable drive
Disk  5 : 2000363420160 bytes : 1862.98 GiB : 1.819 TiB : Hard drive
Disk  6 : 1000202273280 bytes :  931.51 GiB : 0.910 TiB : Hard drive
Disk  7 :    8587192320 bytes :    8.00 GiB : 0.008 TiB : Hard drive

C:\>GetPhyDskSize_x64.EXE 3 --tera --verbose
             3.639 : TiB : Hard drive

C:\>GetPhyDskSize_x64.EXE 3 -t
3.639

C:\>GetPhyDskSize_x64.EXE 2 --byte --kilo --mega --giga --tera
124144151040
121234522.500
118393.088
115.618
0.113

C:\>GetPhyDskSize_x64.EXE 2 --pause --byte --kilo --mega --giga --tera --verbose
  124144151040     :   B : Removable drive
     121234522.500 : KiB : Removable drive
        118393.088 : MiB : Removable drive
           115.618 : GiB : Removable drive
             0.113 : TiB : Removable drive
Press any key to continue . . .

Program je freeware a lze jej bezplatně používat pro nekomerční i komerční účely.

Exchange values in WINNT.SIF

Program slouží k naplnění (výměně) jedné hodnoty v souboru WINNT.SIF (to je soubor pro bezobslužnou instalaci Windows XP), nicméně obecně lze utilitu použít víceméně na jakýkoli *.INI soubor.

Použití programu XCHGSIF_x86.EXE a XCHGSIF_x64.EXE je identické:

/HELP nebo /? - nápověda
/SIF:<soubor> - plná specifikace souboru, ve kterém se má změnit hodnota
/TOKEN:<variable>= - proměnná (uvádět včetně =)
/VALUE:<value>- hodnota proměnné
/DEBUG - pro účely ladění, nezavírat informační okno

Příklad použití

XCHGSIF_x64.EXE /DEBUG /SIF:WINNT.SIF /TOKEN:OemFilesPath= /VALUE:"\MEDIA\XPx64\$OEM$"
XCHGSIF_x64.EXE /DEBUG /SIF:WINNT.SIF /TOKEN:ProductID=    /VALUE:12345-ABCDE-12345-ABCDE-12345
XCHGSIF_x64.EXE /DEBUG /SIF:WINNT.SIF /TOKEN:FullName=     /VALUE:"Miloň Náčelník"
XCHGSIF_x64.EXE /DEBUG /SIF:WINNT.SIF /TOKEN:OrgName=      /VALUE:"Koňské spřežení"
XCHGSIF_x64.EXE /DEBUG /SIF:WINNT.SIF /TOKEN:ComputerName= /VALUE:PC001-TEST

Program je freeware a lze jej bezplatně používat pro nekomerční i komerční účely.

Downloads

Tyto drobné utility jsou určeny pro operační systém Microsoft Windows ve 32-bit a 64-bit edici. Rovněž fungují v prostředí Windows PE (x86 i x64). Pokud jde o konkrétní verze MS Windows, tak utility fungují od Windows XP výše. Pravděpodobně budou fungovat i ve starších 32 bitových verzích Windows, ale fakt jsem to nezkoušel.

  1. prepare_uefi_disk_for_clone_or_install.zip (359 048 bytes) verze 1 z 28.1.2022
  2. sleep_x64.zip (300 051 bytes) verze 2.0.0.5 ze 21.12.2022
  3. sleep_x86.zip (217 619 bytes) verze 2.0.0.5 ze 21.12.2022
  4. chgscrres_x64.zip (916 207 bytes) verze 2.2.2.1 z 25.1.2022
  5. chgscrres_x86.zip (759 191 bytes) verze 2.2.2.1 z 25.1.2022
  6. getphydsksize_x64.zip (307 731 bytes) verze 1.1.0.1 z 27.1.2022
  7. getphydsksize_x86.zip (229 395 bytes) verze 1.1.0.1 z 27.1.2022
  8. xchgsif_x64.zip (2 449 063 bytes) verze 0.0.0.9 z 29.2.2012
  9. xchgsif_x86.zip (1 947 815 bytes) verze 0.0.0.9 z 29.2.2012