Kurz gesagt liegt das daran, dass Microsoft bis heute keine Unterstützung für Linux-Dateisysteme eingebaut hat. Der Größenunterschied kommt von der Art, wie das Image aufgebaut ist. Die sichtbare Boot-Partition (bei dir D:)enthält unter Linux alles, was zum booten notwendig ist, wie z.B. den Linux-Kernel. Auf dem Raspberry Pi wird dafür i.d.R. FAT32 genutzt: Es ist vergleichsweise einfach zu implementieren und kann von allen Betriebssystemen gelesen werden. Diese Partition enthält nicht das gesamte Betriebssystem, ein paar Hundert MB reichen völlig aus.

Die zweite Partition (bei dir F:) ist für dich aus dem Anfangs erwähnten Grund unsichtbar, weil sie ein Linux-Dateisystem enthält und du Windows nutzt, welches das Dateisystem nicht unterstützt. Die Ext-Dateisysteme sind unter Linux verbreitet, das Raspberry Pi OS nutzt daher ext4:
Code:
$ mount | column -t

/dev/mmcblk0p2  on  /                        type  ext4        (rw,noatime)
Sie enthält das Wurzel-Dateisystem / und damit vereinfacht gesagt alles außer dem Kernel, d.H. die Programme, Konfigurationsdateien usw. Diese Partition ist beim Flashen nur so groß, wie ihr Inhalt. Also maximal ein paar GB, wenn man die vollständige Desktopumgebung installiert.

Der Grund: Du flasht bei den meisten Pi-Betriebssystemen ein komplettes Datenträgerabbild. Ein Abbild ist immer so groß wie die Partition und schließt auch den leeren Speicher ein! Wenn ich also ein Image mit einer 32 GB großen Speicherkarte erstelle, ist das Image 32 GB groß, obwohl davon vielleicht nur ein paar Hundert MB belegt ist. Das bläht das Image unnötig auf, daher wird bei den Images vor der Veröffentlichung in der Regel folgendes gemacht: Man verkleinert die Partition auf die tatsächlich benötigte Größe, bevor man das Image erstellt. Somit ist das Image nur z.B. 400 MB MB groß.

Da die Speicherkarten von den Nutzern größer sind (z.B. 16 GB), läuft beim ersten Start des Pi ein Skript, welches die Partition auf die maximale Größe der SD-Karte vergrößert: Bei einer 16 GB Karte auf 16 GB, bei einer 64 GB Karte auf 64 GB usw. Daher ist ein Image, dass nach dem ersten Start erstellt wurde, genau so groß wie die Speicherkarte. Das kann man auch auf der Ausgabe sehen, wenn beim ersten Start ein Bildschirm am Pi angeschlossen ist:



Anschließend ist die Root-Partition so groß wie die Karte (32 GB) - in diesem Beispiel 29 GB:
Code:
$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root        29G  1.3G  27G  5% /

/dev/mmcblk0p1  253M  49M  204M  20% /boot
...
Die Abweichung von 3 GB kommt daher, dass zum einen 253 MB der Boot-Partition zugewiesen sind. Zum anderen aber auch, weil die Hersteller mit Dezimalpräfixen (Zehnerpotenzen) werben, in der IT aber das duale Binärsystem auf Basis von Zweierpozenzen genutzt wird. Die Hersteller rechnen also mit einer Umwandlungszahl 1000, in der IT sind es aber 1024. Diese 24 Bytes summieren sich, sodass bei größeren Speichermedien ein erheblicher Unterschied zwischen Verkaufsverpackung und der echten Anzeige im Betriebssystem entstehen kann.