Completamente desfragmentando um disco

1

Então, meu disco está uma bagunça. Primeiro eu preciso mencionar que é um sistema de arquivos NTFS. Então, o que eu quero fazer é desfragmentar completamente o disco. Eu quero isso para que depois de desfragmentar eu tenho espaço vazio contínuo após o último setor de dados. Isso é possível? Foi-me dito que é.

    
por Roberto Nicba Anić Banić 14.12.2015 / 18:28

1 resposta

0

find ~ -maxdepth 20 -type f -size -16M -print > t; for ((i=$(wc -l < t); i>0; i--)) do a=$(sed -n ${i}p < t); mv "$a" /dev/shm/d; mv /dev/shm/d "$a"; echo $i; done; echo DONE; rm t

para flash drives (e discos rígidos externos), substitua o "~" em "find ~ -maxdepth" pelo local da unidade.

exemplo:

find /dev/sdb1 -maxdepth 20 -type f -size -16M -print > t; for ((i=$(wc -l < t); i>0; i--)) do a=$(sed -n ${i}p < t); mv "$a" /dev/shm/d; mv /dev/shm/d "$a"; echo $i; done; echo DONE; rm t

isso funciona na maioria dos casos. o script basicamente re-copia a maioria dos dados em 16 mb da unidade de volta para a unidade. funciona porque a maioria dos sistemas de arquivos (incluindo o fat 32) sempre tentam manter novos dados contíguos quando são salvos.

Isso é projetado para desfragmentar o diretório ~ /. Se você está realmente querendo fazer o trabalho, eu sugiro que você tente enfraquecer o disco usando um computador / programa do Windows.

Vinho talvez também?

    
por Max Kulik 14.12.2015 / 19:16