web-dev-qa-db-fra.com

Défragmentation des partitions NTFS sous Linux

Existe-t-il des outils que je peux utiliser pour défragmenter ma partition Windows sous Linux?

17
Alex

Oui, vous pouvez utiliser shake . Vous devez d’abord ajouter un référentiel personnalisé à votre système:

Sudo add-apt-repository ppa:un-brice/ppa
Sudo apt-get update
Sudo apt-get install shake-fs

Alors tu peux faire

Sudo shake /some/dir
12
alexg

Pour ce que je sais, il n’existe aucun outil de ce type.

Certains sites signalent la commande suivante

# WARNING - does not work
fsck -t ntfs --kerneldefrag /dev/hdX

mais cela ne fonctionne pas, et on ne sait pas où ils l'obtiennent.

9
enzotib

Mise à jour: UltraDefrag pour Linux:

UltraDefrag est un puissant outil de défragmentation Open Source pour la plate-forme Windows. Il peut défragmenter tous les fichiers système, y compris les ruches du registre et les fichiers de pagination. L'un des principaux objectifs d'UltraDefrag est de faire le travail le plus rapidement et le plus fiable possible. Il est porté sur Linux et NTFS-3G pour la défragmentation des partitions NTFS. Actuellement, seule une version test en mode console est disponible. Veuillez lire le fichier inclus README.linux pour compiler et tester

http://jp-andre.pagesperso-orange.fr/advanced-ntfs-3g.html

[Je ne l'ai pas encore utilisé moi-même. Je l'ai trouvé via n fil de discussion sur un forum Arch . Suivre le fil de la page suivante mène à plus d'informations sur le sujet. Essayez à vos risques et périls. — kevjonesin—]

6
kevjonesin

Il est très astucieux de tricher pour archiver une défragmentation NTFS (y compris l'espace libre) ... cela peut être fait avec un Live Linux comme SystemRescueCD ...

Cependant, vous devez disposer d'un deuxième disque dur ou d'au moins 51% d'espace libre (si vous n'utilisez pas la compression).

Le truc (très délicat) est d’utiliser des outils pour "cloner" la partition, mais pas ceux typiques ... il existe un outil qui peut "cloner" une partition NTFS mais ne pas faire un "clone" exact ... laissez-moi vous expliquer. ...

L'outil est fsarchive (si je ne me souviens pas de mauvais).

Cela fait un très gros fichier (comme les outils de clonage), avec tous les fichiers (méfiez-vous des métadonnées spéciales de fichiers NTFS, les flux que je pense qu’ils sont appelés), comme le fait un outil de "clonage" ...

Mais la partie délicate vient lors de la restauration ... elle ne place pas les fichiers là où elle est, elle place des fichiers sans aucune fragmentation.

Je l'avais utilisé pour la partition système Windows ainsi que pour les partitions de données NTFS ... avec succès ... pas très facile à utiliser/comprendre (lisez attentivement la documentation) ... mais peut faire l'affaire.

Rappelez-vous ... un fichier aussi volumineux qu’il crée peut être compressé, il n’est donc pas nécessaire d’avoir 51% de gratuité.

Mais de toute façon, vous devez d’abord réduire la partition NTFS ... utilisez GParted (si je ne me souviens pas de mauvais).

Alors étapes:

  1. Dans le pire des cas: le disque dur n'a qu'une seule partition BIG NTFS, avec suffisamment d'espace libre
  2. Boot SystemRescuCD (si vous voulez démarrer X Windows avec la commande de l'assistant)
  3. Utilisez GParted pour réduire la partition NTFS à sa taille minimale (fragmentera davantage les fichiers NTFS, peu importe)
  4. Utilisez GParted pour créer une autre partition sur l'espace disponible, mieux si le type ext4 (journal)
  5. Montez cette nouvelle partition, mais ne montez pas NTFS
  6. Utilisez fsarchiver pour créer un "clone" de la partition NTFS, utilisez la compression et stockez le fichier bif sur la partition créée.
  7. C’est désormais très risqué: utilisez GParted pour supprimer la partition NTFS et la recréer.
  8. Restaurez le "clone" en utilisant fsarchiver, tous les fichiers sur une partition NTFS seront constitués d'un fragment (sauf un ou deux, car $ MFT pourrait être placé au milieu, pas au niveau de la strat ou de la fin de la partition)
  9. Utilisez Gparted pour réduire la partition NTFS si nécessaire
  10. Vérifier que le NFTS est correct, qu'il peut être monté, lu/écrit et démonté
  11. Démonter la partition ext4 nouvellement créée
  12. Utilisez Gparted pour faire croître cette ext4 (ou mieux, supprimez-la et recréez-la)

C'est ça, les gens ... comme je l'ai dit très délicat et risqué, bien sûr.

Attention aux points clés:

  • La réduction NFTS laisse suffisamment d’espace libre pour contenir une image compressée de la partition NTFS (51% d’espace libre sur le disque dur garantit qu’il y en a assez)
  • fsarchiver n'enregistre pas les flux NTFS?
  • fsarchiver restore ne place pas les fichiers là où ils se trouvent, il les met non fragmentés (comme une copie)
  • Après avoir supprimé et recréé une partition NTFS, il n'y a plus de chemin

Les étapes sont les suivantes: Utilisez un linux LiveCD/LiveUSB pour défragmenter une partition NTFS qui utilise 100% du disque, sans autre disque dur connecté à un tel PC [doit disposer de suffisamment d’espace libre].

IMPORTANT:

  • Certains pourraient penser que si vous avez 51% de disque libre sur le disque dur après la réduction de NTFS, il pourrait être plus sûr de simplement créer cette ext4 et de copier tous les fichiers NTFS, puis de supprimer NTFS, de le recréer et de les copier à nouveau. comme les autorisations de sécurité NTFS, etc.

Tant que je sais que GParted/fsarchiver est la solution la plus proche (pour utiliser uniquement un LiveCD/LiveUSB avec Linux), non pas rapide, quelque peu risqué, mais des conditions satisfaisantes imposées par la personne qui pose la question.

Soyez conscient: C'est très, très risqué ... comme avec n'importe quel outil de "clonage" ... et pour l'instant je ne connais pas d'autre meilleur moyen ... et il perdra les flux NTFS (si je ne me souviens pas de mauvais)

S'IL VOUS PLAÎT: Lire attentivement les documents fsarchiver, avant de l'utiliser.

Je n'ai aucune responsabilité (je l'avais utilisé sur mes propres données, mais j'ai toujours une sauvegarde externe - de bons partices).

En pratique ... toutes les informations dont je dispose, je les ai placées sur au moins trois supports différents (disque dur, DVD, mémoires Flash), avec au moins trois copies sur chaque support, donc j’en ai 9 copies ... si je perds 8 des ils se reposent un plus pour récupérer des données ... je suis un peu paranoïaque, je le savais.

0
user372809

Ceci est un gros avertissement pour tous ceux d'entre vous qui pensent que NFTS peut être défragmenté sur Linux simplement en copiant des fichiers (clonage de fichiers uniquement), etc.:

  • Certains NTFS (fichiers/dossiers) peuvent avoir un attribut spécial actif, il s’appelle Compression NTFS.

d'après ce que je sais, chaque fois que Linux (cp, fsarchiver, etc.) écrit un fichier/dossier sur un système NTFS, il l'écrit toujours sans compression NTFS, peu importe si le fichier/dossier est activé ou désactivé.

Ainsi, vous pouvez arriver à une situation (je la rencontre à la dure), où restaurer avec fsarchive (ou cp, etc.) rendrait la partition complète et insuffisante.

Certains types de données peuvent atteindre un taux de compression NTFS supérieur à 3, vous pouvez donc avoir une partition X GiB avec beaucoup de fichiers, et la somme des fichiers doit être proche de 3 * X.

Je donne cet avertissement parce que ce n'est pas bien connu et crée parfois de très gros maux de tête. Par exemple, la restauration d’un clone nécessite plus d’espace que la partition entière qui a été clonée, car la compression NTFS a été perdue sous Linux.

Aussi, avec des données très très spéciales (ratio NTFS supérieur à 5) j'atteins cette situation:

  • Taille de la partition NTFS de X GiB
  • Le fichier qui contient le clone (avec la meilleure compression laissée par cet outil, GZip je pense) a pris 2 * X GiB

Oh oui, le clone a été compressé et il a fallu doubler la taille de cette partition.

Cela est dû au fait que l'outil de clonage lit les fichiers en clair (en clair, non compressés), puis comprime les données (avec un rapport vraiment pire que ne l'a fait NTFS).

Bien sûr, la restauration de ces données ne tiendra pas sur cette partition, car les données restaurées seront placées sans compression NTFS.

J'espère qu'il est clair une autre raison pourquoi ne pas utiliser la compression NFTS? Eh bien, pas du tout, j’utilise beaucoup la compression NTFS (par le passé). Les fichiers VDI (Virtual Box) obtiennent un très bon rapport.

Maintenant, j'avais découvert Pismo File Mount (et cela fonctionne aussi sous Linux). il peut créer un fichier qui fait office de conteneur (sous forme de dossier) et qui peut être compressé (également avec un meilleur rapport que NFTS) et simultanément crypté.

Pourquoi je le mentionne parce que tout outil de clonage verra ce conteneur comme un fichier (s'il n'est pas monté en tant que dossier) et lira/dump/sauvegardera le flux de données compressé, pas les données non compressées (comme avec la compression NTFS). la restauration est donc comme avec n'importe quel autre fichier.

Au lieu de compresser un dossier NTFS avec un attribut de compression NTFS, je mets un dossier virtuel Pismo File Mount. obtenir une meilleure compression, etc.

Je dois également avertir toutes les personnes intéressées par cet outil gratuit. il n'a pas de réduction (du moins pour le moment), donc si le contenu du dossier change beaucoup, ce n'est pas une si bonne idée.

Mais pour les disques virtuels immuables, les images ISO et les choses qui ne changeront pas, le rapport obtenu est très proche de celui de LZMA2 (7-Zip) et peut être lu/écrit à la volée.

Et c'est multi-plateforme.

Notez que le méchant de la compression NTFS parle de fragmentation. lorsque vous écrivez un fichier sur un NTFS avec compression NTFS, il le fait de cette façon (oui horrible, je pense que c'est fait comme ça pour assurer une plus grande fragmentation de manière intentionnelle, le pire ne peut pas être fait):

  1. La position de départ en écriture est pré-calculée comme 64K * N, N étant le nombre de morceaux de 64K qui seront essayés pour être compressés
  2. Un tampon pour 64K est réservé
  3. Ce tampon est rempli de 64 Ko, puis compressé
  4. Seuls les blocs 4K nécessaires sont écrits, les autres sont laissés comme espace libre

Donc, cela crée beaucoup, beaucoup de GAP au milieu du fichier, et seulement après une défragmentation de fichier que les GAP disparaissent, mais cette défragmentation ne se produit pas tant que l'utilisateur ne l'a pas ordonné (contig.exe, defrag.exe, etc.).

Oui, il écrit le nth morceau de 64K sur une position multiple de 64K, peu importe si les données précédentes peuvent ou non être compressées, il laisse un espace entre chaque morceau de 64K (si toutes peuvent être compressées).

La compression de dossiers virtuels Pismo File Mount agit comme si toute compression normale était supposée être effectuée, en mode raccordé, donc pas de lacunes. au moins jusqu'à ce que vous supprimiez quelque chose.

Autre avertissement, ne mettez pas de fichiers VHD/VHDX à l'intérieur, Windows ne pourra pas les attacher! Windows utilise une astuce du noyau pour monter de telles choses, il n'utilise pas le niveau de système de fichiers, fonctionne à bas niveau.

Je voudrais également mettre la main sur un défragmenteur Linux NTFS, bien sûr, serait plus rapide que tout ce qui fonctionne sous Windows. défragmenter l'espace libre est une folie totale. ou mieux parler. créer un tout assez gros pour un nouveau gros fichier.

Aussi, ce serait bien que ma mémoire fonctionne mieux. Dans le passé, j'utilisais un outil (ligne de commande, désolé) sous Windows, capable de copier/déplacer un fichier de manière non fragmentée. déplacer les fichiers nécessaires tout en les obtenant entiers, et non en les fragmentant. cela ne donne un message que s'il ne peut pas trouver un moyen de mettre le fichier (impossible d'obtenir un trou) ou un avertissement différent s'il doit t fragmenter un autre fichier (en demandant si cela est autorisé par l'utilisateur), etc. était vraiment génial. Je ne me souvenais plus du nom (et peut-être que cela ne fonctionne pas avec les fenêtres modernes, c'était pour Win2000).

0
Claudio

Non, il s’agit de systèmes de fichiers Windows, vous devrez donc utiliser Windows pour les défragmenter.

0
psusi