How to transfer windows on new disk controller (SCSI,RAID,PATA,SATA) without reinstallation from zero or in upgrade mode

For it is done successfuly - it is needed understand syntax of making .inf files.


Algorithm:

--------------------------------------------------------------------------------------
a. to investigate inf file of controller and to do all, that is writed there by yourself (work with files and registry).

b.узнать из inf файла (или с помощью WINPE) HardwareID и прописать его в HKLM\SYSTEM\CONTROL\CRITICALDEVICEDATABASE.
в этом же разделе прописать параметры ClassGUID -соответствующий SCSI(рис.k) и Service.

b. to know from inf file (or by means of WINPE) HardwareID and write it in HKLM\SYSTEM\CONTROL\CRITICALDEVICEDATABASE. In the same section it is needed to write parameters ClassGUID-associated with SCSI (image k) and Service


c. remove parameters in HKLM\SYSTEM\MountedDevices. remove parameter HKEY_LOCAL_MACHINE\SYSTEM\Select\SystemPartition


d. (if PATA IDE or SATA IDE) write in CRITICALDEVICEDATABASE atapi,pciide,intelide (and some others) and copy their *.sys files (It is described in Microsoft kb314082. But we do not need all from there, this set is enough. )


e. copy WINDOWS on new controller. reboot. ready.


f. if new controller is already presented in device manager then points a,b,d may be omited.

-------------------------------------------------------------------------------------
For example let`s take as a new controller SATA RAID Sil 3114:

image.1 iamge.2 image.3 image.4 image.5 image.6 image.7 image.8 image.9 image.10 image.11 image.12 image.13 image.14 image.15
in process working with inf file, for successful installation disk controller it must done records in three sections in registry:

Class
Critical Device Database
Service
if we transfer windows on pata ide controller (sata ide controller) then we may do not inverstigate inf file. new controller may be writed in registry as "standart ide controller"


it is serviced by atapi.sys pciide.sys pciidex.sys, they must be presented in system32\drivers. Class in this case equals "IDE ATA/ATAPI controllers". In Critical Device Database write pci#ven_xxxx&dev_yyyy, where ven_xxxx&dev_yyyy may be quickly determined in winpe (winpe must be started on new controller) or in controller`s inf file (usually in chipset drivers files of motherboard). In service must be writed PCIIDE. And service PCIIDE must be set as "load and start while booting", that is HKLM\SYSTEM\CurrentControlSet\Services\PCIIde\Start=0.


Class always contain such fields as:

DriverDate
DriverDesc
DriverVersion
InfPath
InfSection
MatchingDeviceID
ProviderName

Their values always may be found in drivers`s inf file. From above decribed fields minimally is needed:

DriverDesc
InfPath
InfSection
MatchingDeviceID

Type of all this parameters is REG_SZ
example for Class:


DriverDesc, REG_SZ, Multiprocessor computer with ACPI
InfPath, REG_SZ, hal.inf
InfSection, REG_SZ, ACPIAPIC_MP_HAL -entrance point
MatchingDeviceID, REG_SZ, acpiapic_mp -most difficult to dermination from inf file, usually it must be added in Critical Device Database if we have section in SERVICE-as i suppose.

how to determine DriverDesc and MatchingDeviceID. Search in inf file such string

xxxxxxxxxx.DeviceDesc=yyyyyyyyyy
xxxxxxxxxx=MatchingDeviceID
yyyyyyyyyy=DriverDesc

in section Service write all that is in inf.

pay attention: ImagePath=type REG_EXPAND_SZ


in section Critical Device Database
to left MatchingDeviceID (section), to right (parameters) ClassGUID=class, Service=service.

in inf file :
0x00000000=REG_SZ
0x00020000=REG_EXPAND_SZ
0x00010001=DWORD

as i think section [hdc] in inf is needed windows for determine entrance point by ENUM/PCI/Vendor&dev&Subsys

about syntax - in inf file record HKR=текущее положение в реестре.
usually chipset`s drivers is packed in install shield format in .cab files. It can be unpacked by means of program WINPACK (freeware) or ZIPSCAN

:)
upgraded algorithm:
a.control panel-installation new hardware-indicate inf file of new controller.

b.remove parameters in HKLM\SYSTEM\MountedDevices. Remove parametr HKEY_LOCAL_MACHINE\SYSTEM\Select\SystemPartition

c.copy WINDOWS on new controller.reboot.ready.

d. if new controller is already presented in device manager then poin a may be omitted.


:)

For successful booting WINDOWS on new disk controller usually enough from ALREADY WORKING ON NEW DISK CONTROLLER another WINDOWS

1) copy files from System32, System32\drivers

2) copy CriticalDeviceDataBase

3) copy Services

In points 1,2,3 we naturally must copy only that files and parameters that is associated to new disk controller. (Example. If we can`t by hand properly to add driver of new disk controller then we can fastly install new windows from zero to new disk controller and after this we can transfer needed files and parameters from zero windows to our windows).


:)

it was done backup from powered on ,working computer by means of ntbackup through LAN.

after all needed steps on new computer was pop up BSOD


stop: c000021a

blabla session manager initialization 0xc000026c {0x000 000 00 0x 000 000 00}


error is resolved by replace corrupted (why?) file


WINDOWS\system32\win32k.sys !:)



:)

windows 2003 was installed on fat32. It was done backup by means of ntbackup. Transfer on another computer on ntfs, but aftep login password i had instantaneous logout. Later I see:). Logout was proceed because of permissions on files and folders on partition where i installed windows was as: system-full, administrators-full, users-read,execute. ( because such permissions was by default on root folder of ntfs partition and was inherited on all files and folders, and i extracted without option "restore security parameters". After this i change permissions on root directory: all-full. And it was worked :)!.

Then i checked. If i ntbackuped files from fat32 then restore with option "restore security parameters" on ntfs, then permissions was restored as all-full. And not important what permissions was on root directory of ntfs partition before restoration. That is if i was restore at first from fat32 with option "restore security parameters" then i would not have problem login-logout-loop.


Сайт управляется системой uCoz