NTFS फ़ाइल सिस्टम को open source Btrfs में in-place बदलने की Ntfs2btrfs तकनीक
(github.com/maharmstone)Ntfs2btrfs
Ntfs2btrfs एक टूल है जो Microsoft के NTFS फ़ाइल सिस्टम को open source फ़ाइल सिस्टम Btrfs में बदलता है। यह ext2 को बदलने वाले btrfs-convert जैसा है। रूपांतरण के बाद मूल इमेज image/ntfs.img के रूप में सहेजी जाती है, और अगर आप रूपांतरण बनाए रखना चाहते हैं तो जगह खाली करने के लिए इसे हटा सकते हैं। यह स्थिर माना जाता है, लेकिन यदि कोई समस्या होती है तो इसकी जिम्मेदारी नहीं ली जाती। Windows के लिए Btrfs फ़ाइल सिस्टम ड्राइवर WinBtrfs भी रुचिकर हो सकता है। Eric Biggers को धन्यवाद, जिन्होंने Windows 10 के "WOF compressed data" का सफलतापूर्वक reverse engineering किया, और उनका कोड इस्तेमाल किया गया है।
उपयोग
- Windows: Administrator Command Prompt में
ntfs2btrfs.exe D:\चलाएँ- boot drive या वह drive जिसमें उपयोग में page file हो, उस पर यह काम नहीं करता
- यदि WinBtrfs का उपयोग कर रहे हैं, तो
imagesubvolume का read-only flag हटाना होगा, तभी उसे delete किया जा सकेगा
- Linux: root अधिकारों के साथ
ntfs2btrfs /dev/sda1चलाएँ
इंस्टॉलेशन
- Windows: Releases पेज से नवीनतम Zip फ़ाइल डाउनलोड करें या Scoop का उपयोग करें
- Linux:
- Arch
- Fedora (Conan-Kudo की बदौलत उपलब्ध)
- Gentoo - guru repository में sys-fs/ntfs2btrfs के रूप में उपलब्ध
- Debian (alexmyczko की बदौलत उपलब्ध)
- Ubuntu (alexmyczko की बदौलत उपलब्ध)
- openSUSE (David Sterba की बदौलत उपलब्ध)
- अन्य distributions या operating systems के लिए सीधे compile करना होगा
बदलाव लॉग
- 20240115
- GCC 14 में compile समस्या ठीक की (
-Werror=incompatible-pointer-typesडिफ़ॉल्ट रूप से सक्षम)
- GCC 14 में compile समस्या ठीक की (
- 20230501
btrfs checkमें diagnose न होने वाली ordering समस्या ठीक की- metadata items गलत level value के साथ लिखे जाने की समस्या ठीक की
- बहुत लंबे नाम वाले ADS को skip किया
- 20220812
- checksum calculation को skip करने के लिए --no-datasum option जोड़ा
- LXSS / WSL metadata सुरक्षित रखा
- lowercase drive letters पहचान में न आने की समस्या ठीक की
- डिस्क के आखिरी megabyte में फ़ाइल होने पर corruption की समस्या ठीक की
- 20210923
- (Btrfs) compression support जोड़ा (zlib, lzo, zstd)
- अन्य hash algorithms का support जोड़ा: xxhash, sha256, blake2
- NTFS पर rollback support जोड़ा
- बहुत सारे inode वाले volumes के लिए conversion speed बढ़ाई
- superblock location पर fragmented file होने पर bug fix किया
- security descriptors पढ़ते समय buffer overflow ठीक किया
btrfs checkमें detect न होने वाली file system corruption समस्या ठीक की
- 20210523
- बड़े compressed files की handling बेहतर की
- 20210402 (source code only release)
- non-amd64 architectures पर compile समस्या ठीक की
- 20210105
- NTFS compression support जोड़ा
- "WOF compressed data" support जोड़ा
- sparse files से जुड़ी समस्याएँ ठीक कीं
- अन्य bug fixes
- 20201108
- error handling बेहतर की
- NTFS के damaged या clean न होने पर बेहतर messages जोड़े
- relocation handling बेहतर की
- 20200330
- initial release
कंपाइल
- Windows: नवीनतम MSVC version में source directory खोलें, फिर CMakeLists.txt पर right-click करके compile करें
- Linux:
mkdir buildcd buildcmake ..make- libfmt install होना चाहिए - यह package manager में उपलब्ध होगा
- compression support के लिए zlib, lzo, zstd चाहिए - ये package manager में उपलब्ध होंगे। disable करने के लिए cmake options WITH_ZLIB, WITH_LZO, WITH_ZSTD देखें
जो काम करता है
- फ़ाइलें
- directories
- symbolic links
- अन्य reparse points
- security descriptors
- alternate data streams
- DOS attributes (hidden, system आदि)
- मूल NTFS image पर rollback
- LXSS metadata सुरक्षित रखना
जो काम नहीं करता
- Windows के पुराने extended attributes (उपयोग नहीं होते)
- बड़े ADS (16KB से अधिक) (उपयोग नहीं होते)
- case sensitivity flag को सुरक्षित रखना
- असामान्य cluster size (4KB नहीं)
- encrypted files
क्या Windows को Btrfs से boot किया जा सकता है?
- हाँ, लेकिन इसके लिए कुछ विशेष शर्तें पूरी होनी चाहिए। Quibble देखें।
1 टिप्पणियां
Hacker News टिप्पणियाँ
"hold-my-beer" स्तर बहुत ऊँचा है
पहले जब इसे आज़माया था, तो डिस्क read-only हो गई थी
बहुत शानदार है, लेकिन लोगों को यह खबर सुनने में कम से कम एक हफ़्ता लग जाएगा
इसे ZFS पर लागू करने का तरीका सोच रहा हूँ
अगर यह LZX compression लगे हुए files को support करता है, तो यह बहुत चौंकाने वाली बात होगी
compact.exe /C /EXE:LZX (파일명)कमांड से enable करना पड़ता हैNTFS स्थिर है, btrfs से तेज़ है, और वही फीचर्स देता है