Skip to content
NTFS2exFAT

NTFS2exFAT কীভাবে কাজ করে

পাঁচটি পর্ব, এবং কোনোটিই এড়িয়ে যেতে অস্বীকার। প্রতিটি ধাপে আপনার ডেটার কী হয় এবং ভুল থেকে আপনাকে বাঁচাতে কোন কোন পরীক্ষা আছে, এই পাতায় তা ব্যাখ্যা করা হয়েছে।

পাঁচটি পর্ব

১. ড্রাইভ পরীক্ষা (শুধু পড়া)

অ্যাপ কিছু না বদলে ড্রাইভ স্ক্যান করে। এটি ফাইল ও ফোল্ডার গোনে, exFAT-এ অনুমোদিত নয় এমন নাম চিহ্নিত করে, System Volume Information ও $RECYCLE.BIN-এর মতো সিস্টেম ফোল্ডার বাদ দেয়, এবং ড্রাইভ যতটা ব্যবহৃত জায়গা জানায় তার সঙ্গে macOS আসলে যেসব ফাইল দেখতে পায় তা মিলিয়ে দেখে। বড় ফারাক মানে সতর্কসংকেত যে কিছু ডেটা macOS-এর কাছে অদৃশ্য থাকতে পারে।

  • ড্রাইভে কিছুই লেখা হয় না
  • পড়া যায়নি এমন আইটেম তালিকাভুক্ত হয়, নীরবে বাদ যায় না
  • ব্যাকআপে কতটা জায়গা লাগবে তা দেখতে পান

২. চেকসামসহ ব্যাকআপ

ফাইলগুলো আপনার বেছে নেওয়া একটি ফোল্ডারে কপি হয়। প্রতিটি ফাইল কপির সময় তার SHA-256 হিসাব করা হয়। অগ্রগতি শুধু-যোগ-করা (append-only) একটি ম্যানিফেস্টে জমা থাকে, তাই বিরতি দিতে, অ্যাপ বন্ধ করতে এবং আবার শুরু করতে পারেন।

  • যে ড্রাইভ মোছা হবে, ব্যাকআপ সেটিতে রাখা যায় না
  • কেস-ইনসেনসিটিভ ভলিউমে ব্যাকআপের পাথ যাতে সংঘর্ষ না ঘটায় সে ব্যবস্থা আছে
  • ফাইল প্রথমে অস্থায়ী নামে লেখা হয় এবং সম্পূর্ণ হলে তবেই নাম বদলানো হয়

৩. ব্যাকআপ যাচাই

প্রতিটি ব্যাকআপ ফাইল ক্যাশ এড়িয়ে ডিস্ক থেকে আবার পড়া হয় এবং তার চেকসাম মূল ফাইল থেকে হিসাব করা চেকসামের সঙ্গে মেলানো হয়। একটিমাত্র বাইট বদলে গেলেও পরীক্ষা ব্যর্থ হয়।

  • পড়া হয় ডিস্ক থেকে, মেমোরি থেকে নয়
  • কোনো ব্যর্থতা হলে ফরম্যাট ধাপের আগেই প্রক্রিয়া থেমে যায়

৪. সুরক্ষিত মোছা

ফরম্যাট ধাপ কেবল তখনই পাওয়া যায় যখন এই সবগুলো সত্য: ব্যাকআপ সম্পূর্ণ যাচাই হয়েছে, ব্যাকআপ ফাইলগুলো এখনো সঠিক আকারে আছে, ড্রাইভের ভলিউম ও ডিস্কের পরিচয় এবং আকার আগের মতোই আছে, ব্যাকআপ ওই ড্রাইভে নেই, এবং আপনি ড্রাইভের সঠিক নাম টাইপ করেছেন। ড্রাইভ ছোঁয়ার আগেই অ্যাপ লিখে রাখে যে এটি মুছতে যাচ্ছে, যাতে মাঝপথে থেমে গেলে পরে তা চেনা যায়।

  • শুধু বাহ্যিক ড্রাইভ দেখানো হয়
  • ফরম্যাট কমান্ড ঠিক সেই ভলিউমকেই লক্ষ্য করে, যার ব্যাকআপ নেওয়া হয়েছে
  • ফরম্যাটে অনুমতি লাগলে macOS আপনার কাছে তা চায়

৫. ফিরিয়ে কপি ও যাচাই

সবকিছু নতুন 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-এ সোর্স কোড →

ড্রাইভ বদলাতে প্রস্তুত?