Amikor régi gépet frissítünk helyben újabb Windows-ra szükségessé válhat némi extra átalakítás is. Anno a Windows 7 és elődjei korában BIOS alapú gépeket használtunk, amelyhez a lemezt MBR-es sémára formázta a telepítő, előfordulhat azonban, hogy régi gépünkből szeretnénk a rendszert megmentve áttelepülni egy új gépre és esetleg az adataink, programjaink meghagyásával Windows 10-re frissíteni. Ma már ez nem egy lehetetlen feladat, a Windows 10-re való közvetlen frissítést érdemes a régi gépünkben megkezdeni, majd miután az új rendszer felállt átszerelhetjük a lemezt egy új gépbe.
Ilyenkor fordulhat elő egy olyan szituáció, amibe a minap egy Windows Server 2012 R2-vel futottam. Itt a dolgon még külön csavart egyet, hogy egy régi Windows Server 2008 R2-ről kellett frissítenem, ráadásul egy 1. generációs Hyper-V virtuális gépről áttérni egy 2. generációs virtuális gépre. Ennek előnye, hogy míg a régi még IDE módban kezelte a lemezeket, az új már kizárólag SCSI-val dolgozik, számtalan újítást és biztonsági fejlesztést is tartalmaz, és mivel a lemezteljesítmény nagyon gyatra volt így nem volt kérdés az irány. Itt elsőként egy VHD-ból VHDX-be konvertálással indult a meló, ebben segítségemre volt a Powershell. Viszont a VHDX nem indult el csak ugyanúgy a régi gen1-es virtuális gépben, IDE módban, így nem jutottam előrébb. Csináltam hát egy gen2-est, ahol viszont a régi 2008 R2-ből örökölt BIOS/MBR lemez meg se nyekkent. Mielőtt bárki otthoni felhasználó tovább is kattintana gyorsan elárulom, a 2008 R2 a Windows 7 alapjaira épül, a 2012 R2 pedig a Windows 8.1 alapjaira, a parancsok pedig Server 2016/Windows 10 esetében ugyanazok. Tehát a gyakorlatban ez a módszer nekem ugyan egy Server 2012 R2 alatt működött, azonban kliensnél elvben ugyanúgy jó.
Miután első körben az UEFI-s rendszerindításhoz GPT lemezt kell gyártani, amiben pedig a beépített Windows-os alkalmazások nem lesznek segítségünkre (csak lemezt törölni, újraformázni lehet a lemezkezelőben adatvesztés árán), ezért az adatokkal teli lemezen egy 3rd party megoldást kellett választanom. Erre szinte mindenhol az AOMEI Partition Assistant nevét dobja fel a Google. (Nekem a server változat kellett belőle, kliens gépre MBR/GPT konverzióhoz bármelyik megfelel.) Tehát első körben ezzel elvégeztem a lemezen az MBR/GPT átalakítást, mivel VHDX fájlban lakott a rendszerem, ami képtelen volt elindulni, ezért a Hyper-V hosztra két kattintással csatlakoztattam a virtuális lemezt, majd a hosztra telepített Partition Assistant segítségével konvertáltam és végül lecsatoltam a lemezt, de előtte még egy 100MB-ot lenyestem a C meghajtó végéből a lemezkezelő kötet zsugorítása opciójával.
Ezt követően betettem a gépbe a Windows eredeti telepítőlemezét, majd innen indítottam, kiválasztottam a rendszer javítása opciót és ott a parancssort. Ekkor jött a varázslat, ezek a parancsok szépen sorjában:
- Diskpart
- List disk
- Select disk
- List partition
- Create partition efi
- Format quick fs=fat32
- List partition
- List volume (itt ki kell keresni melyik betűjel alatt van a Windows telepítés, esetemben a D-n)
- Exit
- bcdboot D:/windows (A “D” helyére azt a betűjelet kell írni, amelyiken a Windows mappa található).
Ezt követően pedig már csak egy újraindítás volt hátra és mivel az utolsó parancs sikeresen megírta nekem az EFI rendszertöltőmet, így a Windows-om sikeresen elindult.
A végére annyit jegyeznék meg, hogy egy nem virtuális gépen, hanem normál PC-n, ahol van lehetőség a gép BIOS-ában (illetve UEFI-jében) a BIOS mód és az UEFI mód közti váltásra ott akár a BIOS módba kapcsolással is egyszerűen indíthatóvá lehetett volna tenni a rendszert, nekem Hyper-V alatt erre esélyem se volt, mivel éppen ez az egyik fontos különbség az 1. és 2. generációs virtuális gépek közt. Viszont ebből a BIOS mód/UEFI mód közti váltásból adódik, hogy a BIOS/MBR átalakítást megelőzően a gépünk csak BIOS módban (más néven legacy módban) fog tudni elindulni, ezt követően viszont feltétlen UEFI kell neki. Tehát ha az egész művelet kezdetekor még legacy módban volt a gép BIOS-a, akkor az átalakítás után a sikeres rendszerindításhoz még lépjünk be és állítsuk azt át UEFI-re. Így már menni fog.