Skip to content
NTFS2exFAT

NTFS2exFAT कैसे काम करता है

पाँच चरण, और किसी को भी छोड़ने से इनकार। यह पेज बताता है कि हर चरण में आपके डेटा के साथ क्या होता है और आपके व गलती के बीच कौन-सी जाँचें खड़ी हैं।

पाँच चरण

1. ड्राइव की जाँच (केवल-पढ़ने वाली)

ऐप बिना कुछ बदले ड्राइव को स्कैन करता है। यह फ़ाइलों और फ़ोल्डरों को गिनता है, उन नामों को चिह्नित करता है जिन्हें exFAT अनुमति नहीं देता, System Volume Information और $RECYCLE.BIN जैसे सिस्टम फ़ोल्डर छोड़ देता है, और ड्राइव द्वारा बताई गई उपयोग की गई जगह की तुलना उन फ़ाइलों से करता है जो macOS को वाकई दिखती हैं। बड़ा अंतर इस बात की चेतावनी है कि कुछ डेटा macOS को दिखाई न दे रहा हो।

  • ड्राइव पर कुछ भी नहीं लिखा जाता
  • अपठनीय आइटम सूचीबद्ध होते हैं, चुपचाप छोड़े नहीं जाते
  • आपको दिखता है कि बैकअप के लिए कितनी जगह चाहिए

2. चेकसम के साथ बैकअप

फ़ाइलें आपके चुने फ़ोल्डर में कॉपी होती हैं। हर फ़ाइल कॉपी होते समय उसका SHA-256 निकाला जाता है। प्रगति एक केवल-जोड़ने वाले मैनिफ़ेस्ट में सहेजी जाती है, इसलिए आप रोक सकते हैं, ऐप बंद कर सकते हैं और फिर शुरू कर सकते हैं।

  • बैकअप उस ड्राइव पर नहीं हो सकता जिसे मिटाया जाएगा
  • केस-इनसेंसिटिव वॉल्यूम पर बैकअप पाथ आपस में टकराते नहीं
  • फ़ाइलें पहले अस्थायी नाम से लिखी जाती हैं और पूरी होने पर ही उनका नाम बदला जाता है

3. बैकअप का सत्यापन

हर बैकअप फ़ाइल को कैश को बायपास करके डिस्क से वापस पढ़ा जाता है और उसके चेकसम की तुलना मूल फ़ाइल से निकाले गए चेकसम से होती है। एक भी बदला हुआ बाइट जाँच विफल कर देता है।

  • रीड मेमोरी से नहीं, डिस्क से आते हैं
  • कोई भी विफलता फ़ॉर्मैट चरण से पहले प्रक्रिया रोक देती है

4. सुरक्षित मिटाना

फ़ॉर्मैट चरण केवल तभी उपलब्ध होता है जब ये सब सही हों: बैकअप पूरी तरह सत्यापित हो, बैकअप फ़ाइलें सही आकार के साथ अब भी मौजूद हों, ड्राइव का वॉल्यूम, डिस्क की पहचान और आकार वही हो, बैकअप उस ड्राइव पर न हो, और आपने ड्राइव का सही नाम टाइप किया हो। ऐप ड्राइव को छूने से पहले दर्ज करता है कि वह मिटाने वाला है, ताकि रुकावट को बाद में पहचाना जा सके।

  • केवल बाहरी ड्राइव दिखाई जाती हैं
  • फ़ॉर्मैट कमांड ठीक उसी वॉल्यूम को निशाना बनाती है जिसका बैकअप लिया गया था
  • अगर फ़ॉर्मैट के लिए अनुमति चाहिए, तो macOS आपसे पूछता है

5. वापस कॉपी करें और सत्यापित करें

सब कुछ नए exFAT वॉल्यूम पर कॉपी होता है और चेकसम की तुलना के लिए दोबारा पढ़ा जाता है। जो नाम exFAT में मान्य नहीं हैं, उन्हें बदला जाता है और सूचीबद्ध किया जाता है। एक अंतिम रिपोर्ट बैकअप के पास सहेजी जाती है।

  • खराब बैकअप फ़ाइल कभी नई ड्राइव पर कॉपी नहीं होती
  • जब तक आप हटा न दें, बैकअप बना रहता है

यहाँ “सत्यापित” का मतलब

कोई फ़ाइल तब सत्यापित मानी जाती है जब लिखने के बाद ड्राइव से वापस पढ़ी गई उसकी सामग्री मूल फ़ाइल जैसा ही SHA-256 देती है। ऐप केवल फ़ाइल के आकार या तारीख़ पर भरोसा नहीं करता। एकमात्र अपवाद ._* नाम वाली macOS मेटाडेटा फ़ाइलें हैं: exFAT पर कॉपी करने के बाद macOS उन्हें एक्सटेंडेड एट्रिब्यूट में मिला देता है, इसलिए उनकी केवल लिखे जाने की पुष्टि हो सकती है, दोबारा पढ़कर जाँच नहीं।

फ़ाइल नाम और मेटाडेटा

exFAT में वर्ण " * : < > ? \ |, कंट्रोल कैरेक्टर, या अंत में स्पेस अथवा बिंदु वाले नाम मान्य नहीं हैं। ऐसे नाम बदल दिए जाते हैं और रिपोर्ट में सूचीबद्ध होते हैं। जो नाम केवल बड़े-छोटे अक्षरों में भिन्न हैं, उन्हें अलग-अलग बनाया जाता है। फ़ाइलों और फ़ोल्डरों की संशोधन तिथियाँ सुरक्षित रहती हैं।

ईमानदार सीमा

macOS का बिल्ट-इन NTFS रीडर उन फ़ाइलों को छिपा या उनके नाम बदल सकता है जिनके नाम Windows में मान्य नहीं हैं। NTFS2exFAT उसी के साथ काम करता है जो macOS उसे दिखाता है। जब ड्राइव की उपयोग की गई जगह दिखने वाली फ़ाइलों से काफ़ी ज़्यादा हो, तो यह चेतावनी देता है, लेकिन किसी एक छिपी फ़ाइल का पता नहीं लगा सकता। अगर आपकी ड्राइव पर Mac या Linux के NTFS ड्राइवर से लिखा गया है, तो कन्वर्ट करने से पहले उसे Windows में या NTFSTool जैसे ntfs-3g आधारित ड्राइवर से जाँच लें।

अंदर की बनावट

कन्वर्ज़न इंजन एक छोटी Swift लाइब्रेरी है जो Foundation और CryptoKit के अलावा किसी पर निर्भर नहीं है। इसे Mac ऐप और कमांड-लाइन टूल दोनों साझा करते हैं।

  • मैनिफ़ेस्ट: हर फ़ाइल के लिए एक JSON लाइन, जिसमें पाथ, आकार, चेकसम और स्थिति
  • कॉपी: 4 MiB बफ़र, बिना कैश के रीड और राइट, fsync, एटॉमिक रीनेम
  • कॉन्करेंसी: एक साथ कई फ़ाइलें, हर वर्कर पर एक बार में एक बड़ी फ़ाइल
  • सुरक्षा जाँचें इंजन में ही हैं, इसलिए ऐप और कमांड लाइन दोनों पर वही नियम लागू होते हैं

इसका परीक्षण कैसे किया गया

इंजन के यूनिट टेस्ट हैं (जिसमें एक ऐसा टेस्ट भी है जो सत्यापित बैकअप में एक बाइट पलटता है और उम्मीद करता है कि जाँच विफल हो), और एंड-टू-एंड टेस्ट हैं जो असली NTFS डिस्क इमेज बनाते हैं, पूरा कन्वर्ज़न चलाते हैं और हर बहाल की गई फ़ाइल की तुलना SHA-256 से करते हैं। भौतिक बाहरी ड्राइव पर परीक्षण अभी जारी हैं, और यह इसके बीटा होने का एक कारण है।

कमांड लाइन पसंद है?

वही इंजन ntfs2exfat-cli के रूप में उपलब्ध है।

ntfs2exfat-cli list
ntfs2exfat-cli start disk4 ~/Backups
ntfs2exfat-cli backup ~/Backups/NTFS2exFAT-<job>
ntfs2exfat-cli erase ~/Backups/NTFS2exFAT-<job> --confirm "MY DRIVE"
ntfs2exfat-cli restore ~/Backups/NTFS2exFAT-<job>

GitHub पर सोर्स कोड →

अपनी ड्राइव बदलने के लिए तैयार हैं?