To summarize, you’ll need to create a /diskpartition directory inside BartPE’s /plugins directory. Inside the /diskpartition directory, create a text file named diskpartition.inf.
[Version]
Signature= "$Windows NT$"</div>
[PEBuilder]
Name="Diskpart functionality in Win2k3 - SP1 only"
; Assisted with this understanding was:
; http://support.microsoft.com/?kbid=910380
; http://technet2.microsoft.com/WindowsServer/en/Library/89c3a36a-d3e2-4462-8893-7a384b118c6b1033.mspx
; http://windowssdk.msdn.microsoft.com/library/default.asp?url=/library/en-us/vds/base/vds_interfaces.asp
Enable=1
[SourceDisksFiles]
Ftdisk.sys=4
Partmgr.sys=4
Volsnap.sys=4
Swprv.dll=2
Eventcls.dll=2
Vssadmin.exe=2
Vssapi.dll=2
Vssui.dll=2
Vssvc.exe=2
Vss_ps.dll=2
Diskpart.exe=2
[Default.AddReg]
; Runs dependent DLL registration for Application usage
; 0x1= REG_SZ
; 0x2= REG_EXPAND_SZ
; 0x1, "Software\Microsoft\Windows\CurrentVersion\Run", "DiskPartSupport", "%systemroot%\system32\regsvr32.exe /s %systemroot%\system32\vss_ps.dll"
; removed because the reg key is not read unless you use explorer as a shell.
[SetupReg.AddReg.3790]
; Win2k3 SP1 Only: RpcSS needs to lanuch DComLaunch Service first.
0x7, "ControlSet001\Services\RpcSs","DependOnService","DcomLaunch"
; New DComLaunch Service in Win2k3 SP1
0x1,"ControlSet001\Services\DcomLaunch","Description","DCOM Services"
0x1,"ControlSet001\Services\DcomLaunch","DisplayName","DCOM Services"
0x4,"ControlSet001\Services\DcomLaunch","ErrorControl",0x1
0x1,"ControlSet001\Services\DcomLaunch","Group","<a target="_blank">Event Log</a>"
0x2,"ControlSet001\Services\DcomLaunch","ImagePath","svchost -k DcomLaunch"
0x1,"ControlSet001\Services\DcomLaunch","ObjectName","LocalSystem"
0x4,"ControlSet001\Services\DcomLaunch","Start",0x2
0x4,"ControlSet001\Services\DcomLaunch","Type",0x20
0x3,"ControlSet001\Services\DcomLaunch","FailureActions",\
00,00,00,00,00,00,00,00,00,00,00,00,01,00,00,00,00,00,00,00,02,00,00,00,60,\
ea,00,00
0x1,"ControlSet001\Services\DcomLaunch\Enum","0","Root\LEGACY_DCOMLAUNCH000"
0x4,"ControlSet001\Services\DcomLaunch\Enum","Count",0x1
0x4,"ControlSet001\Services\DcomLaunch\Enum","NextInstance",0x1
0x2,"ControlSet001\Services\DcomLaunch\Parameters","ServiceDll","rpcss.dll"
0x3,"ControlSet001\Services\DcomLaunch\Security","Security",\
01,00,14,80,b4,00,00,00,c0,00,00,00,14,00,00,00,34,00,00,00,02,00,20,00,01,\
00,00,00,02,80,18,00,ff,01,0f,00,01,01,00,00,00,00,00,01,00,00,00,00,20,02,\
00,00,02,00,80,00,05,00,00,00,00,03,18,00,8d,00,02,00,01,01,00,00,00,00,00,\
01,00,00,00,00,00,00,00,00,00,03,18,00,ff,01,0f,00,01,02,00,00,00,00,00,05,\
20,00,00,00,20,02,00,00,00,03,18,00,8f,00,02,00,01,02,00,00,00,00,00,05,20,\
00,00,00,23,02,00,00,00,03,18,00,9d,00,00,00,01,01,00,00,00,00,00,05,04,00,\
00,00,23,02,00,00,00,03,18,00,9d,00,00,00,01,02,00,00,00,00,00,05,20,00,00,\
00,21,02,00,00,01,01,00,00,00,00,00,05,12,00,00,00,01,01,00,00,00,00,00,05,\
12,00,00,00
0x1,"ControlSet001\Enum\Root\LEGACY_DCOMLAUNCH000","Service","DcomLaunch"
0x4,"ControlSet001\Enum\Root\LEGACY_DCOMLAUNCH000","Legacy",0x1
0x4,"ControlSet001\Enum\Root\LEGACY_DCOMLAUNCH000","ConfigFlags",0x0
0x1,"ControlSet001\Enum\Root\LEGACY_DCOMLAUNCH000","Class","LegacyDriver"
0x1,"ControlSet001\Enum\Root\LEGACY_DCOMLAUNCH000","ClassGUID","{8ECC055D-047F-11D1-A537-0000F8753ED1}"
0x1,"ControlSet001\Enum\Root\LEGACY_DCOMLAUNCH000","DeviceDesc","DCOM Services."
0x1,"ControlSet001\Enum\Root\LEGACY_DCOMLAUNCH000\Control","ActiveService","DcomLaunch"
0x4,"ControlSet001\Enum\Root\LEGACY_DCOMLAUNCH","NextInstance",0x1
[Software.AddReg]
0x1,"Classes\CLSID\{E0393303-90D4-4A97-AB71-E9B671EE2729}",,"VDS ProxyStub"
0x2,"Classes\CLSID\{E0393303-90D4-4A97-AB71-E9B671EE2729}\InprocServer32",,"%SystemRoot%\System32\vds_ps.dll"
0x1,"Classes\CLSID\{E0393303-90D4-4A97-AB71-E9B671EE2729}\InprocServer32","ThreadingModel","Both"
0x1,"Classes\CLSID\{F2C2787D-95AB-40D4-942D-298F5F757874}",,"PSFactoryBuffer"
0x2,"Classes\CLSID\{F2C2787D-95AB-40D4-942D-298F5F757874}\InprocServer32",,"%SystemRoot%\System32\vds_ps.dll"
0x1,"Classes\CLSID\{F2C2787D-95AB-40D4-942D-298F5F757874}\InprocServer32","ThreadingModel","Both"
0x1,"Classes\Interface\{88306BB2-E71F-478C-86A2-79DA200A0F11}",,"IVdsVolume"
0x1,"Classes\Interface\{88306BB2-E71F-478C-86A2-79DA200A0F11}\ProxyStubClsid32",,"{E0393303-90D4-4A97-AB71-E9B671EE2729}"
0x1,"Classes\Interface\{9882F547-CFC3-420B-9750-00DFBEC50662}",,"IVdsCreatePartitionEx"
0x1,"Classes\Interface\{9882F547-CFC3-420B-9750-00DFBEC50662}\ProxyStubClsid32",,"{E0393303-90D4-4A97-AB71-E9B671EE2729}"
0x1,"Classes\Interface\{98F17BF3-9F33-4F12-8714-8B4075092C2E}",,"IVdsHwProviderPrivate"
0x1,"Classes\Interface\{98F17BF3-9F33-4F12-8714-8B4075092C2E}\ProxyStubClsid32",,"{E0393303-90D4-4A97-AB71-E9B671EE2729}"
0x1,"Classes\Interface\{9AA58360-CE33-4F92-B658-ED24B14425B8}",,"IVdsSwProvider"
0x1,"Classes\Interface\{9AA58360-CE33-4F92-B658-ED24B14425B8}\ProxyStubClsid32",,"{E0393303-90D4-4A97-AB71-E9B671EE2729}"
0x1,"Classes\Interface\{CB53D96E-DFFB-474A-A078-790D1E2BC082}\ProxyStubClsid32",,"{E0393303-90D4-4A97-AB71-E9B671EE2729}"
0x1,"Classes\Interface\{D188E97D-85AA-4D33-ABC6-26299A10FFC1}",,"IVdsAdmin"
0x1,"Classes\Interface\{D188E97D-85AA-4D33-ABC6-26299A10FFC1}\ProxyStubClsid32",,"{E0393303-90D4-4A97-AB71-E9B671EE2729}"
0x1,"Classes\Interface\{D5D23B6D-5A55-4492-9889-397A3C2D2DBC}",,"IVdsAsync"
0x1,"Classes\Interface\{D5D23B6D-5A55-4492-9889-397A3C2D2DBC}\ProxyStubClsid32",,"{E0393303-90D4-4A97-AB71-E9B671EE2729}"
0x1,"Classes\Interface\{D99BDAAE-B13A-4178-9FDB-E27F16B4603E}",,"IVdsHwProvider"
0x1,"Classes\Interface\{D99BDAAE-B13A-4178-9FDB-E27F16B4603E}\ProxyStubClsid32",,"{E0393303-90D4-4A97-AB71-E9B671EE2729}"
0x1,"Classes\Interface\{DAEBEEF3-8523-47ED-A2B9-05CECCE2A1AE}",,"IVdsMaintenance"
0x1,"Classes\Interface\{DAEBEEF3-8523-47ED-A2B9-05CECCE2A1AE}\ProxyStubClsid32",,"{E0393303-90D4-4A97-AB71-E9B671EE2729}"
0x1,"Classes\Interface\{E0393303-90D4-4A97-AB71-E9B671EE2729}",,"IVdsServiceLoader"
0x1,"Classes\Interface\{E0393303-90D4-4A97-AB71-E9B671EE2729}\ProxyStubClsid32",,"{E0393303-90D4-4A97-AB71-E9B671EE2729}"
0x1,"Classes\Interface\{9882F547-CFC3-420B-9750-00DFBEC50662}",,"IVdsCreatePartitionEx"
0x1,"Classes\Interface\{9882F547-CFC3-420B-9750-00DFBEC50662}\ProxyStubClsid32",,"{E0393303-90D4-4A97-AB71-E9B671EE2729}"
0x1,"Classes\Interface\{E0393303-90D4-4A97-AB71-E9B671EE2729}",,"IVdsServiceLoader"
0x1,"Classes\Interface\{E0393303-90D4-4A97-AB71-E9B671EE2729}\ProxyStubClsid32",,"{E0393303-90D4-4A97-AB71-E9B671EE2729}"
0x1,"Classes\Interface\{0EE1A790-5D2E-4ABB-8C99-C481E8BE2138}",,"IVdsLunPlex"
0x1,"Classes\Interface\{0EE1A790-5D2E-4ABB-8C99-C481E8BE2138}\ProxyStubClsid32",,"{E0393303-90D4-4A97-AB71-E9B671EE2729}"
0x1,"Classes\Interface\{0EE1A790-5D2E-4ABB-8C99-C481E8BE2138}",,"IVdsLunPlex"
0x1,"Classes\Interface\{0EE1A790-5D2E-4ABB-8C99-C481E8BE2138}\ProxyStubClsid32",,"{E0393303-90D4-4A97-AB71-E9B671EE2729}"
0x1,"Classes\Interface\{0818A8EF-9BA9-40D8-A6F9-E22833CC771E}",,"IVdsService"
0x1,"Classes\Interface\{0818A8EF-9BA9-40D8-A6F9-E22833CC771E}\ProxyStubClsid32",,"{E0393303-90D4-4A97-AB71-E9B671EE2729}"
0x1,"Classes\Interface\{07E5C822-F00C-47A1-8FCE-B244DA56FD06}",,"IVdsDisk"
0x1,"Classes\Interface\{07E5C822-F00C-47A1-8FCE-B244DA56FD06}\ProxyStubClsid32",,"{E0393303-90D4-4A97-AB71-E9B671EE2729}"
0x1,"Classes\Interface\{0316560B-5DB4-4ED9-BBB5-213436DDC0D9}",,"IVdsRemovable"
0x1,"Classes\Interface\{0316560B-5DB4-4ED9-BBB5-213436DDC0D9}\ProxyStubClsid32",,"{E0393303-90D4-4A97-AB71-E9B671EE2729}"
0x1,"Classes\Interface\{3540A9C7-E60F-4111-A840-8BBA6C2C83D8}",,"IVdsLun"
0x1,"Classes\Interface\{3540A9C7-E60F-4111-A840-8BBA6C2C83D8}\ProxyStubClsid32",,"{E0393303-90D4-4A97-AB71-E9B671EE2729}"
0x1,"Classes\Interface\{33B87426-5C06-49F4-84BD-F486B1B4A21D}",,"IVdsMigrateDisks"
0x1,"Classes\Interface\{33B87426-5C06-49F4-84BD-F486B1B4A21D}\ProxyStubClsid32",,"{E0393303-90D4-4A97-AB71-E9B671EE2729}"
0x1,"Classes\Interface\{11F3CD41-B7E8-48FF-9472-9DFF018AA292}",,"IVdsProviderPrivate"
0x1,"Classes\Interface\{11F3CD41-B7E8-48FF-9472-9DFF018AA292}\ProxyStubClsid32",,"{E0393303-90D4-4A97-AB71-E9B671EE2729}"
0x1,"Classes\Interface\{118610B7-8D94-4030-B5B8-500889788E4E}",,"IEnumVdsObject"
0x1,"Classes\Interface\{118610B7-8D94-4030-B5B8-500889788E4E}\ProxyStubClsid32",,"{E0393303-90D4-4A97-AB71-E9B671EE2729}"
0x1,"Classes\Interface\{10C5E575-7984-4E81-A56B-431F5F92AE42}",,"IVdsProvider"
0x1,"Classes\Interface\{10C5E575-7984-4E81-A56B-431F5F92AE42}\ProxyStubClsid32",,"{E0393303-90D4-4A97-AB71-E9B671EE2729}"
0x1,"Classes\Interface\{E882C452-CF37-482A-BBFF-E6EE614E8023}",,"IVdsSwProviderPrivate"
0x1,"Classes\Interface\{E882C452-CF37-482A-BBFF-E6EE614E8023}\ProxyStubClsid32",,"{E0393303-90D4-4A97-AB71-E9B671EE2729}"
0x1,"Classes\Interface\{EE2D5DED-6236-4169-931D-B9778CE03DC6}",,"IVdsVolumeMF"
0x1,"Classes\Interface\{EE2D5DED-6236-4169-931D-B9778CE03DC6}\ProxyStubClsid32",,"{E0393303-90D4-4A97-AB71-E9B671EE2729}"
0x1,"Classes\Interface\{FF24EFA4-AADE-4B6B-898B-EAA6A20887C7}",,"IVdsDrive"
0x1,"Classes\Interface\{FF24EFA4-AADE-4B6B-898B-EAA6A20887C7}\ProxyStubClsid32",,"{E0393303-90D4-4A97-AB71-E9B671EE2729}"
0x1,"Classes\Interface\{3B69D7F5-9D94-4648-91CA-79939BA263BF}",,"IVdsPack"
0x1,"Classes\Interface\{3B69D7F5-9D94-4648-91CA-79939BA263BF}\ProxyStubClsid32",,"{E0393303-90D4-4A97-AB71-E9B671EE2729}"
0x1,"Classes\Interface\{4AFC3636-DB01-4052-80C3-03BBCB8D3C69}",,"IVdsServiceInitialization"
0x1,"Classes\Interface\{4AFC3636-DB01-4052-80C3-03BBCB8D3C69}\ProxyStubClsid32",,"{E0393303-90D4-4A97-AB71-E9B671EE2729}"
0x1,"Classes\Interface\{4DAA0135-E1D1-40F1-AAA5-3CC1E53221C3}",,"IVdsVolumePlex"
0x1,"Classes\Interface\{4DAA0135-E1D1-40F1-AAA5-3CC1E53221C3}\ProxyStubClsid32",,"{E0393303-90D4-4A97-AB71-E9B671EE2729}"
0x1,"Classes\Interface\{54D1F9E3-7FD3-421A-AF9C-53C2D8EE5BCF}",,"IVdsOwnershipChangeQuery"
0x1,"Classes\Interface\{54D1F9E3-7FD3-421A-AF9C-53C2D8EE5BCF}\ProxyStubClsid32",,"{E0393303-90D4-4A97-AB71-E9B671EE2729}"
0x1,"Classes\Interface\{6E6F6B40-977C-4069-BDDD-AC710059F8C0}\ProxyStubClsid32",,"{E0393303-90D4-4A97-AB71-E9B671EE2729}"
0x1,"Classes\Interface\{6FCEE2D3-6D90-4F91-80E2-A5C7CAACA9D8}",,"IVdsSubSystem"
0x1,"Classes\Interface\{6FCEE2D3-6D90-4F91-80E2-A5C7CAACA9D8}\ProxyStubClsid32",,"{E0393303-90D4-4A97-AB71-E9B671EE2729}"
0x1,"Classes\Interface\{8326CD1D-CF59-4936-B786-5EFC08798E25}",,"IVdsAdviseSink"
0x1,"Classes\Interface\{8326CD1D-CF59-4936-B786-5EFC08798E25}\ProxyStubClsid32",,"{E0393303-90D4-4A97-AB71-E9B671EE2729}"
3) From the BartPE directory, run pebuilder.exe. Configure the source to point to your Windows Server 2003 .iso file or installation file source
4) Press the plugins button and configure RpcSS Needs to launch DComLaunchService first – SP2 only to enabled and select Close
5) Build the BartPE CD, burn it and boot it on your soon-to-be Windows server
6) If needed, press F6 to specify your server’s storage drivers from a floppy, CD, DVD, or USB drive
7) No need to start BartPE networking, but it won’t hurt anything if you do
8 ) From the GO menu, select Run and type in Diskpart
9) Type: Select Disk 1
10) Create your boot partition and specifiy the alignment by typing:
Create partition primary align=64
align=64 is the suggested number, but depending on what your system is going to be used for, you may chose to use 32, 64, 128, or some other number that is divisible by 8KB.
This will use all the free disk space to create the boot partition. If you don’t want that, specify the size=xxxxx option when creating the partition, where xxxxx is the partition size in megabytes:
Create partition primary size=20480 align=64
11) Exit DiskPart and BartPE. Boot from the Windows Server 2003 CD/DVD
12) If needed, press F6 to specify your server’s storage drivers from a floppy, CD, DVD, or USB drive
13) At the setup screeen that displays the paritions, choose the partition we just created to install Windows onto by pressing enter. Continue with setup as normal.