Re: Getting a 2nd hard disk partition to mount in CE 5.0
- From: "Michel Verhagen (eMVP)" <michel@xxxxxxxxxx>
- Date: Mon, 16 Jun 2008 18:21:54 +1200
This sounds like a load order problem, although I've never seen this result (not mounting of 2nd partition). Drivers without an "Order" specified load in reverse order when a hive is loaded. So, first boot driver A, B, C, D would load in that order. Then when the hive is restored and used driver D, C, B, A would load in that order.
Take a good look at the debug output and the order of relevant driver loading (create a release image with KITL enabled so you can see the order of loading). Once you figure out the differences between a clean boot and a hive boot, force that order by defining "Order" values in the relevant driver settings.
Can you post your "profile" registry settings for the partitions and other relevant registry settings (like hive, IDE, etc).
Good luck,
Michel Verhagen, eMVP
Check out my blog: http://GuruCE.com/blog
GuruCE Ltd.
Microsoft Embedded Partner
http://GuruCE.com
Consultancy, training and development services.
Courteous wrote:
Hi,.
I am developing an image with CE 5 with a persistent hive based registry, using an IDE hard disk with two partitions. The registry sits on the first partition, which is mounted as root. The first time the image boots (using the default registry), both partitions mount fine.
The second and following times, the second partition does not mount automatically, even though I am able to mount it manually. Deleting the hives on the hard drive gets the 2nd partition to mount again. I would like to find a way to make it mount automatically, or failing that a programmatic way to mount a partition from a C#/managed application.
This problem is in the release version only, in the debug version it seems to mount every time. It seems the part of the debug build that gets it to work is filesys.exe (I took the debug filesys.exe and put it in the release image, and that was enough to get it to work). I don't understand why though.
Switching off registry persistence (disabling PRJ_BOOTDEVICE_ATAPI, PRJ_ENABLE_FSMOUNTASROOT, PRJ_ENABLE_FSREGHIVE, and changing to Ram&Rom file system) stops the problem also.
This is on an Ampro Littleboard 800 (an X86) board. All boots hence wipe the RAM. I use a BSP released by Ampro and standard WinCE catalog items. The disk-related driver in the BSP is ichide.dll. The board uses an Intel 82801DBM ICH4-M chip, which implements IDE etc.
Below is a summary of the differences between the registries as seen by the remote registry tool, for the 1st and 2nd boots. I can't see anything obvious...
Any assistance would be appreciated.
Michael
Differences between 2nd partition mounting (first boot) and not mounting (2nd boot)
In first registry only:
[HKEY_LOCAL_MACHINE]
"Flags"=dword:00000004
"Class"=dword:00000000
"SubClass"=dword:00000000
"ProgIF"=dword:00000000
"VendorID"=dword:00000000
"DeviceID"=dword:00000000
"RevisionID"=dword:00000000
"SubVendorID"=dword:00000000
"SubSystemID"=dword:00000000
"InterfaceType"=dword:00000005
"BusNumber"=dword:00000000
"DeviceNumber"=dword:00000000
"FunctionNumber"=dword:00000000
In 2nd registry only:
[HKEY_CURRENT_USER]
"RegPersisted"=dword:00000001
This binary is different in each registry:
[HKEY_CURRENT_USER\Comm\RasBook\`Desktop @ 19200`]
"Entry"=hex:\
08,02,40,00,00,00,00,00,00,00,00,00,00,00,01,00,00,00,01,00,23,00,00,00,00,\
00,00,00,02,01,00,00,00,10,00,00,00,f0,03,c2,00,10,00,00,00,00,00,00,73,00,\
74,00,61,00,00,00,00,f0,03,c2,b0,7e,6a,81,a5,c7,24,80,b0,7e,6a,81,00,e0,03,\
c2,fa,0f,00,00,00,00,00,00,1b,ba,24,80,b0,7e,6a,81,00,10,00,00,c0,ad,6a,81,\
18,e8,02,16,b0,7e,6a,81,90,e7,02,16,00,10,00,00,00,10,00,00,6f,b5,24,80,b0,\
7e,6a,81,00,10,00,00,b0,7e,6a,81,f0,e7,02,16,bc,e7,02,16,b6,b4,24,80,b0,7e,\
************ IN FIRST REGISTRY **********
[HKEY_LOCAL_MACHINE\Comm]
"BootCount"=dword:00000001
[HKEY_LOCAL_MACHINE\Comm\PCI\E100CE1\Parms\TCPIP]
"LeaseObtainedHigh"=dword:01c8bca6
"LeaseObtainedLow"=dword:e3a69f80
[HKEY_LOCAL_MACHINE\Comm\Security\Crypto]
"Seed"=hex:\
6a,37,80,71,44,78,d4,f4,88,b8,44,b4,39,37,ff,8b,cc,a3,c6,ab
[HKEY_LOCAL_MACHINE\Comm\SecurityProviders\SCHANNEL]
"RNG"=hex:\
5e,12,ee,9a,3b,10,94,47,7b,e5,31,40,2d,50,e4,f5,1a,c1,31,0b,4b,b3,79,6a,6a,\
c8,ec,e8,86,7c,53,78
[HKEY_LOCAL_MACHINE\Services\SMBServer]
"GUID"=hex:\
c3,7e,9c,42,4c,a0,eb,8f,7b,4d,be,d4,2d,85,67,0d
*** The "Hnd" is different in each of these keys. Also "BusParent" is different in 36-39
[HKEY_LOCAL_MACHINE\Drivers\Active\09]
"Hnd"=dword:00039ee0
"Key"="Drivers\\BuiltIn\\PCCARD"
"BusParent"=dword:00034250
"InterfaceType"=dword:00000000
"BusName"="BuiltIn_0_17_0"
[HKEY_LOCAL_MACHINE\Drivers\Active\10]
"Hnd"=dword:0003a2f0
"Name"="COM1:"
"Key"="Drivers\\BuiltIn\\Serial"
"BusParent"=dword:00034250
"InterfaceType"=dword:00000000
"BusName"="BuiltIn_0_18_0"
[HKEY_LOCAL_MACHINE\Drivers\Active\11]
"Hnd"=dword:0003b840
"Name"="COM2:"
"Key"="Drivers\\BuiltIn\\Serial2"
"BusParent"=dword:00034250
"InterfaceType"=dword:00000000
"BusName"="BuiltIn_0_19_0"
[HKEY_LOCAL_MACHINE\Drivers\Active\12]
"Hnd"=dword:0003cd90
"Name"="COM3:"
"Key"="Drivers\\BuiltIn\\Serial3"
"BusParent"=dword:00034250
"InterfaceType"=dword:00000000
"BusName"="BuiltIn_0_20_0"
[HKEY_LOCAL_MACHINE\Drivers\Active\13]
"Hnd"=dword:0003cba0
"Name"="COM4:"
"Key"="Drivers\\BuiltIn\\Serial4"
"BusParent"=dword:00034250
"InterfaceType"=dword:00000000
"BusName"="BuiltIn_0_21_0"
[HKEY_LOCAL_MACHINE\Drivers\Active\14]
"Hnd"=dword:0003f3c0
"Name"="NLD1:"
"Key"="Drivers\\BuiltIn\\NLed"
"BusParent"=dword:00034250
"InterfaceType"=dword:00000000
"BusName"="BuiltIn_0_22_0"
[HKEY_LOCAL_MACHINE\Drivers\Active\15]
"Hnd"=dword:0003f6f0
"Name"="NDS0:"
"Key"="Drivers\\BuiltIn\\NDIS"
"BusParent"=dword:00034250
"InterfaceType"=dword:00000000
"BusName"="BuiltIn_0_1_0"
[HKEY_LOCAL_MACHINE\Drivers\Active\16]
"Hnd"=dword:00040ca0
"Key"="Drivers\\BuiltIn\\TAPI"
"BusParent"=dword:00034250
"InterfaceType"=dword:00000000
"BusName"="BuiltIn_0_10_0"
[HKEY_LOCAL_MACHINE\Drivers\Active\17]
"Hnd"=dword:00040db0
"Name"="WAM1:"
"Key"="Drivers\\BuiltIn\\WAPIMAN"
"BusParent"=dword:00034250
"InterfaceType"=dword:00000000
"BusName"="BuiltIn_0_11_0"
[HKEY_LOCAL_MACHINE\Drivers\Active\18]
"Hnd"=dword:000479e0
"Name"="SIP0:"
"Key"="Drivers\\BuiltIn\\SIP"
"BusParent"=dword:00034250
"InterfaceType"=dword:00000000
"BusName"="BuiltIn_0_12_0"
[HKEY_LOCAL_MACHINE\Drivers\Active\19]
"Hnd"=dword:00047d20
"Name"="TKT1:"
"Key"="Drivers\\BuiltIn\\TouchKit1"
"BusParent"=dword:00034250
"InterfaceType"=dword:00000000
"BusName"="BuiltIn_0_15_0"
[HKEY_LOCAL_MACHINE\Drivers\Active\20]
"Hnd"=dword:000484b0
"Name"="TKT2:"
"Key"="Drivers\\BuiltIn\\TouchKit2"
"BusParent"=dword:00034250
"InterfaceType"=dword:00000000
"BusName"="BuiltIn_0_16_0"
[HKEY_LOCAL_MACHINE\Drivers\Active\23]
"Hnd"=dword:00049140
"Name"="IPD0:"
"Key"="TCPIP\\IPDevice"
"ClientInfo"=dword:00000000
[HKEY_LOCAL_MACHINE\Drivers\Active\24]
"Hnd"=dword:00049450
"Name"="TCP0:"
"Key"="TCPIP\\TCPDevice"
"ClientInfo"=dword:00000000
[HKEY_LOCAL_MACHINE\Drivers\Active\27]
"Hnd"=dword:00049760
"Name"="IP60:"
"Key"="TCPIP6\\IPDevice"
"ClientInfo"=dword:00000000
[HKEY_LOCAL_MACHINE\Drivers\Active\28]
"Hnd"=dword:0004da70
"Name"="DP60:"
"Key"="TCPIP6\\DHCPV6L"
"ClientInfo"=dword:00000000
[HKEY_LOCAL_MACHINE\Drivers\Active\29]
"Hnd"=dword:00050640
"Name"="UIO1:"
"Key"="Drivers\\BuiltIn\\NDISUIO"
"BusParent"=dword:00034250
"InterfaceType"=dword:00000000
"BusName"="BuiltIn_0_4_0"
[HKEY_LOCAL_MACHINE\Drivers\Active\30]
"Hnd"=dword:00050980
"Name"="ARS1:"
"Key"="Drivers\\BuiltIn\\autoras"
"BusParent"=dword:00034250
"InterfaceType"=dword:00000000
"BusName"="BuiltIn_0_3_0"
[HKEY_LOCAL_MACHINE\Drivers\Active\31]
"Hnd"=dword:00050d00
"Name"="V6H1:"
"Key"="Drivers\\BuiltIn\\ipv6hlp"
"BusParent"=dword:00034250
"InterfaceType"=dword:00000000
"BusName"="BuiltIn_0_7_0"
[HKEY_LOCAL_MACHINE\Drivers\Active\32]
"Hnd"=dword:00050b10
"Name"="NPW1:"
"Key"="Drivers\\BuiltIn\\NdisPower"
"BusParent"=dword:00034250
"InterfaceType"=dword:00000000
"BusName"="BuiltIn_0_5_0"
[HKEY_LOCAL_MACHINE\Drivers\Active\33]
"Hnd"=dword:000510b0
"Name"="ETM1:"
"Key"="Drivers\\BuiltIn\\Ethman"
"BusParent"=dword:00034250
"InterfaceType"=dword:00000000
"BusName"="BuiltIn_0_6_0"
[HKEY_LOCAL_MACHINE\Drivers\Active\34]
"Hnd"=dword:000513e0
"Name"="NBT1:"
"Key"="Drivers\\BuiltIn\\Netbios"
"BusParent"=dword:00034250
"InterfaceType"=dword:00000000
"BusName"="BuiltIn_0_13_0"
[HKEY_LOCAL_MACHINE\Drivers\Active\35]
"Hnd"=dword:00051720
"Key"="Drivers\\BuiltIn\\PCI"
"BusParent"=dword:00034250
"InterfaceType"=dword:00000000
"BusName"="BuiltIn_0_0_0"
[HKEY_LOCAL_MACHINE\Drivers\Active\36]
"Hnd"=dword:0005ed30
"Name"="WAV1:"
"Key"="Drivers\\BuiltIn\\PCI\\Instance\\ichac971"
"BusParent"=dword:00051720
"InterfaceType"=dword:00000005
"BusName"="PCI_0_31_5"
[HKEY_LOCAL_MACHINE\Drivers\Active\37]
"Hnd"=dword:0005eb70
"Name"="HCD1:"
"Key"="Drivers\\BuiltIn\\PCI\\Instance\\UHCI2"
"BusParent"=dword:00051720
"InterfaceType"=dword:00000005
"BusName"="PCI_0_29_1"
[HKEY_LOCAL_MACHINE\Drivers\Active\38]
"Hnd"=dword:00050ec0
"Name"="HCD2:"
"Key"="Drivers\\BuiltIn\\PCI\\Instance\\UHCI1"
"BusParent"=dword:00051720
"InterfaceType"=dword:00000005
"BusName"="PCI_0_29_0"
[HKEY_LOCAL_MACHINE\Drivers\Active\39]
"Hnd"=dword:004b3f00
"Name"="HCD3:"
"Key"="Drivers\\BuiltIn\\PCI\\Instance\\ehci1"
"BusParent"=dword:00051720
"InterfaceType"=dword:00000005
"BusName"="PCI_0_29_7"
[HKEY_LOCAL_MACHINE\Drivers\Active\40]
"Hnd"=dword:004b8110
"Key"="Drivers\\BuiltIn\\ErrorReporting"
"BusParent"=dword:00034250
"InterfaceType"=dword:00000000
"BusName"="BuiltIn_0_14_0"
************ IN SECOND REGISTRY **********
[HKEY_LOCAL_MACHINE\Comm]
"BootCount"=dword:00000002
[HKEY_LOCAL_MACHINE\Comm\PCI\E100CE1\Parms\TCPIP] "LeaseObtainedHigh"=dword:01c8bca9
"LeaseObtainedLow"=dword:b3143500
[HKEY_LOCAL_MACHINE\Comm\Security\Crypto]
"Seed"=hex:\
0e,eb,6a,34,57,74,a9,6a,3f,b9,7c,49,7f,56,27,d4,59,ca,86,d3
[HKEY_LOCAL_MACHINE\Comm\SecurityProviders\SCHANNEL]
"RNG"=hex:\
b6,4e,9e,2c,f3,5e,73,b5,8d,b9,ae,ac,16,92,79,3d,e5,cc,13,95,1a,23,dd,33,c5,\
d3,ea,16,44,83,a5,8e
[HKEY_LOCAL_MACHINE\Services\SMBServer]
"GUID"=hex:\
7a,0b,5a,f3,60,81,ae,07,de,fd,20,b5,31,4d,c4,f0
*** The "Hnd" is different in each of these keys. Also "BusParent" is different in 36-39
[HKEY_LOCAL_MACHINE\Drivers\Active\09]
"Hnd"=dword:000340a0
"Key"="Drivers\\BuiltIn\\PCCARD"
"BusParent"=dword:00034250
"InterfaceType"=dword:00000000
"BusName"="BuiltIn_0_17_0"
[HKEY_LOCAL_MACHINE\Drivers\Active\10]
"Hnd"=dword:0003a3b0
"Name"="COM1:"
"Key"="Drivers\\BuiltIn\\Serial"
"BusParent"=dword:00034250
"InterfaceType"=dword:00000000
"BusName"="BuiltIn_0_18_0"
[HKEY_LOCAL_MACHINE\Drivers\Active\11]
"Hnd"=dword:0003b900
"Name"="COM2:"
"Key"="Drivers\\BuiltIn\\Serial2"
"BusParent"=dword:00034250
"InterfaceType"=dword:00000000
"BusName"="BuiltIn_0_19_0"
[HKEY_LOCAL_MACHINE\Drivers\Active\12]
"Hnd"=dword:0003ce50
"Name"="COM3:"
"Key"="Drivers\\BuiltIn\\Serial3"
"BusParent"=dword:00034250
"InterfaceType"=dword:00000000
"BusName"="BuiltIn_0_20_0"
[HKEY_LOCAL_MACHINE\Drivers\Active\13]
"Hnd"=dword:0003b7b0
"Name"="COM4:"
"Key"="Drivers\\BuiltIn\\Serial4"
"BusParent"=dword:00034250
"InterfaceType"=dword:00000000
"BusName"="BuiltIn_0_21_0"
[HKEY_LOCAL_MACHINE\Drivers\Active\14]
"Hnd"=dword:0003f330
"Name"="NLD1:"
"Key"="Drivers\\BuiltIn\\NLed"
"BusParent"=dword:00034250
"InterfaceType"=dword:00000000
"BusName"="BuiltIn_0_22_0"
[HKEY_LOCAL_MACHINE\Drivers\Active\15]
"Hnd"=dword:0003f660
"Name"="NDS0:"
"Key"="Drivers\\BuiltIn\\NDIS"
"BusParent"=dword:00034250
"InterfaceType"=dword:00000000
"BusName"="BuiltIn_0_1_0"
[HKEY_LOCAL_MACHINE\Drivers\Active\16]
"Hnd"=dword:00040d90
"Key"="Drivers\\BuiltIn\\TAPI"
"BusParent"=dword:00034250
"InterfaceType"=dword:00000000
"BusName"="BuiltIn_0_10_0"
[HKEY_LOCAL_MACHINE\Drivers\Active\17]
"Hnd"=dword:00040ea0
"Name"="WAM1:"
"Key"="Drivers\\BuiltIn\\WAPIMAN"
"BusParent"=dword:00034250
"InterfaceType"=dword:00000000
"BusName"="BuiltIn_0_11_0"
[HKEY_LOCAL_MACHINE\Drivers\Active\18]
"Hnd"=dword:00047a20
"Name"="SIP0:"
"Key"="Drivers\\BuiltIn\\SIP"
"BusParent"=dword:00034250
"InterfaceType"=dword:00000000
"BusName"="BuiltIn_0_12_0"
[HKEY_LOCAL_MACHINE\Drivers\Active\19]
"Hnd"=dword:00047d60
"Name"="TKT1:"
"Key"="Drivers\\BuiltIn\\TouchKit1"
"BusParent"=dword:00034250
"InterfaceType"=dword:00000000
"BusName"="BuiltIn_0_15_0"
[HKEY_LOCAL_MACHINE\Drivers\Active\20]
"Hnd"=dword:000484f0
"Name"="TKT2:"
"Key"="Drivers\\BuiltIn\\TouchKit2"
"BusParent"=dword:00034250
"InterfaceType"=dword:00000000
"BusName"="BuiltIn_0_16_0"
[HKEY_LOCAL_MACHINE\Drivers\Active\23]
"Hnd"=dword:00049180
"Name"="IPD0:"
"Key"="TCPIP\\IPDevice"
"ClientInfo"=dword:00000000
[HKEY_LOCAL_MACHINE\Drivers\Active\24]
"Hnd"=dword:00049490
"Name"="TCP0:"
"Key"="TCPIP\\TCPDevice"
"ClientInfo"=dword:00000000
[HKEY_LOCAL_MACHINE\Drivers\Active\27]
"Hnd"=dword:000497a0
"Name"="IP60:"
"Key"="TCPIP6\\IPDevice"
"ClientInfo"=dword:00000000
[HKEY_LOCAL_MACHINE\Drivers\Active\28]
"Hnd"=dword:0004d9a0
"Name"="DP60:"
"Key"="TCPIP6\\DHCPV6L"
"ClientInfo"=dword:00000000
[HKEY_LOCAL_MACHINE\Drivers\Active\29]
"Hnd"=dword:00050570
"Name"="UIO1:"
"Key"="Drivers\\BuiltIn\\NDISUIO"
"BusParent"=dword:00034250
"InterfaceType"=dword:00000000
"BusName"="BuiltIn_0_4_0"
[HKEY_LOCAL_MACHINE\Drivers\Active\30]
"Hnd"=dword:000508b0
"Name"="ARS1:"
"Key"="Drivers\\BuiltIn\\autoras"
"BusParent"=dword:00034250
"InterfaceType"=dword:00000000
"BusName"="BuiltIn_0_3_0"
[HKEY_LOCAL_MACHINE\Drivers\Active\31]
"Hnd"=dword:00050c30
"Name"="V6H1:"
"Key"="Drivers\\BuiltIn\\ipv6hlp"
"BusParent"=dword:00034250
"InterfaceType"=dword:00000000
"BusName"="BuiltIn_0_7_0"
[HKEY_LOCAL_MACHINE\Drivers\Active\32]
"Hnd"=dword:0004b140
"Name"="NPW1:"
"Key"="Drivers\\BuiltIn\\NdisPower"
"BusParent"=dword:00034250
"InterfaceType"=dword:00000000
"BusName"="BuiltIn_0_5_0"
[HKEY_LOCAL_MACHINE\Drivers\Active\33]
"Hnd"=dword:0004be10
"Name"="ETM1:"
"Key"="Drivers\\BuiltIn\\Ethman"
"BusParent"=dword:00034250
"InterfaceType"=dword:00000000
"BusName"="BuiltIn_0_6_0"
[HKEY_LOCAL_MACHINE\Drivers\Active\34]
"Hnd"=dword:00051050
"Name"="NBT1:"
"Key"="Drivers\\BuiltIn\\Netbios"
"BusParent"=dword:00034250
"InterfaceType"=dword:00000000
"BusName"="BuiltIn_0_13_0"
[HKEY_LOCAL_MACHINE\Drivers\Active\35]
"Hnd"=dword:00051390
"Key"="Drivers\\BuiltIn\\PCI"
"BusParent"=dword:00034250
"InterfaceType"=dword:00000000
"BusName"="BuiltIn_0_0_0"
[HKEY_LOCAL_MACHINE\Drivers\Active\36]
"Hnd"=dword:0005ed00
"Name"="WAV1:"
"Key"="Drivers\\BuiltIn\\PCI\\Instance\\ichac971"
"BusParent"=dword:00051390
"InterfaceType"=dword:00000005
"BusName"="PCI_0_31_5"
[HKEY_LOCAL_MACHINE\Drivers\Active\37]
"Hnd"=dword:0005eb40
"Name"="HCD1:"
"Key"="Drivers\\BuiltIn\\PCI\\Instance\\UHCI2"
"BusParent"=dword:00051390
"InterfaceType"=dword:00000005
"BusName"="PCI_0_29_1"
[HKEY_LOCAL_MACHINE\Drivers\Active\38]
"Hnd"=dword:00051200
"Name"="HCD2:"
"Key"="Drivers\\BuiltIn\\PCI\\Instance\\UHCI1"
"BusParent"=dword:00051390
"InterfaceType"=dword:00000005
"BusName"="PCI_0_29_0"
[HKEY_LOCAL_MACHINE\Drivers\Active\39]
"Hnd"=dword:0005d6a0
"Name"="HCD3:"
"Key"="Drivers\\BuiltIn\\PCI\\Instance\\ehci1"
"BusParent"=dword:00051390
"InterfaceType"=dword:00000005
"BusName"="PCI_0_29_7"
[HKEY_LOCAL_MACHINE\Drivers\Active\40]
"Hnd"=dword:004d8100
"Key"="Drivers\\BuiltIn\\ErrorReporting"
"BusParent"=dword:00034250
"InterfaceType"=dword:00000000
"BusName"="BuiltIn_0_14_0"
- Follow-Ups:
- Re: Getting a 2nd hard disk partition to mount in CE 5.0
- From: Courteous
- Re: Getting a 2nd hard disk partition to mount in CE 5.0
- References:
- Getting a 2nd hard disk partition to mount in CE 5.0
- From: Courteous
- Getting a 2nd hard disk partition to mount in CE 5.0
- Prev by Date: Getting a 2nd hard disk partition to mount in CE 5.0
- Next by Date: RE: Memory leak in MS DOM parser
- Previous by thread: Getting a 2nd hard disk partition to mount in CE 5.0
- Next by thread: Re: Getting a 2nd hard disk partition to mount in CE 5.0
- Index(es):
Relevant Pages
|
|