আমার একটি 1 টিবি ড্রাইভ রয়েছে যা আমি ব্যাডব্লকগুলি চালাতে চাই, তবে আমি বুঝতে পারি যে এটি প্রায় 3 দিন সময় লাগবে, আমি এটি খণ্ডে চালাতে চাই (প্রতিটি রাত্রে রাত্রে বলে দিন) তাই এটির কম্পিউটারটি ব্যবহারের জন্য উপলব্ধ দিনের মধ্যে. এরকম কিছু কি সম্ভব?
আমার একটি 1 টিবি ড্রাইভ রয়েছে যা আমি ব্যাডব্লকগুলি চালাতে চাই, তবে আমি বুঝতে পারি যে এটি প্রায় 3 দিন সময় লাগবে, আমি এটি খণ্ডে চালাতে চাই (প্রতিটি রাত্রে রাত্রে বলে দিন) তাই এটির কম্পিউটারটি ব্যবহারের জন্য উপলব্ধ দিনের মধ্যে. এরকম কিছু কি সম্ভব?
উত্তর:
কোন ব্লকটি badblocksশুরু করা উচিত এবং শেষ ব্লকটি নির্দিষ্ট করা উচিত, (দেখুন man badblocks):
badblocks [ -svwnfBX ] [ -b block-size ] [ -c blocks_at_once ] [ -emax_bad_blocks ] [ -d read_delay_factor ] [ -i input_file ] [ -ooutput_file ] [ -p num_passes ] [ -t test_pattern ] device [last-block ] [ first-block ]
আমি আটলান্টা লিনাক্স উত্সাহী জেনারেল মেইলিং তালিকায় প্রশ্নের দুর্দান্ত উত্তরটি পেয়েছি :
আমি প্রায় 10 বার লোক পৃষ্ঠাটি চিন্তা ও পড়ার পরে অবশেষে এটি আবিষ্কার করেছি। আমি ভেবেছিলাম যে অন্য কারও কাছে তথ্য প্রয়োজন হলে আমি এটি ভাগ করে নিই। গুগলিং খুব একটা সুবিধা করতে পারেনি, কারণ এই তালিকা সাধারণত ম্যান পৃষ্ঠাটি উদ্ধৃত করে। ম্যান পৃষ্ঠাটি যখন সর্বশেষ-ব্লককে প্রথম-ব্লক বলছে, এটি আপনাকে সেই সমস্ত ওয়ার্ডস প্রবেশ করানো চায় না, এটি আপনাকে একটি নম্বর প্রবেশ করানো চায়। এতে উল্লেখ করা হয়েছে যে উভয়ই alচ্ছিক, তবে আমি প্রথম ব্লকটি নির্দিষ্ট করতে চাইলে শেষ-ব্লকটি কীভাবে ছেড়ে যেতে হবে তা আমি বুঝতে পারি না।
বলুন আপনি মূলত 33000001 ব্লকে আপনার পরীক্ষাটি বন্ধ করে দিয়েছেন I আমি পরীক্ষাটি একটি ব্লকে কম পুনরায় চালু করব, সুতরাং 33000000।
প্রথমত, আপনাকে নির্ধারণ করতে হবে পার্টিশনের সর্বশেষ ব্লক নম্বরটি কী। আমি এটি করার দুটি উপায় খুঁজে পেয়েছি।
আপনি
badblocksব্লক নম্বর ছাড়াই শুরু করতে পারেন । এটি আপনাকে প্রক্রিয়াজাতকরণের ব্লক ব্যাপ্তিটি বলবে।উদা:
sudo badblocks -sv /dev/sda3এবং এটি কিছু বলে:
Searching for badblocks in read only nondestructive mode from block to 66828373এই শেষের নম্বরটি লিখুন। সিটিআরএল-সি দিয়ে পরীক্ষাটি সমাপ্ত করুন এবং তারপরে আপনি যে ব্লক নম্বরগুলি চান তা দিয়ে কমান্ডটি প্রবেশ করুন।
পার্টিশনের তথ্য তালিকাভুক্ত করতে আপনি
fdisk(অথবা আমিও মনে করিsfdisk) কমান্ডটি ব্যবহার করতে পারেন । তথ্যের কলামগুলির মধ্যে একটি হল # টি ব্লক। আপনি যে পার্টিশনে আগ্রহী সেগুলির ব্লক সংখ্যা এবং সাবট্র্যাক্ট 1 সন্ধান করুন যেহেতু ব্লকগুলি 0 থেকে শুরু করে গণনা করা হচ্ছে।
sudo fdisk -l /dev/sda(এই বিকল্পটি একটি নিম্ন কেস এল। এই ক্ষেত্রে, আপনি পার্টিশন নম্বরটি নির্দিষ্ট করবেন না, কেবলমাত্র হার্ড ড্রাইভের পদবী))এবং এটি কিছু বলে:
/dev/sda2 ... /dev/sda3 ... 66828374 /dev/sda4 ...আপনার পছন্দের পার্টিশনটি সন্ধান করুন এবং ব্লকের সংখ্যাটি পড়ুন এবং সর্বশেষ ব্লক নম্বরটি খুঁজে পেতে 1 টি বিয়োগ করুন।
এখন, আপনি
badblocksনিম্নলিখিত হিসাবে কমান্ড প্রবেশ করতে পারেন । বলুন যে আপনি 33000000 ব্লকের মধ্যে পার্টিশনের মাঝখানে পরীক্ষা শুরু করতে চান This উদাহরণটিbadblocksকোনও পাঠ্য ফাইলের তালিকা সহ ধ্বংসাত্মক পাঠযোগ্য রাইটিং মোডের জন্য। যদি কোনও লাইভ সিডি থেকে বুট করা থাকে, আপনি পুনরায় বুট করার সময় আপনি এই পাঠ্য ফাইলটি হারাবেন।
sudo badblocks -nsv -o ~/Desktop/badblocks.txt /dev/sda3 66828373 33000000এটি 33000000 ব্লক থেকে পার্টিশনের শেষ পর্যন্ত পরীক্ষা করবে। যদি আপনি শেষ ব্লক হিসাবে 66828374 নির্দিষ্ট করেন তবে উল্লিখিত হিসাবে
fdisk, এটি সেই ব্লক নম্বরটিকে খারাপ হিসাবে প্রতিবেদন করবে, তবে বাস্তবে, সেই ব্লক নম্বরটি বিদ্যমান নেই।আমি আশা করি অন্যরাও এটি দরকারী খুঁজে পেতে পারে, কারণ এটি আমাকে কিছুক্ষণের জন্য সত্যিই বিভ্রান্ত করেছিল।
বিনীত,
রন