উত্তর:
ddrescue আবার চালু করা যেতে পারে, তবে এটি করার জন্য লগ ফাইল দরকার। লগ ফাইলটি এখনও অবধি ডিড্রেসকিউয়ের যে অগ্রগতি রেকর্ড করেছে তা রেকর্ড করবে এবং ddrescue পুনরায় আরম্ভ করার ফলে লগ ফাইলটি পড়তে হবে এবং এটি যেখানে ছেড়ে গিয়েছিল তা শুরু হবে।
লগ ফাইলটি তৃতীয় প্যারামিটার হবে:
ddrescue /dev/sdd1 ./bye1t.dd_rescue.image ~/sdd1.log
আপনি যদি ইতিমধ্যে লগ ফাইল ছাড়াই ডিড্রেসকিউ চালানো শুরু করেন এবং পরবর্তীতে ddrescue চালায় তবে এটি শুরুতে শুরু হবে কারণ এর মধ্যে ইতিমধ্যে কী উদ্ধার হয়েছে তার কোনও রেকর্ড নেই।
এমনকি যদি আপনি কোনও লগফিল নির্দিষ্ট করতে ভুলে যান, তবে আশা থাকতে পারে:
সুতরাং আপনি টিউটোরিয়ালটি পড়েন নি এবং লগ-ফাইল ছাড়াই ddrescue শুরু করেছেন। এখন, দুই দিন পরে, আপনার কম্পিউটার ক্র্যাশ হয়ে গেছে এবং আপনি কীভাবে ডেড্রেসকিউ সংরক্ষণ করতে সক্ষম হয়েছেন তা জানতে পারবেন না। আরও খারাপ, আপনি উদ্ধার কাজটি আরম্ভ করতে পারবেন না; আপনাকে প্রথম থেকেই এটি পুনরায় চালু করতে হবে।
অথবা আপনি সম্ভবত কোনও ড্রাইভ অনুলিপি করা শুরু করেছেন dd conv=noerror,sync
এবং এখন উপরে বর্ণিত একই পরিস্থিতিতে রয়েছেন। এই ক্ষেত্রে, নোট করুন যে আপনি ডিডি দ্বারা তৈরি একটি অনুলিপি sync
রূপান্তর যুক্তির সাথে না চাওয়া হলে ব্যবহার করতে পারবেন না ।
হতাশ করবেন না (এখনও)। Ddrescue কিছু ক্ষেত্রে ইনপুট ফাইল এবং (আংশিক) অনুলিপি থেকে একটি আনুমানিক লগফিল উত্পন্ন করতে পারে, এটি প্রায় একটি নিখুঁত লগফাইলে হিসাবে ভাল। এটিকে কেবল ধরে নিয়েই যে সেক্টরগুলিতে সমস্ত শূন্যকে উদ্ধার করা যায়নি।
তবে, যদি অনুলিপিটির গন্তব্যটি ড্রাইভ বা পার্টিশন, (বা বিদ্যমান নিয়মিত ফাইল এবং কাটানোর অনুরোধ করা হয়নি), সম্ভবত আপনাকে প্রথম থেকেই ddrescue পুনরায় চালু করতে হবে। (অবশ্যই একটি লগফাইলে এবার)। কারণটি হ'ল পুরানো ডেটা ড্রাইভে উপস্থিত থাকতে পারে যা এখনও ওভাররাইট করা হয়নি, এবং এটি অ-চেষ্টা করা হলেও শূন্য নয়।
উদাহরণস্বরূপ, যদি আপনি প্রথমে এই আদেশগুলির মধ্যে একটি ব্যবহার করে থাকেন:
ddrescue infile outfile
অথবা
dd if=infile of=outfile conv=noerror,sync
আপনি এই আদেশটি দিয়ে একটি আনুমানিক লগফিল তৈরি করতে পারেন:
ddrescue --generate-mode infile outfile logfile
যেমনটি অন্যেরা বলেছেন, আপনার সর্বদা তৃতীয় প্যারামিটার হিসাবে একটি লগফাইলে নির্দিষ্ট করা উচিত, যা পুনরায় শুরু করার অনুমতি দেবে। যেহেতু আপনি এটি করেন নি, এটি আপনাকে এখানে সহায়তা করবে না। প্রক্রিয়াটি কোন পয়েন্টে পৌঁছেছে তা আপনি যদি জানেন তবে আপনি সেই বিন্দুটি থেকে শুরু করতে --input-position
এবং --output-position
পরামিতিগুলি ব্যবহার করতে পারেন (উভয় প্যারামিটারগুলিকে একই মান হিসাবে সেট করার বিষয়টি নিশ্চিত করুন, অন্যথায় আউটপুট ক্ষতিগ্রস্থ হবে)।
যেহেতু আপনি কোনও লগ ফাইল তৃতীয় প্যারামিটার হিসাবে নির্দিষ্ট করেননি, তাই পুনরায় শুরু স্বয়ংক্রিয়ভাবে করা যায় না। আপনি যদি ইতিমধ্যে উদ্ধারকৃত সেক্টরগুলি জানেন তবে সিনট্যাক্সটি সহজ hand একটি লগ নির্দিষ্ট করার সময় অন্য একটি ডামি উদ্ধার শুরু করুন এবং এটি বিভিন্ন অঞ্চল পড়তে দিন। তারপরে আপনার প্রথম ফাইলে ইতিমধ্যে উদ্ধারকৃত অঞ্চলগুলি উপস্থাপন করতে লগ সম্পাদনা করুন। এখন আপনার পূর্ববর্তী কমান্ডটি পুনরায় রান করুন তবে তৃতীয় প্যারামিটার হিসাবে লগ ফাইলটির নাম দিন। ddrescue এরপরে প্রথম অপ্রচলিত খাতটিতে আবার শুরু হবে।
Https://wiki.archlinux.org/index.php/Disk_ ক্লোনিং দেখে মনে হচ্ছে যে conv=noerror,sync
স্যুইচটি দিয়ে dd
আসলে কোনও ব্লকের শেষে শূন্যগুলি যুক্ত করা হয়েছে , পড়ার ত্রুটিগুলি ঠিক কোথায় ঘটেছে তা নয়। এটি 2013-08-29-এ মাইলস ওল্ববের উত্তরের তথ্যের পরিপন্থী।
উদাহরণস্বরূপ, যদি একটি সঠিক ক্রম হয় 198123283
এবং মাঝখানে কোনও পাঠ্য ত্রুটি থাকে তবে এটি লিখবে 198283000
, না 198000283
।
সুতরাং বাস্তবে পড়ার ত্রুটিগুলির ক্ষেত্রে প্রস্তাবিত পদ্ধতিটি সঠিক হবে না - এমন কিছু অঞ্চল থাকবে যা পাঠযোগ্য ছিল যা শূন্যে ভরা শেষ হবে, তবুও "উদ্ধার" হিসাবে বিবেচিত হবে।
যাইহোক, জিরো দিয়ে গন্তব্য ড্রাইভ পূরণ করে (বা কমপক্ষে নিখরচায় জায়গা, উদাহরণস্বরূপ উইনহেক্সের সাহায্যে সম্পন্ন করা যেতে পারে) এই জাতীয় পুনরুদ্ধারের প্রচেষ্টা শুরু করা ভাল অভ্যাস।