Ok, I've slept and as nobody's responded I've got the inkling of how to reply properly. Still lengthy/convoluted, but not as lengthy/convoluted.
Let's use the following notation:
[ Physical Drive ] ( Logical Partition = DriveLetter: ) and
{ Extended Partition }, with " > " showing nesting/containing and
…Free Space… for (temporarily) unassigned areas of a drive.
A Physical drive should have a Primary logical partition on it, to boot from. Actually, up to four, but DOS doesn't recognise more than one, so I would avoid it on a matter of principle, even though this adds some complexity[1], here.
Additionally, an Extended partition can hold further multiple (non-booting) Logical partitions.
All logical partitions that Windows (or DOS) understands as standard will be given "DriveLetter:"s, which is normally automatic (you can do limited reassigning
within Windows) in order of C:, D:, etc as needed. And it would be extremely useful not to have what is effectively on what logical drive change, between booting down in one configuration and booting up as the new one. (Windows can be a mix of awkward and 'helpful', when it boots up and finds things changed.). I'll use the drive letters how they theoretically would get 'picked up', at each point, not how you will use them.
Logical partitions can also be ones
not given drive-letters (see below for the type I might not be surprised to see), formatted differently from what Windows can (or wants to) give you access to. If you have ext3 or ext4 or anything like that when you start looking at partition details, rather than some 'FAT'-based name, then you probably should already know about them - if not, think back to whenever you or someone else decided to mess with Linux or something. I assume that no partition will bust the 'logical size limit' for whatever FAT-type it is. Only your C: will expand, and if that's a problem then you might have other issues to look at before adding the (usually available) FAT-type conversion into the process.
Currently, I understand your situation as:
[ Small SSD > (??) + ( System = C: ) ] + [ Hybrid SSD > (??) + ( Data = D: ) ]...although there may
or may not be a "( Backup/System/Recovery = n/a: )" sort of thing where I put the "(??)"s, depending upon what installed the original partitions and systems. If you have one on the Small SSD then it should probably be transfered alongside the C: onto the Hybrid. If there's one alongside the D: then maybe you need to shift-copy alongside D: unless you're sure you don't need it (remnant of older system install?)
But I'm going to do the following with just the Small SSD's initial "(??) +", just to cover that possibility...
N.B., I'm assuming that current D: is less than half full. If it's larger then it's not so 'simple' and you probably need
extra storage space to backup/restore with.
Starting with my caveats/assumptions, boot with partion-handling tool to see...
[ Small SSD > (??) + ( System = C: ) ] + [ Hybrid SSD > ( Data = D: ) ]
1) Resize logical D: to smallest size it allows... (Or, ideally the size of C:, if that's larger than and still less than half the total of the Hybrid's total space. Otherwise there's extra shuffling steps needed that I won't go into here.)
[ Small SSD > (??) + ( System = C: ) ] + [ Hybrid SSD > ( smaller!Data = D: ) + …Free Space… ]
2) Create an Extended partition in the Free Space area, initially empty itself...
[ Small SSD > (??) + ( System = C: ) ] + [ Hybrid SSD > ( Data = D: ) + { Extended > …Free Space… } ]
3) Use available partion-cloning/copying (ideally) to duplicate 'primary' D: into the 'extended' area, flush to the top end...
[ Small SSD > (??) + ( System = C: ) ] + [ Hybrid SSD > ( Data = D: ) + { Extended > …Free Space… + ( copy!Data = E: )} ]
...) If you rebooted to Windows now, everything should work as before, except with a new E:. If you had (optical?) drive letter(s) that are E:+ then it would have to change things for that range, but C: and D: should be the same. But I'm not suggesting this as a step to take, just an option you could take along the way if you insisted. Just continue, if you're happy you have managed to copy D: as shown.
4) The main intrinsically 'destructive' step! Beware and be sure before proceding! Delete the logical/primary D: partition...
[ Small SSD > (??) + ( System = C: ) ] + [ Hybrid SSD > …Free Space… + { Extended > …Free Space… + ( Data = D: )} ]
5) Clone-over C: as a new Primary in the inital Hybrid free space. (And the associated Recovery/whatever partition, first, if you have that.)
[ Small SSD > (??) + ( System = C: ) ] + [ Hybrid SSD > (copy!??) + ( copy!System = D: ) + …Free Space… + { Extended > …Free Space… + ( Data = E: )} ]
6) You can do this later, but I'm going to suggest you power down, physically remove the Small SSD (keep safe) and we proceded. If you want to re-use Small SSD as non-system storage, it might be best not to have it around until you're sure the rest works, then re-install physically as a 'later' drive in sequence that doesn't confuse matters.
[ Small SSD > (??) + ( System = C: ) ] + [ Hybrid SSD > (??) + ( copy!System = C: ) + …Free Space… + { Extended > …Free Space… + ( Data = D: )} ]
i.e. => [ Hybrid SSD > (??) + ( System = C: ) + …Free Space… + { Extended > …Free Space… + ( Data = D: )} ]
7) Resize your primary C: to the size you want it to be (double? extra few GB only? your choice...) into the non-Extended free space. I will presume you don't want to maximise it at this stage, but you'll know your own reshuffling plan best.
[ Hybrid SSD > (??) + ( larger!System = C: ) + …smaller!Free Space… + { Extended > …Free Space… + ( Data = D: )} ]
8) Resize your Extended area to butt up to your primary-C: logical. Give or take a bit of insignificant wasted boundary (which you might be able to resize C: into)
[ Hybrid SSD > (??) + ( System = C: ) + { larger!Extended > …larger!Free Space… + ( Data = D: )} ]
9) Resize the D: to take up the whole Extended...
[ Hybrid SSD > (??) + ( System = C: ) + { Extended > ( larger!Data = D: )} ]
...) N.B. Some of these stages might be queued up into single "do all these" combined steps, but obviously not all.
Anyway...
...the end result should be
[ Hybrid SSD > (??) + ( System = C: ) + { ( Data = D: ) } ]And if that's
not what you're expecting then I've still not grasped your intentions, so ignore me entirely!
(Plus I
still recommend various backup images, right at the start, but at modern disc sizes that can be difficult to organise. And if you can actually make backup images then you have another possible path to reshuffle things with.)
[1] The alternate method is of resizing primary D: down, flush to the RHS of the physical drive and creating space to the left sucficient to copy C: into as a new 'first primary', but... Can't guarantee the results so much. Modern versions of Windows might be happy with that, but it might totally mess things up instead. Hence my lengthy 'traditional' reshuffle version.