La technologie Ntfs2btrfs pour convertir sur place le système de fichiers NTFS en Btrfs open source
(github.com/maharmstone)Ntfs2btrfs
Ntfs2btrfs est un outil qui convertit le système de fichiers NTFS de Microsoft en Btrfs, un système de fichiers open source. Il est similaire à btrfs-convert, qui convertit ext2. Après la conversion, l’image d’origine est enregistrée sous image/ntfs.img ; si vous souhaitez conserver la conversion, vous pouvez la supprimer pour libérer de l’espace. Le logiciel semble stable, mais aucune responsabilité n’est assumée en cas de problème. WinBtrfs, le pilote de système de fichiers Btrfs pour Windows, peut également vous intéresser. Merci à Eric Biggers, qui a réussi à rétroconcevoir les « données compressées WOF » de Windows 10, et dont le code est utilisé ici.
Utilisation
- Windows : exécuter
ntfs2btrfs.exe D:\dans une invite de commandes administrateur- Ne fonctionne pas sur le disque de démarrage ni sur un disque contenant un fichier d’échange en cours d’utilisation
- Si vous utilisez WinBtrfs, il faut retirer l’attribut lecture seule du sous-volume
imagepour pouvoir le supprimer
- Linux : exécuter
ntfs2btrfs /dev/sda1avec les privilèges root
Installation
- Windows : télécharger le dernier fichier Zip depuis la page Releases ou utiliser Scoop
- Linux :
- Arch
- Fedora (rendu possible grâce à Conan-Kudo)
- Gentoo — disponible sous la forme
sys-fs/ntfs2btrfsdans le dépôt guru - Debian (rendu possible grâce à alexmyczko)
- Ubuntu (rendu possible grâce à alexmyczko)
- openSUSE (rendu possible grâce à David Sterba)
- Pour les autres distributions ou systèmes d’exploitation, une compilation manuelle est nécessaire
Journal des modifications
- 20240115
- Correction d’un problème de compilation avec GCC 14 (
-Werror=incompatible-pointer-typesactivé par défaut)
- Correction d’un problème de compilation avec GCC 14 (
- 20230501
- Correction d’un problème d’ordre non diagnostiqué par
btrfs check - Correction d’un problème où des entrées de métadonnées étaient écrites avec une valeur de niveau incorrecte
- Ignore les ADS dont le nom est trop long
- Correction d’un problème d’ordre non diagnostiqué par
- 20220812
- Ajout de l’option
--no-datasumpour ignorer le calcul des sommes de contrôle - Préservation des métadonnées LXSS / WSL
- Correction d’un problème où les lettres de lecteur en minuscules n’étaient pas reconnues
- Correction d’un problème de corruption lorsqu’un fichier se trouvait dans le dernier mégaoctet du disque
- Ajout de l’option
- 20210923
- Ajout de la prise en charge de la compression (Btrfs) (zlib, lzo, zstd)
- Ajout de la prise en charge d’autres algorithmes de hachage : xxhash, sha256, blake2
- Ajout de la prise en charge du retour en arrière vers NTFS
- Accélération de la conversion pour les volumes contenant de nombreux inodes
- Correction d’un bug lorsqu’un fichier fragmenté se trouvait à l’emplacement du superbloc
- Correction d’un dépassement de tampon lors de la lecture des descripteurs de sécurité
- Correction d’un problème de corruption du système de fichiers non détecté par
btrfs check
- 20210523
- Amélioration du traitement des gros fichiers compressés
- 20210402 (version source uniquement)
- Correction d’un problème de compilation sur les architectures non amd64
- 20210105
- Ajout de la prise en charge de la compression NTFS
- Ajout de la prise en charge des « données compressées WOF »
- Correction de problèmes liés aux fichiers creux
- Divers correctifs de bugs
- 20201108
- Amélioration de la gestion des erreurs
- Ajout de meilleurs messages lorsque NTFS est corrompu ou n’est pas dans un état propre
- Amélioration de la gestion du déplacement
- 20200330
- Version initiale
Compilation
- Windows : ouvrir le répertoire source dans la dernière version de MSVC, puis faire un clic droit sur CMakeLists.txt pour compiler
- Linux :
mkdir buildcd buildcmake ..make- libfmt doit être installé — il devrait être disponible dans le gestionnaire de paquets
- La prise en charge de la compression nécessite zlib, lzo et zstd — ils devraient être disponibles dans le gestionnaire de paquets. Pour la désactiver, voir les options cmake WITH_ZLIB, WITH_LZO, WITH_ZSTD
Ce qui fonctionne
- Fichiers
- Répertoires
- Liens symboliques
- Autres points d’analyse
- Descripteurs de sécurité
- Flux de données alternatifs
- Attributs DOS (caché, système, etc.)
- Retour en arrière vers l’image NTFS d’origine
- Préservation des métadonnées LXSS
Ce qui ne fonctionne pas
- Les anciens attributs étendus de Windows (non utilisés)
- Les gros ADS (plus de 16 Ko) (non utilisés)
- La préservation du drapeau de sensibilité à la casse
- Les tailles de cluster inhabituelles (différentes de 4 Ko)
- Les fichiers chiffrés
Est-il possible de démarrer Windows depuis Btrfs ?
- Oui, mais certaines conditions doivent être réunies. Voir Quibble.
1 commentaires
Réactions sur Hacker News
Le niveau de « hold-my-beer » est très élevé
Lors d’une tentative précédente, le disque était devenu en lecture seule
C’est très cool, mais il faudra au moins une semaine avant que les gens entendent parler de cette nouvelle
Réflexion en cours sur la manière d’appliquer cela à ZFS
Ce serait très surprenant si les fichiers utilisant la compression LZX étaient pris en charge
compact.exe /C /EXE:LZX (nom du fichier)NTFS est stable, plus rapide que btrfs et offre les mêmes fonctionnalités