Om det kommer från en hårddisktillverkares kabinett så slåss du med att över USB-bussen emuleras 4K-sektorer medans internt på disken så använd 512e-sektorer. dvs SATA/USB-chippet inne i USB-disken konverterar mellan 512-bytes och 4k-sektorer under flykten när datorn kommunicerar med den externa USB-disken.
Det betyder att både MFT och/eller GPT är skriven för 4k-sektorer i sin struktur och det gäller också filsystemen på disken och detta fungerar bra så länge disken är kvar på sin externa kabinett.
Tar du ur disken och stoppa in i datorn med SATA-sladd, så finns inte konverteringen 512-byte/4k-byte sektor längre kvar, så presenterar sig disken nu att den har 512-bytes sektor och OS tar detta som stenhård fakta och då antar att det är 512-bytes sektorer - men alla referenser på disken förutsätter att det är 4k-sektorer som refereras och precis allt kommer att skita sig då alla LBA-referenser efter sektor 0 kommer att peka en faktor 8 ggr för nära diskbörjan.
dvs:
LBA '1' pekar på byte 4096 med 4k-sektor, medans pekar på byte 512 med 512-bytes sektor
LBA '2' pekar på byte 8192 med 4k-sektor medans pekar på byte 1024 med 512-bytes sektor
och nu ligger datat med 4k-geometri och läses allt med 512-bytes geometri så blir precis allt fel utom sektor '0' (MFT) som är en dummy om man använder GPT som partitionstabell och windows går jätte väldigt fel...
---
Om datat är viktig - försök inte formatera disken och framförallt inte i windows, det du skall göra är att göra en diskimage (till en ännu större disk) under linux med ddrescue och sedan i linux använda 'losetup' för att göra en virtuell disk av diskimagen med annan sektorstorlek (4k-sektorer istället för disken 512-bytes sektorer) och efter detta så kan du förmodligen montera partitionerna och där läsa ut all data du är rädd om till annan disk. - du får dock själv surfa och läsa detaljerna i hur man gör med 'losetup' då jag vill inte skriva något detaljera innan jag själv provat att det fungerar och det är för mycket jobb att göra nu....
---
Om datat på disken är oviktigt och du vill bara kunna använda disken igen - för att windows över huvud taget skall tillåta partitionering och formatering i framtiden utan att krascha så måste all gammal information bort från diskens början tas bort (skrivas över med värdet '0') nu när det inte pekar rätt så går MS-programmen helt vilse utan att inse att de pekas i helt fel riktning.
Och enklast för att ta bort datat är att man skriver över början av hårddisken med '0' någon eller ett par GB och det gör man enklast linux och 'dd' uppstartad från en USB-sticka (ta bort alla andra diskar som du har data du är rädd om - dvs. SATA-sladden tas bort från dem...)