Jump to content

diskpart, ris & bartpe


frif

Recommended Posts

When I run diskpart under bartpe booted from Windows RIS i get the message

"The disk management services could not complete the operation"

I read this should happen when you try to run diskpart.exe from a harddisk installation of bartpe, but that is not the case for me.

Does anyone know how I can run diskpart in this situation?

Cheers

Link to comment
Share on other sites


  • 5 months later...

frif,

I am experiencing the same problem with one twist -- I created a BartPE instance from W2K3 slipstreamed with SP1 RC2 in order to use the "/rdexportascd" and "/rdpath=BartPE.iso" switches.

edge21,

I still receive the same error message as frif, even after I verify the services started successfully. Do you have any other suggestions/ideas?

Does diskpart.exe have any dependencies on other services, dll's, etc?

Link to comment
Share on other sites

  • 2 weeks later...
  • 7 months later...
  • 3 months later...
  • 1 month later...

Had to get to the bottom of this for a project. Heres the 20:

Clue - Win2k3 SP1 has a bug - anyway, this is the method.

1. get the files (listed in the bartpe plugin below)

2. dcom patch needs to be run for 2003 sp1 (like that in bartpe for winxp sp2.)

3. register vss_ps.dll manually (by autorun script or something.)

You need the patched versions of these files for the registration to occur correctly, as found in this kb: http://support.microsoft.com/?kbid=910380

As i dont have access to hotfixes, the answer was to perform the registrations myself in the bartpe plugin. No files from previous versions of W2k3 here, just the SP1 eval vers of windows 2003 sp1. So here it is:

[Version]
Signature= "$Windows NT$"

[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","Event Log"
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_DCOMLAUNCH\0000"
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_DCOMLAUNCH\0000","Service","DcomLaunch"
0x4,"ControlSet001\Enum\Root\LEGACY_DCOMLAUNCH\0000","Legacy",0x1
0x4,"ControlSet001\Enum\Root\LEGACY_DCOMLAUNCH\0000","ConfigFlags",0x0
0x1,"ControlSet001\Enum\Root\LEGACY_DCOMLAUNCH\0000","Class","LegacyDriver"
0x1,"ControlSet001\Enum\Root\LEGACY_DCOMLAUNCH\0000","ClassGUID","{8ECC055D-047F-11D1-A537-0000F8753ED1}"
0x1,"ControlSet001\Enum\Root\LEGACY_DCOMLAUNCH\0000","DeviceDesc","DCOM Services."
0x1,"ControlSet001\Enum\Root\LEGACY_DCOMLAUNCH\0000\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}"

I run bartpe from a RAM based SDI image, allowing me to change cd when i want after booting. also note that this means my systemdrive is writable. I havent tested this anywhere else, so if you dont have that, your results may vary. Actually, I'd be interested in knowing if this works for anyone else.

Any feedback appreciated, priate email pls: thor ATDOMAINNAME paradise POINT net POINT nz

Edited by theodin
Link to comment
Share on other sites

  • 2 weeks later...
  • 2 weeks later...
Just wondering if anyone has had any success with the plugin above?

Had to get to the bottom of this for a project. Heres the 20:

...<Snip>

Well my friend it worked just fine for me. I did the following:

-created in the plugin directory a directory call "diskpartition"(can be any name)

- copy the above registery information given by theodin (thanks for that theodin, good work!! )

that I save into a file called "diskpartition.inf" (can also be any name)

- Rerun bartpe and you will notice that in the plugin list that diskpartition is shown and then

rerun bartpe to derive a new image

It should work. I tried it in a VMware environment and I was able to at least create a new active FAT32/NTFS

partition

Link to comment
Share on other sites

  • 1 year later...

Dear theodin and bullfrog1,

thanks a lot for posting this information as I ran exactly into the same issue.

I got a TFTPboot server with pxelinux booting BartPE based on W2K3 Server

to run my business desktop deployment environment for automated image creation.

I had to update my BartPE version and based it on W2K3 and ran into the diskpart error return code 4:

One of the services DiskPart uses returned a failure.

Checking in the command prompt showed me:

The disk management services could not complete the operation.

Using the .inf plugin from theodin my problem was solved! Thanks a lot for the great work!

...it took me a some time to find this post as I was irritated by the return code 4 error I was getting from BDD...

Kind Regards,

WeAzLe

Link to comment
Share on other sites

  • 2 weeks later...

Hi theodin,

With the patched files from KB910380 and after registering vss_ps.dll it still didn't work for me. But if I use your code in the inf file everything works fine. Finally I can use align=32 to create a partition.

Thanks for your help and great work.

Edited by Zalazar
Link to comment
Share on other sites

  • 1 year later...

EDIT: Ohhhhh waitwaitwait. I think I found the answer here--> http://www.911cd.net/forums/lofiversion/in...php/t16192.html

Great stuff guys, thank you!

After adding the INF to the plugins folder per Bullfrogs instruction I was able to select the custom diskpart plugin as expected. I wasn't sure where to put the extracted files, so I then built a bartpe installation folder to see if the log would shed any light on where the files I extracted from the hot fix should go. After having read the log, it looked to me like the extracted files needed to be placed in the source i386 folder before building the Bartpe folder. I added the files to the source and built the folder again, no errors this time. I burnt my disc and then loaded the disc. BartPE started to load and then gives "ftdisk.sys is corrupted", which is one of the files I added.

Could someone clarify what I need to do for the following two steps?

2. dcom patch needs to be run for 2003 sp1 (like that in bartpe for winxp sp2.)

3. register vss_ps.dll manually (by autorun script or something.)

From Theodin's original post it sounds as though his INF takes care of those two steps...but if it does I must be doing something else wrong. Perhaps I did not extract the files from the hotfix appropriately? I just sent them to a folder on my desktop and then copied/pasted to my source i386 folder.

Thanks in advance!

Edited by mrquincy
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...