Reparere oppstartspartisjoner for Windows PCer


Nyttig ved f.eks. kloning mellom maskiner eller mislykkede windows oppdateringer m.m.

Fiksing av GPT UEFI oppstartspartisjoner for Windows ved å gj.oppbygge ESP (EFI System Partition):
DISKPART> list disk
DISKPART> sel disk 0 (vanligvis)
DISKPART> detail disk
DISKPART> sel vol 2 (vanligvis)
DISKPART> del par override
DISKPART> create par efi (og f.eks. size=500 hvis du vil begrense størrelse).
DISKPART> format fs=fat32 quick label="ESP"
DISKPART> set id=c12a7328-f81f-11d2-ba4b-00a0c93ec93b (egentlig ikke nødvendig).
DISKPART> assign letter k
DISKPART> exit

//
// Gj.oppbygging av EFI bootfiler til nybakt partisjon (oftest det eneste man trenger i tillegg til partisjonen ovenfor).
//
C:\> bcdboot c:\windows /s K: /f ALL

//
// Sette BCD konfigurasjon til nybakt partisjon (vanligvis ikke nødvendig).
// Sjekk med kun bcdedit for å se at ESP peker greit til C partisjon, oftest er ting OK allerede.
// Men dersom du må korrigere:
//
C:\> bcdedit /set {bootmgr} device partition=K:

	^ NOTAT:
	  Dersom du får "system device not found" booter du på nytt via UEFI dersom du bootet fra MBR og nettopp konvertert til EFI, og prøver igjen.


Det samme bare for MBR installasjoner:
Fikse windows 10 MBR basert installasjon.
=========================================
1)
	alternativ a) Fjern alle ekstra partisjoner utenom OS.
		diskpart > sel disk N > sel vol N > active

	alternativ b) Opprett en minst 500mb NTFS partisjon innenfor 2TB område og sett som aktiv.
		diskpart > sel disk N > sel vol N (C) > shrink desired=1024
		create par pri
		format fs=ntfs quick label=SYSTEM
		assign letter k
		active

2)* X:\> bootsect /nt60 k: /force /mbr
	NOTAT: (Ny MBR bootcode trengs kun hvis den har blitt korrupt,
	       initialisering av MBR disker oppretter denne allerede).

4)* X:\> bcdboot c:\windows /s k: /f ALL

*) Bruk c hvis alternativ a med kun 1 partisjon, k hvis alternativ b med egen systempartisjon.
Hvis det blir flere oppstartsvalg i etterkant, kan de finnes og fjernes med bcdedit.


Man ser lett forskjell på MBR og EFI/UEFI systemer ved å sjekke partisjonstyper.
Oppstartspartisjon i NTFS = MBR, hvis FAT32 = EFI/UEFI.

Dette er fordi UEFI trenger å laste inn driver for NTFS før Windows kan laste, som de fleste hovedkort ikke inkluderer.

Dette er ikke one-size-fits-all løsning, da det kan være litt forskjellig kontekster hvor oppstartsproblemer finnes, men det vil være en kjerneløsning som kan løse alt av oppstartsproblemer direkte tilknyttet mislykkede kloninger, kloninger mellom PCer med forskjellig MBR/EFI oppsett osv. så lenge Windows sine BCD filer er intakte og at systemet ikke er for ødelagt. Hvor det evt. blir en helt annen problemstilling uansett, hvor reinstallering/gj.oppretting fra backup antagelig er eneste løsning. Ett unntak er problematiske drivere som amd/intel som f.eks. kan deaktiveres via autoruns i et WinPE miljø. Eller HDD/SSD hvor man kan/må sørge for i register at NVMEe driveren starter hvis man har klonet fra SATA, som kan ordnes ved å gjøre dette før kloning:
C:\> sc config stornvme start= boot



Jeg gjør dette mange ganger ila et år i jobbsammenheng og har også laget et skript for konvertering av MBR til EFI med automatisering av ting ovenfor (brukes forsiktig og med nøye vurdering).

Konverter Systempartisjon fra BIOS til UEFI (Kjør som ADMIN) v2.cmd
@echo off
chcp 65001 >nul 2>&1
color 0b

echo.
echo	 SKRIPT FOR KONVERTERING AV SYSTEMPARTISJON FRA BIOS TIL UEFI
echo	 Eksempelvis etter kloning fra gamle til nye datamaskiner.
echo.
echo	 Skriptet lar deg velge partisjoner for et automatisk oppsett.
echo	 HUSK: Kjør skriptet kun fra ISO eller WinRE stikke via UEFI.
echo.
pause

REM Valg av systemdisk.
echo list disk | diskpart
echo.
echo.
echo	 VELG SYSTEMDISK (Dobbeltsjekk også at disk har en asterisk(*) under GPT):
set /p diskvalg="Angi nummer:"

REM Valg av systempartisjon.
(echo sel disk %diskvalg%&echo det disk) | diskpart
echo.
echo.
echo	 VELG VOLUM (Eksisterende SYSTEMPARTISJON, typisk ~100-500MB NTFS):
set /p sysparvalg="Angi nummer:"

REM Valg av OS partisjon, slik at bokstav C kan settes eksplisitt.
(echo sel disk %diskvalg%&echo det disk) | diskpart
echo.
echo.
echo	 VELG VOLUM (Eksisterende OPERATIVSYSTEM partisjon, typisk størst og NTFS):
set /p osparvalg="Angi nummer:"

REM Oppdater bruker på hva som nå skal skje.
echo.
echo	 Skriptet kommer nå til å passe på at OS volum har C som bokstav.
echo	 Deretter konverteres gammel systempartisjon til EFI type m/nye systemfiler.
echo.
pause

REM Oppdater diskens partisjonslayout fra MBR til GPT uten datatap.
mbr2gpt /convert /disk:%diskvalg% 

REM Oppdater stasjonsbokstav for OS disk slik at vi kan bruke den riktig i bcdboot senere.
(echo sel disk %diskvalg%
echo sel vol %osparvalg%
echo remove all
echo assign letter c
) | diskpart

REM Fjern gammel partisjonsdata og opprett en ny EFI m/systemfiler.
(echo sel disk %diskvalg%
echo sel vol %sysparvalg%
echo del par override
echo create par efi
echo format fs=fat32 quick label=ESP
echo assign letter k
) | diskpart
bcdboot c:\windows /s k: /f all
bcdedit

echo.
echo.
echo Ferdig. Hvis alt ser greit ut kan du prøve å starte systemet. 
pause



Publisert: 16.aug.2023 11:34 | Oppdatert: 21.aug.2023 11:53.
Windows

Erklæring om bruk av informasjonskapsler/cookies

Ditt personvern er ivaretatt; Informasjonskapsler brukes kun for funksjon.

Tredjeparter som har sine egne erklæringer:
Site Stats
OK / Skjul