lionlizard schrieb:
Diesem Beitrag habe ich entnommen, dass da Blocks in der falschen Größe auf die Platte geschrieben wurden
Ganz großer Unsinn der dort steht. Da kann das noch so viele Upvotes haben, es ist und bleibt gequirlter Ziegenkäse. Die Lösung macht dir einfach nur die Platte platt, dann partitionierst du neu und es stimmt *vielleicht * wieder. Weil der Inhalt der Partitionstabelle sich entsprechend geändert hat (fdisk -CHS -b), und nicht weil das dd einen Einfluss auf die Blockgröße oder sonstwas gehabt hätte.
Du musst dir mal die Partitionen anschauen, ob diese überhaupt richtig ( Offsets und Größe ) erkannt werden. Wenn da jemand mit falschen Sektorgrößen gearbeitet hat, kann das schnell nach hinten losgehen.
Ein 100MiB Loop Device, wie partitioniert man das?
# fdisk -l /dev/loop0
Disk /dev/loop0: 100 MiB, 104857600 bytes, 204800 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xf1461f9f
Device Boot Start End Sectors Size Id Type
/dev/loop0p1 44 50687 50644 24.7M 83 Linux
oder
# fdisk -b 2048 -l /dev/loop0
Disk /dev/loop0: 100 MiB, 104857600 bytes, 51200 sectors
Units: sectors of 1 * 2048 = 2048 bytes
Sector size (logical/physical): 2048 bytes / 2048 bytes
I/O size (minimum/optimal): 2048 bytes / 2048 bytes
Disklabel type: dos
Disk identifier: 0xf1461f9f
Device Boot Start End Sectors Size Id Type
/dev/loop0p1 44 50687 50644 98.9M 83 Linux
oder
# busybox fdisk -l /dev/loop0
Disk /dev/loop0: 100 MB, 104857600 bytes, 204800 sectors
270 cylinders, 12 heads, 63 sectors/track
Units: cylinders of 756 * 512 = 387072 bytes
Device Boot StartCHS EndCHS StartLBA EndLBA Sectors Size Id Type
/dev/loop0p1 0,1,1 269,11,63 63 204119 204057 99.6M 83 Linux
oder
# busybox fdisk -l /dev/loop0
Disk /dev/loop0: 100 MB, 104857600 bytes, 204800 sectors
12 cylinders, 255 heads, 63 sectors/track
Units: cylinders of 16065 * 512 = 8225280 bytes
Device Boot StartCHS EndCHS StartLBA EndLBA Sectors Size Id Type
/dev/loop0p1 0,1,1 11,254,63 63 192779 192717 94.1M 83 Linux
Gruselige Geometriegeschichten.
Bei GPT gibt es das Problem leider auch noch. Aber nicht mehr ganz so krass, da kommt es nur noch auf die Sektorgröße an. Ein mit 512 Byte Sektor erstelltes GPT, und ein mit 4K Sektor erstelltes GPT, ist einfach inkompatibel zueinander. Das merkt man aber normalerweise nur, wenn man Festplatten von einem USB Gehäuse ins andere oder intern verbaut, da manche USB-Adapter gerne 4K Sektoren vorgeben wo die Platte selbst tatsächlich mit 512e unterwegs sind.
Man muss dann einfach die Partitionsoffsets und -größen in Bytes kennen und die Partitionstabelle richtig neu machen. Was im Fall von 512e zu 4K nur möglich ist, wenn die Partitionen aligned waren.
Ist mit irgendwelchen Nachteilen zu rechnen, wenn ich die Blockgröße einfach so belasse, wie sie ist?
Das ist leider davon abhängig, wie diese Partitionstabelle von den beteiligten interpretiert wird. Wenn du Glück hast, dann funktioniert es einfach so. Wenn du Pech hast, sieht Linux die Partitionen so, und Windows sieht sie anders.