2020. október 30., péntek

Gyorskeresés

Windows 8-10 telepítő mindennel, ami kell

Írta: |

[ ÚJ BEJEGYZÉS ]

Nemrég szembesültem a következő feladattal: készíteni kell egy friss windows 8.1 telepítőt. Ez normál esetben nem probléma, de az utóbbi időben már nem olyan egyszerű a dolog, mint korábban volt. - Így gondoltam megér egy bejegyzést a sztori. Paranoiám nem engedi meg, hogy mindenféle virágbolti integrált (+malware-ekkel preparált) telepítőkkel és bináris integrátorokkal szórakozzak (kicsit "fejlődtem" az nLite-os idők óta) - Így főzöm én a win telepítőt:

1. Szerzünk egy viszonylag friss telepítőt - (8.1 update 3, hash értékek itt) ehhez szól a frissítéscsomag, amit használni szoktam. Alternatíva a hivatalos windows media creation tool-lal készített ISO.

Windows 10 képhez a legújabb windows 10 ADK -ra lesz szükségünk (nem kell az egészet lehúzni, csak a deployment tools-ra lesz szükségünk, azonbelül a DISM-re).

2. Létrehozzuk a következő könyvtárakat:
d:\win8
d:\wim
d:\driver

A d:\win8-ba kicsomagoljuk az iso tartalmát, és a d:\win8\sources-ben lévő Install.esd-t kicsomagoljuk wim-mé ezzel az adminként futtatandó script segítségével. A script abba a könyvtárba pakolja az install.wim-et, ahova őt raktuk - célszerű rögtön a d:\win8\sources-ből futtatni. Az eredeti install.esd-t töröljük.

2. Frissítések (és egyebek) integrálása:
Letöltünk egy frissítés-csomagot Windows 10-hez a windows update catalog-ot érdemes átnézni.

Az integrálandó drivereket először simán kicsomagoljuk pl 7zip-pel, majd az expand-paranccsal teljesen kitömörítünk mindent a D:\driver-en belül külön alkönyvtárakba:
nVidiás példa:
Drivert letöltötted .exe formában, 7zippel kicsomagoltad a D:\Nvidia-mappába. Ezután parancssorban:
cd D:\Nvidia
mkdir D:\driver\displaydriver
expand *.* D:\driver\displaydriver

Első lépésként elmegyünk a friss DISM.exe-t tartalmazó könyvtárba:

cd C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\amd64\DISM

Ezekután mountoljuk a wim-file-t a D:\wim könyvtárba:

dism /mount-wim /wimfile:D:\Win8\sources\install.wim /mountdir:D:\wim /index:1

Integráljuk a frissítéseket:
dism /image:D:\wim /Add-Package /PackagePath:D:\update

Integráljuk a drivereket:
dism /image:D:\wim /Add-Driver /Driver:D:\driver /Recurse (csak whql driverekkel érdemes próbálkozni. Esetleg egyedi, nem aláírt inf-et feltehetünk a /ForceUnsigned kapcsolóval)

Kipucoljuk a szemetet:
totalcommanderrel vagy egyéb fájlkezelővel a d:\wim\Program Files\WindowsApps mappában minden felesleges csomag nevét (azon könyvtárnevek, melyekben "~" szerepel) - totalcommanderben "Mark->copy selected names to clipboard") kimásoljuk, a notepad replace all funkciójával megcsináljuk a DISM-es scriptet és beillesztjük a még amúgy is futó konzolba. Alternatív megoldás, amivel a d:\applist.txt szövegfájlba irathatjuk a csomagok adatait:

Dism /image:d:\wim /Get-ProvisionedAppxPackages >d:\applist.txt

Az aktuális 8.1 iso-val ez nekem így néz ki:

Dism /image:d:\wim /Remove-ProvisionedAppxPackage /PackageName:Microsoft.BingFinance_2014.926.253.3184_neutral_~_8wekyb3d8bbwe
Dism /image:d:\wim /Remove-ProvisionedAppxPackage /PackageName:Microsoft.BingFoodAndDrink_2014.926.254.3803_neutral_~_8wekyb3d8bbwe
Dism /image:d:\wim /Remove-ProvisionedAppxPackage /PackageName:Microsoft.BingHealthAndFitness_2014.926.255.3988_neutral_~_8wekyb3d8bbwe
Dism /image:d:\wim /Remove-ProvisionedAppxPackage /PackageName:Microsoft.BingMaps_2014.830.1811.3840_neutral_~_8wekyb3d8bbwe
Dism /image:d:\wim /Remove-ProvisionedAppxPackage /PackageName:Microsoft.BingNews_2014.926.2134.2947_neutral_~_8wekyb3d8bbwe
Dism /image:d:\wim /Remove-ProvisionedAppxPackage /PackageName:Microsoft.BingSports_2014.926.258.4003_neutral_~_8wekyb3d8bbwe
Dism /image:d:\wim /Remove-ProvisionedAppxPackage /PackageName:Microsoft.BingTravel_2014.926.259.4931_neutral_~_8wekyb3d8bbwe
Dism /image:d:\wim /Remove-ProvisionedAppxPackage /PackageName:Microsoft.BingWeather_2014.928.34.2811_neutral_~_8wekyb3d8bbwe
Dism /image:d:\wim /Remove-ProvisionedAppxPackage /PackageName:Microsoft.Reader_2014.312.322.1510_neutral_~_8wekyb3d8bbwe
Dism /image:d:\wim /Remove-ProvisionedAppxPackage /PackageName:Microsoft.SkypeApp_2014.731.933.5139_neutral_~_kzf8qxf38zg5c
Dism /image:d:\wim /Remove-ProvisionedAppxPackage /PackageName:Microsoft.WindowsReadingList_2014.626.1418.1617_neutral_~_8wekyb3d8bbwe
Dism /image:d:\wim /Remove-ProvisionedAppxPackage /PackageName:Microsoft.WindowsScan_2013.1007.2015.3834_neutral_~_8wekyb3d8bbwe
Dism /image:d:\wim /Remove-ProvisionedAppxPackage /PackageName:Microsoft.XboxLIVEGames_2013.1011.10.5965_neutral_~_8wekyb3d8bbwe
Dism /image:d:\wim /Remove-ProvisionedAppxPackage /PackageName:Microsoft.ZuneMusic_2014.929.2145.59_neutral_~_8wekyb3d8bbwe
Dism /image:d:\wim /Remove-ProvisionedAppxPackage /PackageName:Microsoft.ZuneVideo_2014.1002.954.4888_neutral_~_8wekyb3d8bbwe

Illetve win10 iso-val (lista 2019 Július 24-én frissítve, pár dolgot meghagytam, pl calc):

Dism /image:D:\wim /Remove-ProvisionedAppxPackage /PackageName:Microsoft.549981C3F5F10_1.1911.21713.0_neutral_~_8wekyb3d8bbwe
Dism /image:D:\wim /Remove-ProvisionedAppxPackage /PackageName:Microsoft.Advertising.Xaml_10.1808.3.0_x64__8wekyb3d8bbwe
Dism /image:D:\wim /Remove-ProvisionedAppxPackage /PackageName:Microsoft.BingWeather_4.25.20211.0_neutral_~_8wekyb3d8bbwe
Dism /image:D:\wim /Remove-ProvisionedAppxPackage /PackageName:Microsoft.DesktopAppInstaller_2019.125.2243.0_neutral_~_8wekyb3d8bbwe
Dism /image:D:\wim /Remove-ProvisionedAppxPackage /PackageName:Microsoft.GetHelp_10.1706.13331.0_neutral_~_8wekyb3d8bbwe
Dism /image:D:\wim /Remove-ProvisionedAppxPackage /PackageName:Microsoft.Getstarted_8.2.22942.0_neutral_~_8wekyb3d8bbwe
Dism /image:D:\wim /Remove-ProvisionedAppxPackage /PackageName:Microsoft.HEIFImageExtension_1.0.22742.0_x64__8wekyb3d8bbwe
Dism /image:D:\wim /Remove-ProvisionedAppxPackage /PackageName:Microsoft.Microsoft3DViewer_6.1908.2042.0_neutral_~_8wekyb3d8bbwe
Dism /image:D:\wim /Remove-ProvisionedAppxPackage /PackageName:Microsoft.MicrosoftOfficeHub_18.1903.1152.0_neutral_~_8wekyb3d8bbwe
Dism /image:D:\wim /Remove-ProvisionedAppxPackage /PackageName:Microsoft.MicrosoftSolitaireCollection_4.4.8204.0_neutral_~_8wekyb3d8bbwe
Dism /image:D:\wim /Remove-ProvisionedAppxPackage /PackageName:Microsoft.MicrosoftStickyNotes_3.6.73.0_neutral_~_8wekyb3d8bbwe
Dism /image:D:\wim /Remove-ProvisionedAppxPackage /PackageName:Microsoft.MixedReality.Portal_2000.19081.1301.0_neutral_~_8wekyb3d8bbwe
Dism /image:D:\wim /Remove-ProvisionedAppxPackage /PackageName:Microsoft.MSPaint_2019.729.2301.0_neutral_~_8wekyb3d8bbwe
Dism /image:D:\wim /Remove-ProvisionedAppxPackage /PackageName:Microsoft.NET.Native.Framework.1.7_1.7.25531.0_x64__8wekyb3d8bbwe
Dism /image:D:\wim /Remove-ProvisionedAppxPackage /PackageName:Microsoft.NET.Native.Framework.2.2_2.2.27405.0_x64__8wekyb3d8bbwe
Dism /image:D:\wim /Remove-ProvisionedAppxPackage /PackageName:Microsoft.NET.Native.Runtime.1.7_1.7.25531.0_x64__8wekyb3d8bbwe
Dism /image:D:\wim /Remove-ProvisionedAppxPackage /PackageName:Microsoft.NET.Native.Runtime.2.2_2.2.27328.0_x64__8wekyb3d8bbwe
Dism /image:D:\wim /Remove-ProvisionedAppxPackage /PackageName:Microsoft.Office.OneNote_16001.12026.20112.0_neutral_~_8wekyb3d8bbwe
Dism /image:D:\wim /Remove-ProvisionedAppxPackage /PackageName:Microsoft.People_2019.305.632.0_neutral_~_8wekyb3d8bbwe
Dism /image:D:\wim /Remove-ProvisionedAppxPackage /PackageName:Microsoft.ScreenSketch_2019.904.1644.0_neutral_~_8wekyb3d8bbwe
Dism /image:D:\wim /Remove-ProvisionedAppxPackage /PackageName:Microsoft.Services.Store.Engagement_10.0.18101.0_x64__8wekyb3d8bbwe
Dism /image:D:\wim /Remove-ProvisionedAppxPackage /PackageName:Microsoft.Services.Store.Engagement_10.0.18101.0_x86__8wekyb3d8bbwe
Dism /image:D:\wim /Remove-ProvisionedAppxPackage /PackageName:Microsoft.SkypeApp_14.53.77.0_neutral_~_kzf8qxf38zg5c
Dism /image:D:\wim /Remove-ProvisionedAppxPackage /PackageName:Microsoft.StorePurchaseApp_11811.1001.1813.0_neutral_~_8wekyb3d8bbwe
Dism /image:D:\wim /Remove-ProvisionedAppxPackage /PackageName:Microsoft.UI.Xaml.2.0_2.1810.18004.0_x64__8wekyb3d8bbwe
Dism /image:D:\wim /Remove-ProvisionedAppxPackage /PackageName:Microsoft.VCLibs.140.00.UWPDesktop_14.0.27629.0_x64__8wekyb3d8bbwe
Dism /image:D:\wim /Remove-ProvisionedAppxPackage /PackageName:Microsoft.VCLibs.140.00_14.0.27323.0_x64__8wekyb3d8bbwe
Dism /image:D:\wim /Remove-ProvisionedAppxPackage /PackageName:Microsoft.VP9VideoExtensions_1.0.22681.0_x64__8wekyb3d8bbwe
Dism /image:D:\wim /Remove-ProvisionedAppxPackage /PackageName:Microsoft.Wallet_2.4.18324.0_neutral_~_8wekyb3d8bbwe
Dism /image:D:\wim /Remove-ProvisionedAppxPackage /PackageName:Microsoft.WebMediaExtensions_1.0.20875.0_neutral_~_8wekyb3d8bbwe
Dism /image:D:\wim /Remove-ProvisionedAppxPackage /PackageName:Microsoft.WebpImageExtension_1.0.22753.0_x64__8wekyb3d8bbwe
Dism /image:D:\wim /Remove-ProvisionedAppxPackage /PackageName:Microsoft.Windows.Photos_2019.19071.12548.0_neutral_~_8wekyb3d8bbwe
Dism /image:D:\wim /Remove-ProvisionedAppxPackage /PackageName:Microsoft.WindowsAlarms_2019.807.41.0_neutral_~_8wekyb3d8bbwe
Dism /image:D:\wim /Remove-ProvisionedAppxPackage /PackageName:Microsoft.WindowsCamera_2018.826.98.0_neutral_~_8wekyb3d8bbwe
Dism /image:D:\wim /Remove-ProvisionedAppxPackage /PackageName:Microsoft.windowscommunicationsapps_16005.11629.20316.0_neutral_~_8wekyb3d8bbwe
Dism /image:D:\wim /Remove-ProvisionedAppxPackage /PackageName:Microsoft.WindowsFeedbackHub_2019.1111.2029.0_neutral_~_8wekyb3d8bbwe
Dism /image:D:\wim /Remove-ProvisionedAppxPackage /PackageName:Microsoft.WindowsMaps_2019.716.2316.0_neutral_~_8wekyb3d8bbwe
Dism /image:D:\wim /Remove-ProvisionedAppxPackage /PackageName:Microsoft.WindowsSoundRecorder_2019.716.2313.0_neutral_~_8wekyb3d8bbwe
Dism /image:D:\wim /Remove-ProvisionedAppxPackage /PackageName:Microsoft.WindowsStore_11910.1002.513.0_neutral_~_8wekyb3d8bbwe
Dism /image:D:\wim /Remove-ProvisionedAppxPackage /PackageName:Microsoft.Xbox.TCUI_1.23.28002.0_neutral_~_8wekyb3d8bbwe
Dism /image:D:\wim /Remove-ProvisionedAppxPackage /PackageName:Microsoft.XboxApp_48.49.31001.0_neutral_~_8wekyb3d8bbwe
Dism /image:D:\wim /Remove-ProvisionedAppxPackage /PackageName:Microsoft.XboxGameOverlay_1.46.11001.0_neutral_~_8wekyb3d8bbwe
Dism /image:D:\wim /Remove-ProvisionedAppxPackage /PackageName:Microsoft.XboxGamingOverlay_2.34.28001.0_neutral_~_8wekyb3d8bbwe
Dism /image:D:\wim /Remove-ProvisionedAppxPackage /PackageName:Microsoft.XboxIdentityProvider_12.50.6001.0_neutral_~_8wekyb3d8bbwe
Dism /image:D:\wim /Remove-ProvisionedAppxPackage /PackageName:Microsoft.XboxSpeechToTextOverlay_1.17.29001.0_neutral_~_8wekyb3d8bbwe
Dism /image:D:\wim /Remove-ProvisionedAppxPackage /PackageName:Microsoft.YourPhone_2019.430.2026.0_neutral_~_8wekyb3d8bbwe
Dism /image:D:\wim /Remove-ProvisionedAppxPackage /PackageName:Microsoft.ZuneMusic_2019.19071.19011.0_neutral_~_8wekyb3d8bbwe
Dism /image:D:\wim /Remove-ProvisionedAppxPackage /PackageName:Microsoft.ZuneVideo_2019.19071.19011.0_neutral_~_8wekyb3d8bbwe

További lehetőség a szolgáltatások megnyirbálása:

Dism /Image:d:\win8 /Get-Features >d:\featurelist.txt
Dism /Image:d:\win8 /Disable-Feature /FeatureName:<szolgáltatás neve> /Remove

Ezekután zárhatjuk a telepítőt:
dism /Unmount-Wim /MountDir:D:\wim /commit

Kidobjuk azokat az indexeket (SKU-kat), amiket nem használunk:
Dism /Export-Image /SourceImageFile:D:\Win8\sources\install.wim /SourceIndex:6 /DestinationImageFile:D:\Win8\sources\install1.wim
del D:\Win8\sources\install.wim
rename D:\Win8\sources\install1.wim install.wim

A megújult install.wim így 2019 őszére már egyetlen indexet megtartva is 4 giga fölé hízott. Amennyiben fat32-es pendrivera akarjuk tenni, .esd-vé tömörítjük:
dism /export-image /SourceImageFile:D:\win8\install.wim /SourceIndex:1 /DestinationImageFile:D:\win8\install.esd /Compress:recovery /CheckIntegrity
vagy 4000MB-os darabokra vágjuk:
Dism /Split-Image /ImageFile:D:\Win8\sources\install.wim /SWMFile:D:\Win8\sources\install.swm /FileSize:4000
(utóbbi módszert nem mindegyik gép kajálja be)
Töröljük a feleslegessé vált install.wim -et a \sources-ből.

Az így elkészített d\win8 tartalmát teljes egészében egy frissen fat32-re formázott pendrivera másoljuk (GPT/UEFI telepítő). Ha MBR/BIOS telepítőt szeretnénk, akkor érdemes ntfs-re formázni a pendriveot (így véletlen se lesz GPT a végeredmény) - ezesetben még szükség lesz a bootloaderre:

DISKPART
list disk
SELECT DISK <ide a pendrivehoz tartozó indexet>
CLEAN
CREATE PARTITION PRIMARY
SELECT PARTITION 1
ACTIVE
FORMAT FS=NTFS
ASSIGN
EXIT

utána:
d:
cd d:\win8\boot
BOOTSECT.EXE /NT60 <ide a pendrive betűjele>:

Itt kész is lennénk, de modern korunk további buktatókkal készül - avagy ha GPT/UEFI telepítőt szeretnék csinálni, hogyan tegyünk egy nagy (pl 64gigás) pendrivera Fat32 partíciót?

Megoldás: ismét Diskpart:
DISKPART
list disk
SELECT DISK <ide a pendrivehoz tartozó indexet>
CLEAN
CREATE PARTITION PRIMARY size=12000
SELECT PARTITION 1
ACTIVE
FORMAT FS=FAT
ASSIGN
EXIT

Ezekután simán átmásoljuk az anyagot és mehet a telepítés. Egyszerű, nem :F

Hozzászólások

(#1) t72killer


t72killer
titán

Frissítve.

"A win98 biztonságos, ui már vírust sem írnak rá 10 éve."

(#2) Geth válasza t72killer (#1) üzenetére


Geth
őstag

Win10-hez.

Frissítéseket sajnos nem csak ennyi integrálni :(
A .1 imageből kell kiindulni, mert különben csak gyűjti a szemetet, ezért is örülünk a cumulative update-eknek.
Először mindig a servicing stacket kell integrálni, a többi mehet utána.

Nem csak az install.wim-et érdemes frissíteni, hanem a boot.wim indexeit is (oda értelemszerűen nem tudod mindegyik frissítést rátolni, pl. a flash player update-t nyilván nem).

Az install.wim-en belül érdemes a winre.wim-et is frissíteni a boot.wim-hez hasonlóan. Nem túl szerencsés, ha a recovery környezet régebbi mint maga az OS :)

Én rá szoktam tolni egy resetbase-t az imagekre (ez most oké, pl. a 1809-nél problémás volt), tovább csökkenti a méretet. Viszont ha kell .NET 3.5 is, az jelentősen bonyolítja a dolgot:
frissítések, resetbase után megy a .NET 3.5, majd újra kell tolni a cumulative updatet + a .NET cumulative update-t, de utána már nem lehet cleanupot kérni, resetbase ide vagy oda.
Érdemes megnézni/használni abbodi1406 W10UI scriptjét. Én a .bat-ot rühellem, át is írtam powershellre :)

Pucolásnál úgy látom rengeteg kulcsfontosságú dolgot kiszedsz (.NET Native Framework, VCLibs, Store, codecek, stb). Ez nem biztos hogy jó ötlet. Mindig nagy nevetés van amikor jön a kolléga hogy telepítene valamit a Store-ból mert kiderült hogy mégis szüksége van rá, csak éppen nincs Store :D
Amúgy a meghagyott calc se fog frissülni nélküle, nem tudom ez cél volt-e.

[ Szerkesztve ]

További hozzászólások megtekintése...
Copyright © 2000-2020 PROHARDVER Informatikai Kft.