1 पॉइंट द्वारा GN⁺ 2024-12-01 | 1 टिप्पणियां | WhatsApp पर शेयर करें

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 का उपयोग कर रहे हैं, तो image subvolume का 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 डिफ़ॉल्ट रूप से सक्षम)
  • 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 build
    • cd build
    • cmake ..
    • 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 टिप्पणियां

 
GN⁺ 2024-12-01
Hacker News टिप्पणियाँ
  • "hold-my-beer" स्तर बहुत ऊँचा है

    • यह अभिव्यक्ति तब इस्तेमाल होती है जब कोई बहुत जोखिम भरा या चुनौतीपूर्ण काम करने वाला हो
  • पहले जब इसे आज़माया था, तो डिस्क read-only हो गई थी

    • उम्मीद है कि अब इसमें सुधार हुआ होगा
  • बहुत शानदार है, लेकिन लोगों को यह खबर सुनने में कम से कम एक हफ़्ता लग जाएगा

    • उन्हें यह तभी पता चलेगा जब वे 2 साल से टाल रहे अपने NTFS ड्राइव फॉर्मैट को पूरा कर चुके होंगे
  • इसे ZFS पर लागू करने का तरीका सोच रहा हूँ

    • शायद यह दूसरे file system types को पढ़ने और ZFS block pointers को synthesize करने वाली एक layer जोड़कर संभव हो
    • अगर ZFS में block pointer rewriting फीचर होता, तो सब कुछ rewrite करके conversion पूरा किया जा सकता था
    • ZFS एक उचित CAS file system नहीं है, इसलिए उसमें block pointer rewriting फीचर नहीं हो सकता
  • अगर यह LZX compression लगे हुए files को support करता है, तो यह बहुत चौंकाने वाली बात होगी

    • इसे Windows 2000 दौर के file compression के साथ भ्रमित नहीं करना चाहिए
    • यह एक फीचर है जिसे compact.exe /C /EXE:LZX (파일명) कमांड से enable करना पड़ता है
  • NTFS स्थिर है, btrfs से तेज़ है, और वही फीचर्स देता है

    • किसी के NTFS को बदलना चाहने की वजह समझना मुश्किल है