কোথাও উপর Internets আমি পড়তে যে gddrescue শ্রেয় dd অন্তত ডিস্কের পরিমাণ একটি অস্থির খাতের উপর সঞ্চালিত পড়া মধ্যে পার্থক্য করতে সক্ষম হচ্ছে পরিপ্রেক্ষিতে। আসলেই কি এই ঘটনা?
সময় dd if = / dev / sda এড়িয়ে যান = 900343967 এর = a.bin গণনা = 4 iflag = প্রত্যক্ষ রূপান্তর = নোয়ার, সিঙ্ক
ডিডি: পঠন `/ দেব / এসডিএ: ইনপুট / আউটপুট ত্রুটি
2 + 0 রেকর্ড
2 + 0
রেকর্ডারে 1024 বাইট (1.0 কেবি) অনুলিপি করা হয়েছে, 18.6057 গুলি, 0.1 কেবি / এস
3 + 1 রেকর্ড
4 + 0 রেকর্ডে
2048 আউট বাইটস (2.0 কেবি) অনুলিপি করা হয়েছে, 18.6707 গুলি, 0.1 কেবি / সেআসল 0m18.672s
ব্যবহারকারীর 0m0.000s 0
ম 0.004 এস
বিটিডব্লিউ, সরাসরি পতাকাটি সত্যই সহায়তা করে, ডাব্লু / ও এটি আমি কেবলমাত্র 4 টির মধ্যে 1 টি সেক্টর পড়তে সক্ষম হয়েছি (এর সাথে 3/4 বনাম)। যাইহোক, এটি লক্ষণীয়ভাবে স্থানান্তর গতি কমিয়ে দেয় - এটি আমার জন্য কমপক্ষে 5 গুণ কম ধীরে: 5 এমবি / এস বনাম 25 এমবি / গুলি এই পতাকা ছাড়াই । যাইহোক , এখন gddrescue ( ddrescue ) অংশের জন্য ..
সময় ddrescue -b512 -c1 -s4b -dnvD -i900343967b -o0b / dev / sda বি.বিন
বিভিন থেকে / ডিভ / এসডিএ থেকে 2048 বাইট অনুলিপি করার জন্য
শুরুর অবস্থানগুলি: ইনফিল = 460976 এমবি, আউটফাইল = 0 বি
কপির ব্লকের আকার: 1 হার্ড ব্লক
হার্ড ব্লকের আকার: 512 বাইট
ম্যাক্স_রেট্রি: 0
সরাসরি: হ্যাঁ স্পার্স: কোনও বিভক্ত নয়: না কাটা: না
উদ্ধার করতে বাধা দিতে Ctrl-C টিপুন : 1536 বি, এরারসাইজ: 512 বি, বর্তমান হার: 53 বি / এস
আইপোস: 460976 মেগাবাইট, ত্রুটি: 1, গড় হার: 53 বি / এস
অপোস: 1536 বি, শেষ সফল পড়া থেকে সময়: 0 টি
সমাপ্তআসল 0m18.736s
ব্যবহারকারীর 0m0.004s
ss 0m0.000s
উপরে প্রদর্শিত হিসাবে, কার্যকর করার জন্য এটি ঠিক একই পরিমাণ সময় নিয়েছে। যেমনটি প্রত্যাশিত - একই পরিসংখ্যান: 3/4। যাইহোক, আমি প্যাড সঙ্গে অস্থির খাতে পারে যখন 0x00 জন্য DD (পরিবর্তন = সিঙ্ক), gddrescue বলে মনে হয় এই কার্যকারিতা অনুপস্থিত হবে? পরিবর্তে, এটি কেবল সমস্যাগ্রস্থ ক্ষেত্রকে ডাব্লু / ও এর অবস্থানটিতে কিছু লেখার বিষয়টি এড়িয়ে যায় এবং পরবর্তী নিম্নলিখিত খাতটি দিয়ে চালিয়ে যায় (যদি আমার কাছে ইতিমধ্যে আউটপুট ফাইলে সেই সেক্টরের উপরে ডেটা লেখা থাকে - এটি ওভাররাইট করা হবে না: কখনও কখনও এটি পছন্দসই হতে পারে না) )। আমি নিশ্চিত নই কিভাবে হবে -t (আরোপ করা) বিকল্প একটি ব্লক-ডিভাইস জন্য কাজ করে gddrescue(আমার ধারণা, এটি 0x00 দিয়ে এটি সম্পূর্ণরূপে ওভাররাইট হবে) তবে একটি নিয়মিত ফাইলের মধ্যে এটি পূর্বাভাস অনুযায়ী সম্পূর্ণ ফাইল ডাব্লু / ও কে কেবল অফসেট মাত্রা (যেমন -o1) এর মধ্যে দিয়ে কাটাবে। সুতরাং, এটি ডিডি সিঙ্কের সাথে কিছুটা সাদৃশ্যযুক্ত তবে এটি কেবল অভিন্ন কার্যকারিতা নকল করবে যদি আপনি পুরো আউটপুট ডিভাইস / ফাইলটিকে ওভাররাইট করতে প্রস্তুত থাকেন।
যদিও, ভার্বোজের বিকল্পের উপস্থিতি এবং খারাপ সেক্টর / ব্লকগুলিতে লগ করার ক্ষমতাকে ধন্যবাদ - জিডিড্রেসকিউ আরও ভাল পছন্দ হিসাবে মনে হচ্ছে। এটি লক্ষণীয় গুরুত্বপূর্ণ, অ্যাপ্লিকেশন দুটিই (বেশ কিছু) অভিন্ন প্যারামের সাথে চালু হয়েছিল।
এর আউটপুট
পৃথক? .বিন
খালি (প্রস্থান 0), অর্থ ফাইলগুলি একই রকম।
এখন এই অংশটি আমি বুঝতে পারি না :
ক্ষুদ্র পড়া ও লেখার কারণে ডিডি ত্রুটিমুক্ত স্টাফের উপরেও ধীর গতির। হার্ড ড্রাইভের পক্ষে যতটা ত্রুটিমুক্ত জিনিস পড়া যায় ততটুকু পড়ার চেয়ে ড্রাইভের ভ্রান্ত অংশগুলি চিবানোতে অনেক সময় ব্যয় করে।
এই সব কিসের জন্য? বিশেষত অংশটি " এটি ড্রাইভের ভ্রান্ত অংশগুলি যতটা পারছে ততটা ত্রুটিমুক্ত স্টাফ না পড়ার পরিবর্তে প্রচুর সময় ব্যয় করে, তবে হার্ড স্টাফগুলি করতে ফিরে যাবে "? উপরে প্রদর্শিত হিসাবে এটি একই পরিমাণে সময় নিয়েছিল (যদিও আমি তথ্যের একটি অতি ক্ষুদ্র অংশ পরিদর্শন করেছি, তবে কি বিষয়টি উচিত?)।
gddrescue অফার -r সুইচ, যার পরিমাণ একটি "খারাপ সেক্টর" এ পুনরায় সার্চ নিয়ন্ত্রণ করা উচিত, কিন্তু, DD বলে মনে হয় দিয়ে চলছে করা -r0 সব বরাবর (যেমন এটি একই সময় নেয়)। সুতরাং, এই বিকল্পটি কি কেবল "পোস্ট-প্রসেসিং" এর জন্য? আমি কি এ পাচ্ছি মূলত উভয় DD এবং gddrescue দিয়ে চলছে হবে বলে মনে হচ্ছে -r0 এবং DD করা বলে মনে হচ্ছে না চর্বণ কোনো অধিক ভ্রান্ত অংশের মাধ্যমে gddrescue (তারা উভয় বলে মনে হচ্ছে স্থগিত 15-18 জন্য একটি খারাপ ব্লকে সেকেন্ডে দিতে বা নিতে, তাই চুক্তি কী, কিভাবে gddrescue দ্রুত ???)
এছাড়াও, -D বিকল্পটি (আউটপুট ফাইলের জন্য সিঙ্ক্রোনাস রাইটস ব্যবহার করুন) এর জন্য কী? পরিচালিত পরীক্ষার কয়েকটি থেকে আমি কোনও পার্থক্য লক্ষ্য করিনি।
পুরো বিষয়টি নিয়ে কি কেউ মন্তব্য করতে পারবেন? ধন্যবাদ।