Wikipedia gives a good explanation about the logic of drive lettering:
Except for CP/M and early versions of MS-DOS, the operating systems assigns drive letters according to the following algorithm:
- Assign the drive letter A: to the first floppy disk drive (drive 0), and B: to the second floppy disk drive (drive 1), if present.
- Assign a drive letter, beginning with C: to the first active primary partition recognised upon the first physical hard disk.
- Assign subsequent drive letters to the first primary partition upon each successive physical hard disk drive, if present within the system.
- Assign subsequent drive letters to every recognised logical partition, beginning with the first hard drive and proceeding through successive physical hard disk drives, if present within the system.
- Assign subsequent drive letters to any RAM Disk.
- Assign subsequent drive letters to any additional floppy or optical disc drives.