În principiu, funcționează după cum urmează. La o operațiune de mutare, fiecare fișier din sursă este șters imediat ce a fost copiat cu succes la destinație.Când întrerupeți o operațiune de mutare în timpul transferului unui fișier (de obicei mai mare), fișierul destinație este incomplet (acesta este, în opinia mea, un comportament nefericit al linux - mai degrabă, copia incompletă, adică un fișier corupt, ar trebui ștearsă) , cu toate acestea, fișierul sursă este păstrat.
A doua considerație este că Linux folosește extensiv RAM pentru a tampona operațiunile de transfer de fișiere. Aceasta înseamnă că conținutul este mai întâi stocat în memoria RAM și abia apoi scris fizic cu o oarecare întârziere pe discul de destinație. Datorită acestui mecanism, copia pare să fie terminată mai devreme decât este în realitate. Odată ce toate fișierele au fost citite în cache, copia este considerată finalizată. Sistemul de operare va continua apoi, în fundal, să scrie fișierele pe disc.
Faptul că aveți fișiere corupte mă face să bănuiesc că este posibil să fi eliminat unitatea exfat prea devreme. Este posibil să fi îndepărtat fizic unitatea după ce sistemul v-a spus că operațiunea de mutare a fost anulată. Sistemul spune așa, dar în realitate, operațiunile de scriere fizică ar fi putut fi încă în desfășurare în fundal, pe baza stocării în cache pe care am explicat-o mai sus.
Acesta este motivul principal pentru care trebuie să vă deconectați întotdeauna unitățile după ce le-ați deconectat prin intermediul software-ului. Dacă încercați mai întâi să vă deconectați prin intermediul software-ului, sistemul vă va avertiza dacă îndepărtarea fizică nu este încă sigură, ștergeți memoria cache și vă va anunța când este sigur să eliminați unitatea.
O recomandare: preferați să copiați mai degrabă decât să mutați mai întâi un set mare de fișiere, apoi ștergeți sursa odată ce copia este finalizată. Dacă anulați, toate fișierele sursă sunt încă acolo, neatinse.