I am guessing that the recovery console assigns a question-mark in lieu of a drive letter because the RC has no idea what the drive letter is for the OS that uses those drives. I have long-suspected that the drive letter is a construct that is maintained in the OS and not as a value or label on the hard drive partition itself.
I maintain a multiboot system, and I always have to be careful that my application and data partitions keep the same partition letters regardless of which boot I start up. Also, my system partition is always C:, regardless of which partition I booted from. The dormant partition gets a letter way down in the alphabet, and those will differ because one boot sees all partitions, the other has some devices disabled. So I'm convinced that this is not maintained on the partition...
I think your partitions are "probably" as follows:
47 MB - boot loader and recovery console...probably doesn't have a drive letter when Windows is running.
25 GB - Probably the C: partition which contains Windows, applications, and data.
3 GB - Probably the hidden partition that contains the content needed to build a "recovery disc" on CD or DVD. If it's not hidden, then it may be assigned by Windows as D: or E: when Windows is running.
Any additional hard drives would get the next letter in line (unless you change that with FDISK, Disk Management, or a tool such as Acronis Disk Director), camera card reader slots would probably be next after hard drives, and DVD drive would be near the end...again, unless you modify some settings.
I hope this helps...