That worked but there is a problem.
Boot Windows XP in Parallels Desktop:
All good.
Boot Mac into Windows XP:
I see you added the BIOS drive number to each disk in /tlist.
/bootcfg sees the active partition on physical drive 3 (the message uses the BIOS disk number and calls it drive 0).
Does the \Arcname parameter after the /bootcfg parameter do anything? I think it would nice to have a /bootcfg option that doesn't cause BootConfig to change or copy any files.
Booting Mac into Vista 64:
The arc paths don't mention an rdisk(1) which should be D2. Are you unable to get arc paths for partitions with no file system? Windows XP shows EXT3 for the partition. Vista doesn't have the Ext2Fsd installed.
Booting Mac into Vista 32:
Again, the arc paths don't mention an rdisk(1).
It seems that rdisk numbers that are unique across physical disks are correct. e.g. In all the output above, only one disk mentions rdisk(0) or rdisk(1) or rdisk(2). rdisk numbers used for multiple physical disks are probably incorrect for some disks. e.g. rdisk(3). Is it not possible to determine when rdisk(3) is correct or incorrect? Also, aren't all arc path partition numbers that differ from the MBR partition number incorrect? I'm thinking the output may look neater if the arc path was suppressed (like the entries for D4) in cases where it is determined to be incorrect.
I found a problem with this solution though: If you choose to edit a BCD on a different partition, (e.g. boot Vista 32 but edit the BCD on Vista 64 or Windows XP) then ebcd.### and NTDETECT.COM are still placed on the system partition (e.g. Vista 32) but easyldr# is stored in the other partition's Windows \NST folder (on the partition containing the selected BCD). This makes the Windows XP entry unusable. Also, editing multiple Windows XP entries in multiple BCD's will overwrite ebcd.### files since they are numbered based on the easyldr# entries in the individual \NST folders.
So I think saving the files relative to the edited BCD is probably the best way to go as you already do for the files that go in the \NST folder and the non-XP auxiliary files (ANG#, NeoGrub etc).
Further reasoning: There is a distinction between editing/fixing Windows XP boot files and adding Windows XP to a BCD boot menu. EasyBCD is used to edit a BCD store. A BCD store is probably used by a BOOTMGR on the same partition, thus the \NST files (including ntldr/easyldr#) are stored on the same partition. BOOTMGR is a system file and NTLDR is also a system file. The files they use (the BCD and boot.ini/ebcd.###) are also system files. Therefore they should all be on the same partition. Since we only know where the BCD is, then that's the partition to use.
Boot Windows XP in Parallels Desktop:
Code:
C:\Program Files\NeoSmart Technologies\EasyBCD\bin>BootGrabber /tlist
Unable to get volume information for \\?\Volume{5028091f-67dc-11dd-b05c-806d6172696f}\
Unable to get volume information for \\?\Volume{e2eaec42-682f-11dd-be87-806d6172696f}\
Unable to get volume information for \\?\Volume{3df935be-d2ff-11dd-9264-806d6172696f}\
Unable to get volume information for \\?\Volume{3df935bf-d2ff-11dd-9264-001c42817b26}\
D0,4,4,0,320072933376,0
P1,,238,209735168,209735168,Yes,multi(0)disk(0)rdisk(0)partition(3),No,
P2,E:\,7,85684600832,85684600832,Yes,multi(0)disk(0)rdisk(0)partition(3),No,
P3,D:\,7,86114091008,86114091008,Yes,multi(0)disk(0)rdisk(0)partition(3),No,
P4,C:\,7,148064485376,92991225856,Yes,multi(0)disk(0)rdisk(0)partition(4),Yes,NTFS
C:\Program Files\NeoSmart Technologies\EasyBCD\bin>bootgrabber /bootcfg \ArcName\multi(0)disk(0)rdisk(0)partition(0)
Unable to get volume information for \\?\Volume{5028091f-67dc-11dd-b05c-806d6172696f}\
Unable to get volume information for \\?\Volume{e2eaec42-682f-11dd-be87-806d6172696f}\
Unable to get volume information for \\?\Volume{3df935be-d2ff-11dd-9264-806d6172696f}\
Unable to get volume information for \\?\Volume{3df935bf-d2ff-11dd-9264-001c42817b26}\
Drive 0, Partition 2: No Windows installation found.
Drive 0, Partition 3: No Windows installation found.
Located active partition on drive 0: \ArcName\multi(0)disk(0)rdisk(0)partition(4)
Drive 0, Partition 4: Valid Windows 2k/XP/2k3 (Added).
Boot Mac into Windows XP:
Code:
C:\Program Files\NeoSmart Technologies\EasyBCD\bin>BootGrabber /tlist
Unable to get volume information for \\?\Volume{50280910-67dc-11dd-b05c-806d6172696f}\
Unable to get volume information for \\?\Volume{50280911-67dc-11dd-b05c-806d6172696f}\
No active partition detected on disk 0.
No active partition detected on disk 4.
D0,3,3,0,320072933376,3
P1,,238,209735168,209735168,Yes,multi(0)disk(0)rdisk(3)partition(1),No,
P2,O:\,7,64424509440,23910363136,Yes,multi(0)disk(0)rdisk(3)partition(2),No,HFSJ
P3,C:\Volumes\SnowLeopard\,7,255170232320,206535573504,Yes,multi(0)disk(0)rdisk(3)partition(3),No,HFSJ
D1,4,4,0,250059350016,2
P1,,238,223000808960,223000808960,Yes,multi(0)disk(0)rdisk(3)partition(1),No,
P2,I:\,12,1073741824,853725184,Yes,multi(0)disk(0)rdisk(2)partition(2),Yes,FAT32
P3,F:\,12,524288000,523059200,Yes,multi(0)disk(0)rdisk(2)partition(3),No,FAT
P4,J:\,1,2097152,636928,Yes,multi(0)disk(0)rdisk(2)partition(4),No,FAT
D2,2,2,0,1000204886016,1
P1,,238,139930390016,139930390016,Yes,multi(0)disk(0)rdisk(3)partition(1),No,
P2,P:\,7,21340618752,18118144000,Yes,multi(0)disk(0)rdisk(1)partition(2),Yes,EXT3
D3,4,4,0,320072933376,0
P1,,238,209735168,209735168,Yes,multi(0)disk(0)rdisk(3)partition(1),No,
P2,E:\,7,85684600832,47027216384,Yes,multi(0)disk(0)rdisk(0)partition(2),No,NTFS
P3,D:\,7,86114091008,61770838016,Yes,multi(0)disk(0)rdisk(0)partition(3),No,NTFS
P4,C:\,7,148064485376,92985516032,Yes,multi(0)disk(0)rdisk(0)partition(4),Yes,NTFS
D4,6,0,6,200049647616,0
P1,C:\Volumes\Work\,7,53687091200,5012271104,No,,No,HFSJ
P2,C:\Volumes\Devs\,7,42949672960,2387001344,No,,No,HFSJ
P3,C:\Volumes\Apps\,7,32212254720,10113736704,No,,No,HFSJ
P4,C:\Volumes\Updates\,7,42949672960,2742059008,No,,No,HFSJ
P5,T:\,7,8589934592,962785280,No,,No,HFS+
P6,U:\,7,7516192768,858988544,No,,No,HFS+
C:\Program Files\NeoSmart Technologies\EasyBCD\bin>bootgrabber /bootcfg \ArcName\multi(0)disk(0)rdisk(0)partition(0)
Unable to get volume information for \\?\Volume{50280910-67dc-11dd-b05c-806d6172696f}\
Unable to get volume information for \\?\Volume{50280911-67dc-11dd-b05c-806d6172696f}\
No active partition detected on disk 0.
No active partition detected on disk 4.
Drive 0, Partition 2: No Windows installation found.
Drive 0, Partition 3: No Windows installation found.
Drive 1, Partition 2: No Windows installation found.
Drive 1, Partition 3: No Windows installation found.
Drive 1, Partition 4: No Windows installation found.
Drive 2, Partition 2: No Windows installation found.
Drive 3, Partition 2: Windows Vista+ (Ignored).
Drive 3, Partition 3: Windows Vista+ (Ignored).
Located active partition on drive 0: \ArcName\multi(0)disk(0)rdisk(0)partition(4)
Drive 3, Partition 4: Valid Windows 2k/XP/2k3 (Added).
Drive 4, Partition 1: No Windows installation found.
Drive 4, Partition 2: No Windows installation found.
Drive 4, Partition 3: No Windows installation found.
Drive 4, Partition 4: No Windows installation found.
Drive 4, Partition 5: No Windows installation found.
Drive 4, Partition 6: No Windows installation found.
/bootcfg sees the active partition on physical drive 3 (the message uses the BIOS disk number and calls it drive 0).
Does the \Arcname parameter after the /bootcfg parameter do anything? I think it would nice to have a /bootcfg option that doesn't cause BootConfig to change or copy any files.
Booting Mac into Vista 64:
Code:
C:\Program Files (x86)\NeoSmart Technologies\EasyBCD\bin>bootgrabber /tlist
Unable to get volume information for \\?\Volume{61f460db-6c2f-11df-bbfa-806e6f6e6963}\
Unable to get volume information for \\?\Volume{e5d36fa4-6902-11dd-a511-806e6f6e6963}\
Unable to get volume information for \\?\Volume{e5d36fa5-6902-11dd-a511-806e6f6e6963}\
No active partition detected on disk 0.
No active partition detected on disk 4.
D0,3,3,0,320072933376,3
P1,,238,209735168,209735168,Yes,multi(0)disk(0)rdisk(3)partition(3),No,
P2,,175,64424509440,64424509440,Yes,multi(0)disk(0)rdisk(3)partition(3),No,
P3,,175,255170232320,255170232320,Yes,multi(0)disk(0)rdisk(3)partition(3),No,
D1,4,4,0,250059350016,2
P1,,238,223000808960,223000808960,Yes,multi(0)disk(0)rdisk(3)partition(3),No,
P2,F:\,12,1073741824,853725184,Yes,multi(0)disk(0)rdisk(2)partition(2),Yes,FAT32
P3,H:\,12,524288000,523059200,Yes,multi(0)disk(0)rdisk(2)partition(3),No,FAT
P4,I:\,1,2097152,636928,Yes,multi(0)disk(0)rdisk(2)partition(4),No,FAT
D2,2,2,0,1000204886016,3
P1,,238,139930390016,139930390016,Yes,multi(0)disk(0)rdisk(3)partition(3),No,
P2,K:\,7,21340618752,21340618752,Yes,multi(0)disk(0)rdisk(3)partition(3),Yes,
D3,4,4,0,320072933376,0
P1,,238,209735168,209735168,Yes,multi(0)disk(0)rdisk(3)partition(3),No,
P2,C:\,7,85684600832,46994370560,Yes,multi(0)disk(0)rdisk(0)partition(2),Yes,NTFS
P3,E:\,7,86114091008,61766643712,Yes,multi(0)disk(0)rdisk(0)partition(3),No,NTFS
P4,D:\,7,148064485376,92988096512,Yes,multi(0)disk(0)rdisk(0)partition(4),No,NTFS
D4,0,0,0,200049647616,0
C:\Program Files (x86)\NeoSmart Technologies\EasyBCD\bin>bootgrabber /bootcfg
Unable to get volume information for \\?\Volume{61f460db-6c2f-11df-bbfa-806e6f6e6963}\
Unable to get volume information for \\?\Volume{e5d36fa4-6902-11dd-a511-806e6f6e6963}\
Unable to get volume information for \\?\Volume{e5d36fa5-6902-11dd-a511-806e6f6e6963}\
No active partition detected on disk 0.
No active partition detected on disk 4.
Drive 1, Partition 2: No Windows installation found.
Drive 1, Partition 3: No Windows installation found.
Drive 1, Partition 4: No Windows installation found.
Drive 2, Partition 2: No Windows installation found.
Located active partition on drive 0: \ArcName\multi(0)disk(0)rdisk(0)partition(2)
Drive 3, Partition 2: Windows Vista+ (Ignored).
Drive 3, Partition 3: Windows Vista+ (Ignored).
Drive 3, Partition 4: Valid Windows 2k/XP/2k3 (Added).
Booting Mac into Vista 32:
Code:
C:\Program Files\NeoSmart Technologies\EasyBCD\bin>bootgrabber /tlist
Unable to get volume information for \\?\Volume{1f7d1319-6c36-11df-889a-806e6f6e6963}\
Unable to get volume information for \\?\Volume{ac9910de-67e8-11dd-aa7a-806e6f6e6963}\
Unable to get volume information for \\?\Volume{ac9910df-67e8-11dd-aa7a-806e6f6e6963}\
No active partition detected on disk 0.
No active partition detected on disk 4.
D0,3,3,0,320072933376,3
P1,,238,209735168,209735168,Yes,multi(0)disk(0)rdisk(3)partition(3),No,
P2,L:\,175,64424509440,64424509440,Yes,multi(0)disk(0)rdisk(3)partition(3),No,
P3,P:\,175,255170232320,255170232320,Yes,multi(0)disk(0)rdisk(3)partition(3),No,
D1,4,4,0,250059350016,2
P1,,238,223000808960,223000808960,Yes,multi(0)disk(0)rdisk(3)partition(3),No,
P2,F:\,12,1073741824,853725184,Yes,multi(0)disk(0)rdisk(2)partition(2),Yes,FAT32
P3,H:\,12,524288000,523059200,Yes,multi(0)disk(0)rdisk(2)partition(3),No,FAT
P4,I:\,1,2097152,636928,Yes,multi(0)disk(0)rdisk(2)partition(4),No,FAT
D2,2,2,0,1000204886016,3
P1,,238,139930390016,139930390016,Yes,multi(0)disk(0)rdisk(3)partition(3),No,
P2,K:\,7,21340618752,21340618752,Yes,multi(0)disk(0)rdisk(3)partition(3),Yes,
D3,4,4,0,320072933376,0
P1,,238,209735168,209735168,Yes,multi(0)disk(0)rdisk(3)partition(3),No,
P2,D:\,7,85684600832,47021772800,Yes,multi(0)disk(0)rdisk(0)partition(2),No,NTFS
P3,C:\,7,86114091008,61809287168,Yes,multi(0)disk(0)rdisk(0)partition(3),Yes,NTFS
P4,E:\,7,148064485376,92988092416,Yes,multi(0)disk(0)rdisk(0)partition(4),No,NTFS
D4,0,0,0,200049647616,0
C:\Program Files\NeoSmart Technologies\EasyBCD\bin>bootgrabber /bootcfg
Unable to get volume information for \\?\Volume{1f7d1319-6c36-11df-889a-806e6f6e6963}\
Unable to get volume information for \\?\Volume{ac9910de-67e8-11dd-aa7a-806e6f6e6963}\
Unable to get volume information for \\?\Volume{ac9910df-67e8-11dd-aa7a-806e6f6e6963}\
No active partition detected on disk 0.
No active partition detected on disk 4.
Drive 0, Partition 2: No Windows installation found.
Drive 0, Partition 3: No Windows installation found.
Drive 1, Partition 2: No Windows installation found.
Drive 1, Partition 3: No Windows installation found.
Drive 1, Partition 4: No Windows installation found.
Drive 2, Partition 2: No Windows installation found.
Drive 3, Partition 2: Windows Vista+ (Ignored).
Located active partition on drive 0: \ArcName\multi(0)disk(0)rdisk(0)partition(3)
Drive 3, Partition 3: Windows Vista+ (Ignored).
Drive 3, Partition 4: Valid Windows 2k/XP/2k3 (Added).
It seems that rdisk numbers that are unique across physical disks are correct. e.g. In all the output above, only one disk mentions rdisk(0) or rdisk(1) or rdisk(2). rdisk numbers used for multiple physical disks are probably incorrect for some disks. e.g. rdisk(3). Is it not possible to determine when rdisk(3) is correct or incorrect? Also, aren't all arc path partition numbers that differ from the MBR partition number incorrect? I'm thinking the output may look neater if the arc path was suppressed (like the entries for D4) in cases where it is determined to be incorrect.
I found a problem with this solution though: If you choose to edit a BCD on a different partition, (e.g. boot Vista 32 but edit the BCD on Vista 64 or Windows XP) then ebcd.### and NTDETECT.COM are still placed on the system partition (e.g. Vista 32) but easyldr# is stored in the other partition's Windows \NST folder (on the partition containing the selected BCD). This makes the Windows XP entry unusable. Also, editing multiple Windows XP entries in multiple BCD's will overwrite ebcd.### files since they are numbered based on the easyldr# entries in the individual \NST folders.
So I think saving the files relative to the edited BCD is probably the best way to go as you already do for the files that go in the \NST folder and the non-XP auxiliary files (ANG#, NeoGrub etc).
Further reasoning: There is a distinction between editing/fixing Windows XP boot files and adding Windows XP to a BCD boot menu. EasyBCD is used to edit a BCD store. A BCD store is probably used by a BOOTMGR on the same partition, thus the \NST files (including ntldr/easyldr#) are stored on the same partition. BOOTMGR is a system file and NTLDR is also a system file. The files they use (the BCD and boot.ini/ebcd.###) are also system files. Therefore they should all be on the same partition. Since we only know where the BCD is, then that's the partition to use.