সিস্টেম রেসকিউ টুলস-এক পেনড্রাইভে একাধিক অপারেটিং সিস্টেম

ছোট্ট একটি গল্প দিয়ে শুরু করি।

শাহেদ একটি প্রাইভেট ফার্মে কাজ করে। ফার্মের বেশীরভাগই কাজই কম্পিউটারে করা হয়ে থাকে। কম্পিউটারে সে কিছুটা এক্সপার্ট হওয়াতে কোন ডেস্কের পিসিতে সমস্যা হলেই তার ডাক পড়ে। আগে সে বেশীরভাগ ক্ষেত্রেই উইন্ডোজ রি-ইনস্টল করে দিত। কিন্তু তা ছিল অনেক সময় সাপেক্ষ। উইন্ডোজ রি-ইনস্টলে ৪০/৫০ মিনিট সময় তো লাগতই সাথে আর ও ঘন্টা খানেক লাগত পুরো পিসির ডাটা রিকভারি ও অফিস সহ অন্যান্য সফটওয়্যার ইনস্টলে। তবে বিভিন্ন ফোরাম, ব্লগ ও ইন্টারনেট সাইটে ঘোরাঘুরি করে শাহেদ ধীরে ধীরে কম্পিউটার এর বিভিন্ন সমস্যাগুলিকে ডায়াগনোসিস করা শিখে গেছে। তাই সবক্ষেত্রেই উইন্ডোজ রি-ইনস্টল না করে প্রথমে এগুলিকে বিভিন্ন রেসকিউ টুলস এর মাধ্যমে ঠিক করার চেষ্টা করে থাকে এবং বেশীরভাগ ক্ষেত্রেই সফল হয়। তবে এজন্য তাকে সাথে অনেকগুলি সিডি রাখতে হয় যেমনঃ ক্যাসপারস্কি রেসকিউ ডিস্ক, এভাস্ট বার্ট সিডি, হিরেন বুট সিডি ইত্যাদি। এছাড়া বেশ কয়েকটি লিনাক্সের লাইভ সিডি ও মাঝে মাঝে কাজে লাগে তার যেমনঃ পাপ্পি লিনাক্স, উবুন্তু লিনাক্স, ড্রিম লিনাক্স।

কয়েকদিন আগে এক বন্ধু তাকে পেন ড্রাইভে unetbootin দিয়ে কিভাবে লিনাক্স ইনস্টল করতে হয় তা বলে দেয়াতে সে এখন সাথে একটি পেন ড্রাইভ ও রাখে। পেন ড্রাইভে সে পাপ্পি লিনাক্স ইনস্টল করে নিয়েছে। এখন এটি ও বেশ কাজের একটি টুলস কারন অনেক কম্পিউটারে সিডি রম না থাকায় তাকে সাথে এক্সটারনাল সিডি রম বহন করতে হতো। যা আরও ঝামেলার মনে হত তার। কিন্তু অন্যান্য টুলস ব্যবহার করার জন্য তাকে আগের মতই সিডিরম ব্যবহার করতে হয়। এজন্য সে চাইছিল এমন একটি পদ্ধতি যাতে একটি পেন ড্রাইভেই সব ধরনের টুলস ইনস্টল করে ব্যবহার করা যায়। কারন তার পেনড্রাইভে অনেক ফাঁকা জায়গা অব্যবহৃত হয়ে আছে। আর বর্তমানে বেশীরভাগ পিসিতেই ইউএসবি ড্রাইভ/ পেনড্রাইভ থেকে বুট করার সুবিধা আছে। তাই নিঃসন্দেহে এ ধরনের একটি পেনড্রাইভ সাথে থাকলে অনেক সুবিধা। তাছাড়া বিভিন্ন এন্টিভাইরাসের ভাইরাস ডেফিনেশন ফাইলটি বারবার সিডিতে রাইট করে আপডেটের ঝামেলাও আর থাকে না। শুধুমাত্র ভাইরাস ডেফিনিশন ফাইলটিকে পেনড্রাইভের নির্দিষ্ট ফোল্ডারে কপি করে দিলেই এন্টিভাইরাস আপডেট হয়ে যাবে। তারপর পেনড্রাইভটিকে নিয়ে আক্রান্ত মেশিন বুট করে ভাইরাস ক্লিন করা থেকে শুরু করে যাবতীয় মেইনটেন্যান্সের কাজ দ্রুত করে নেয়া সম্ভব যেহেতু সিডি অপেক্ষা পেনড্রাইভের গতি অনেক বেশী হয়ে থাকে।

উপরের ঘটনাটি সাধারন ব্যবহারকারীদের মনে হয়ত নাও আসতে পারে - তবে যারা প্রতিনিয়ত এ ধরনের কাজ করে থাকেন তারা এরকম একটি টুলস এর প্রয়োজনীয়তা প্রায়ই অনুভব করে থাকেন। তাহলে আসুন কিভাবে এ ধরনের একটি টুলস তৈরী করে নিতে পারি তা দেখা যাক। এ টুলসটি উইন্ডোজ মেশিনের জন্য খুব দরকারী এবং লিনাক্স মেশিনেও ডাটা রিকভারী করার জন্য ব্যবহার করা যেতে পারে।


কি কি লাগবেঃ


১. একটি ১ গিগা পেনড্রাইভ (তবে ৪ গিগার উপরে না হওয়াই ভাল) - কারন আমরা যে টুলসটি (syslinux) ব্যবহার করব তা শুধুমাত্র ফ্যাট সিস্টেম সাপোর্ট করবে। অবশ্য ৪ গিগার উপরে পেনড্রাইভ হলে তার জন্য আলাদা টুলস (extlinux)ব্যবহার করতে হবে।

২. পেনড্রাইভ বুটেবল করার সফটওয়্যার - syslinux ডাউনলোড করুন এখান থেকে - লেটেস্ট ভার্সন। তবে এ জিপ ফাইলে অনেক ধরনের টুলস থাকায় কোনটি দিয়ে কাজ করতে হবে তা খুজে বের করা অনেকের জন্যই কঠিন হবে।

তাই আমি আরেকটি জিপ ফাইল আপনাদের ডাউনলোডের জন্য আপলোড করে দিলাম। ডাউনলোড করুন এখান থেকে। আমার জিপ ফাইলটিতে শুধুমাত্র পেনড্রাইভ মাল্টি-বুটেবল করার জন্য যেটুকু দরকার সেটুকুই আছে - সাথে দিয়েছি কিছু কনফিগারেশন ফাইল (syslinux.cfg, syslinuxmenu.cfg) ও কয়েকটি ব্যাচ ফাইল (bootinst.bat, bootinst.sh - এ ফাইলগুলির সাহায্যে ডস/শেল মোডে কমান্ড না দিয়ে এর উপর ডাবল ক্লিক করেই পেনড্রাইভ বুটেবল করা যায়)।

তবে ঘাটাঘাটি করার জন্য প্রথম জিপ ফাইলটি ডাউনলোড করতে পারেন অভিজ্ঞ যারা। কারন এখানে সিডি, পিএক্সই, হার্ডডিস্ক ইত্যাদি বুটেবল করার জন্যও বিভিন্ন টুলস দেয়া আছে যেমনঃ isolinux, pxelinux, lilo/grub।

৩. আপনার কাংখিত বুটেবল সিডি ও লাইভ সিডি বেজড অপারেটিং সিস্টেম - যেগুলি পেনড্রাইভে ইনস্টল করতে চাচ্ছেন। আমি এগুলির লিংক দিচ্ছি না। কারন যাদের কাছে এগুলি নেই তারা হয়ত এটি করতে চাইবেন না। কয়েকটির নাম তো আগেই বলেছি- যেমন এভাস্ট বার্ট সিডি, পাপ্পি লিনাক্স, উবুন্তু/ড্রিম লিনাক্স, হিরেন বুট সিডি। লিনাক্স ও.এস. ডাউনলোডের জন্য সবচেয়ে ভাল সাইট ডিস্ট্রোওয়াচ.কম।

৪. আই.এস.ও ফাইল থেকে ফাইল এক্সট্রাক্ট করার জন্য লেটেস্ট 7zip 4.65 ভার্সন। এটি ডাউনলোড করুন এখান থেকে। তবে সেভেনজিপ এর নিজস্ব সাইট থেকেও ডাউনলোড করে নিতে পারেন। কিন্তু অনেকেই ডাউনলোড করতে গিয়ে লিংক খুজে পান না বা সার্ভার ডাউন থাকে মাঝে মধ্যে এজন্য আমি আপলোড করে দিলাম। তবে এ কাজে অন্যান্য আই.এস.ও. এক্সট্রাক্ট করার সফটওয়্যার ও ব্যবহার করতে পারেন। এছাড়া ২ নং এ বর্নিত জিপ ফাইলটিও সেভেন জিপ ফরম্যাটে দিয়েছি যা আনজিপ করার জন্যও সেভেন জিপ সফটওয়্যার লাগবে।

কার্যপ্রনালীঃ

প্রয়োজনীয় টুলসগুলী জোগাড় তো হল। আসুন এবার মূল কাজ শুরু করা যাক।

১. প্রথমেই পেনড্রাইভটিকে FAT16/FAT32 সিস্টেমে ফরম্যাট করে নিন। এজন্য এ ইউএসবি ফরম্যাট টুলসটিও ব্যবহার করতে পারেন।

২. boot.7z ফাইলটিকে পেনড্রাইভে এক্সট্রাক্ট করে নিন। সরাসরি এক্সট্রাক্ট করুন। কোন ফোল্ডারে করলে কাজ নাও করতে পারে।

৩. সবচেয়ে গুরুত্বপূর্ন ধাপ এটি। এবার অন্যান্য লাইভ সিডি/বুট সিডি থেকে কপি করার পালা। যদি আপনার কাছে লাইভ অপারেটিং সিস্টেমের ISO ফাইল থাকে তবে সেভেন জিপ সফটওয়্যার দিয়ে ISO থেকে পেন ড্রাইভের একটি ফোল্ডারে এক্সট্রাক্ট করুন সব ফাইলগুলি।

যেমনঃ পাপ্পি লিনাক্সের জন্য পেন ড্রাইভে puppy নামে একটি ফোল্ডার তৈরী করি। তারপর পাপ্পির ISO ফাইলটি এ ফোল্ডারে এক্সট্রাক্ট করে নিই। ফলে এ ফোল্ডারে নিচের মত ফাইল গুলি দেখতে পাবেন।

ছবি

এ ফোল্ডারে isolinux.cfg ফাইলটিকে wordpad এ খুলুন। তাহলে নিচের মত কয়েকটি লাইন পাবেনঃ
label puppy
kernel vmlinuz
append initrd=initrd.gz pmedia=cd

এ ফাইলটি বিভিন্ন অপারেটিং সিস্টেমে বিভিন্ন ফোল্ডারে থাকে। যেমনঃ পাপ্পিতে রুট ফোল্ডারে থাকে, স্লিটাজে থাকে \boot\isolinux\ ফোল্ডারে। কিছু কিছু লিনাক্সে আবার এ ফাইলে থাকে অন্য কোন cfg ফাইলকে লোড করার বিবরন। সে ক্ষেত্রে অন্যান্য cfg ফাইলগুলিকে ওপেন করে দেখুন এক এক করে এ জাতীয় এন্ট্রি পাওয়ার জন্য। অবশ্য লিনাক্সে অভিজ্ঞরা দেখলেই বুঝতে পারবেন কোনটি কার্নেল ফাইল ও কোনটি র‌্যামডিস্ক ফাইল।

এ লাইনগুলি আমাদের বুট লোডারের ফাইল syslinux.cfg অথবা আরেকটি কাস্টোমাইজড ফাইল syslinuxmenu.cfg এর যেকোন একটিতে লিখতে হবে যেটি পাবেন আপনার পেনড্রাইভের \boot\syslinux পাথে অর্থাৎ যেখানে boot.7zip ফাইলকে আনজিপ করেছেন । এগুলির সাহায্যেই syslinux বুট লোডার অপারেটিং সিস্টেমটিকে বুট করবে পেন ড্রাইভ থেকে।

syslinux.cfg ফাইলে সরাসরি না লিখে আরেকটু ফ্লেক্সিবল করার জন্য এগুলিকে আমি syslinuxmenu.cfg ফাইলে লিখেছি এবং syslinux.cfg ফাইলে লেখা আছে INCLUDE /boot/syslinuxmenu.cfg এ লাইনটি - যার সাহায্যে syslinuxmenu.cfg ফাইলটি লোড হবে। এভাবে না লিখে সরাসরি ও syslinux.cfg ফাইলে লেখা যেত। কিন্তু আমরা এখানে লিনাক্স থেকে ও যাতে পেন ড্রাইভ বুটেবল করা যায় সেজন্য একটি কমন ফাইলে অপশনগুলি রেখেছি।

এ ধরনের cfg ফাইল বেশীরভাগ ডিস্ট্রোর সাথেই পাবেন। যা সিডি থেকে / ISO ফাইল থেকে দেখে নেয়া যায়। ISO ফাইল খুলে দেখার জন্য সেভেন জিপ ব্যবহার করুন।

এবার পেনড্রাইভে অবস্থিত boot ফোল্ডারের ভিতর syslinuxmenu.cfg ফাইলটি এডিট করে পাপ্পি লিনাক্সকে বুটেবল করার অপশন দিয়ে দেই। এটিকে নোটপ্যাড বা কোন এডিটরে ওপেন করুন। তারপর নিচের লাইনগুলি লিখুন। আমার দেয়া জিপ ফাইলে এটি লেখাই আছে শুধু মিলিয়ে নিন। প্রয়োজনমত আপনার নিজস্ব পাথ ব্যবহার করতে পারেন তবে প্রথমবার আমার দেয়া পাথই ব্যবহার করা ভাল। তাহলে ঝামেলা কম হবে।

প্রথমে TIME OUT, BACKGROUND, MENU WIDTH, COLOR ইত্যাদি দেয়া আছে। তারপর অপারেটিং সিস্টেমের এন্ট্রি শুরু হয়েছে।

পাপ্পির জন্য এন্ট্রিঃ

LABEL Puppy
MENU LABEL Linux Puppy
KERNEL /puppy/vmlinuz
APPEND initrd=/puppy/initrd.gz PMEDIA=usbflash
প্রথম লাইনটি হচ্ছে LABEL ভেরিয়েববল - তারপর মেনুর নাম - এখানে PUPPY। এটি SYSLINUX ব্যবহার করে থাকে।

২য় লাইনে MENU LABEL এর সামনে যা লিখবেন তাই পর্দায় দেখা যাবে বুটের সময়। যা সিলেক্ট করে এন্টার চাপতে হয়।

৩য় লাইনটি অপারেটিং সিস্টেমের কার্নেল লোড করবে। /puppy দিয়ে পেনড্রাইভের puppy ফোল্ডার এর পাথকে নির্দেশ করে।

৪র্থ লাইনটি RAMDISK যোগ করার জন্য। APPEND initrd= এর সামনে Ramdisk এর জিপ ফাইল পাথ দিতে হবে এবং PMEDIA অপশনে usbflash অপশন দিয়ে দিয়েছি কারন এটি ইউএসবি থেকে বুট করবে।

এগুলির বিস্তারিত বর্ননা আর এখানে দিলাম না। নতুনদের অসুবিধা হতে পারে। আর যারা অভিজ্ঞ তারা তো বুঝেই গেছেন।

এভাবে অন্যান্য অপারেটিং সিস্টেম যোগ করে নিতে হবে। আমার ফাইলে পাপ্পি ছাড়াও SLITAZ, HIREN, MINI XP কিভাবে এন্ট্রি দিতে হবে তা দেয়া আছে। যেমনঃ হিরেন বুট সিডির জন্যঃ
LABEL Hiren
MENU LABEL Start Hiren Boot CD
KERNEL /HBCD/memdisk
APPEND initrd=/HBCD/boot.gz root=/HBCD/boot.gz

উপরোক্ত এন্ট্রিগুলি হিরেন বুট সিডির ভিতর HBCD ফোল্ডারের isolinux.cfg ফাইলে পাওয়া যাবে।

এছাড়া উইন্ডোজ বেজড অপারেটিং সিস্টেম লোড করার জন্য আমি grab4dos কে দিয়ে দিয়েছি জিপ ফাইলের সাথে যেটি লোড করার কমান্ড হচ্ছে নিম্নরূপঃ
LABEL Grub4DOS
MENU LABEL Grub4DOS
KERNEL /boot/grub/grub.exe
অর্থাৎ এখানে syslinux অন্য আরেকটি লোডার গ্রাবকে লোড করবে যেটি উইন্ডোজ বেজড অপারেটিং সিস্টেমকে chainloader এর মাধ্যমে লোড করতে পারে। এজন্য গ্রাব লোডারের ফাইল menu.lst পরিবর্তন করে দিতে হবে যেটি পাবেন আপনার পেনড্রাইভের /boo/grub পাথে। এটিও আমাদের আগের ফাইল syslinuxmenu.cfg এর মত। যেমনঃ হিরেন বুট সিডির সাথে দেয়া মিনি এক্সপিকে লোড করার কমান্ড হচ্ছে-
title Mini Windows Xp
find --set-root /HBCD/XPLOADER.BIN
chainloader /HBCD/XPLOADER.BIN
প্রথম লাইনে যথারীতি পর্দায় প্রদর্শনের টাইটেল দিতে হবে title এর সামনে।

২য় এবং ৩য় লাইনের মাধ্যমে এক্সপিকে chainloader এর সাহায্যে বুট করবে।

ইচ্ছা করলে আপনি অন্যান্য লিনাক্সকে ও এ ফাইলের মাধ্যমে বুট করতে পারেন। সেক্ষেত্রে syslinux এর কাজ হবে শুধুমাত্র Grub কে লোড করা। বাকী সব কাজ হবে গ্রাবের মাধ্যমে যা এ ফাইল ডিফাইন করে দিতে হবে।
যেমন menu.lst ফাইলে পাপ্পি এর জন্য কমান্ড হবেঃ
title Linux Puppy
kernel /puppy/vmlinuz PMEDIA=usbflash
initrd /puppy/initrd.gz
syslinuxmenu.cfg এবং menu.lst এর কমান্ড প্রায় কাছাকাছি। একটু খেয়াল করলেই বুঝতে পারবেন আশা করি। তবে যাদের লিনাক্সে গ্রাব এবং লিলো বুট লোডার নিজে হাতে এডিট করার অভিজ্ঞতা আছে তাদের জন্য এটা ডালভাত।

উপরে দেখিয়েছি কিভাবে ISO ফাইল থেকে অপারেটিং সিস্টেম এক্সট্রাক্ট করবেন সে পদ্ধতি। তবে যদি ISO থেকে এক্সট্রাক্ট না করে সরাসরি সিডি থেকে কপি করতে চান তবে তা আরো সোজা। পেন ড্রাইভে একটি ফোল্ডার তৈরী করে সিডি থেকে ফাইলগুলী সরাসরি কপি করে দিন এখানে। তারপরের ধাপগুলি উপরের মতই। এভাবে আপনার পেনড্রাইভের ধারনক্ষমতা অনুযায়ী অনেকগুলি অপারেটিং সিস্টেম ইনস্টল করতে পারবেন।

৪. উপরে পয়েন্টে আমরা ধাপে ধাপে LIVE OS সমূহ পেন ড্রাইভে কপি করা, তারপর বুট লোডার এর ফাইলে এন্ট্রি দেয়া ইত্যাদি কাজগুলি করেছি।

এবার সর্বশেষ কাজ - পেন ড্রাইভ বুটেবল করতে হবে।

উইন্ডোজ মেশিন থেকে

এজন্য বুট ফোল্ডারে ঢুকে bootinst.bat ফাইলে ডাবল ক্লিক করুন। তারপর কি-বোর্ডের যেকোন বাটন চাপুন। ব্যস- আপনার পেন ড্রাইভ বুটেবল হয়ে যাবে। তারপর মেশিন রি-স্টার্ট করে পেন ড্রাইভ থেকে মেশিন চালু করুন। যদি পেন ড্রাইভ খুজে না পায় মেশিন তবে বায়োসে গিয়ে বুটেবল ডিভাইস অপশনে গিয়ে পেন ড্রাইভ/ইউএসবি ডিভাইস/ইউএসবি জিপ কে প্রথম অপশন দিয়ে দিন। তারপর আবার মেশিন চালু করুন।


লিনাক্স মেশিন থেকেঃ
/boot/ ফোল্ডারে bootinst.sh ফাইলে ডাবল ক্লিক করে একইভাবে কাজ করুন।

সতর্কতাঃ এটি খুব সাবধানে করবেন এবং হার্ডডিস্কের কোন ফোল্ডার থেকে এ ফাইলে ভুলেও ক্লিক করতে যাবেন না। তাতে পরের বার আপনার অপারেটিং সিস্টেম লোড নাও হতে পারে। এটি অবশ্যই পেনড্রাইভের ফোল্ডারে (boot) থাকা অবস্থায় করবেন। আর বুট ফোল্ডারের নাম পরিবর্তন করবেন না।

আমার পেন ড্রাইভের চিত্র নিম্নরূপঃ

ছবি

এখানে puppy ফোল্ডারে পাপ্পি লিনাক্স, slitaz ফোল্ডারে স্লিটাজ লিনাক্স, HBCD ফোল্ডারে হিরেন বুট সিডি এবং AVAST BART CD ফোল্ডারে এভাস্ট বার্ট সিডি ইনস্টলড রয়েছে।