আপনার কতগুলি বুট পার্টিশন রয়েছে তা লিনাক্স (কার্নেল) যত্ন করে না। ডিস্ক থেকে কার্নেল লোড করা হচ্ছে বুট-লোডার (যেমন এর কাজ grub
, grub2
, lilo
) এবং এই সরঞ্জামগুলি এছাড়াও অবস্থানে একটি কার্নেল অবস্থিত করা যেতে পারে সংখ্যা যত্ন সম্পর্কে না। তারা কেবল নির্দিষ্ট অবস্থান সম্পর্কে যত্নশীল।
উদাহরণস্বরূপ, আমার বুট পার্টিশনটি হ'ল /dev/md1
এটি একটি m دادm RAID মিরর যা শারীরিক পার্টিশন /dev/sde1
এবং দ্বারা সমর্থিত /dev/sdf1
। আমি চাইলে এগুলি পৃথকভাবে মাউন্ট করতে পারি এবং যেমন প্রযুক্তিগতভাবে দুটি বুট পার্টিশন থাকার হিসাবে গণনা করা যায়, যদিও তাদের একই ডেটা থাকা উচিত।
আমার জন্য / বুটের জন্য দুটি পার্টিশন থাকা একটি প্রাপ্যতা বিষয়, তবে সেগুলি সমানভাবে পৃথক / বুট পার্টিশন হতে পারে। পরবর্তী পদক্ষেপটি কীভাবে বুটলোডার জানে? এটি এখানে:
menuentry 'Linux 3.10.17 (sde) kernel-3.10.17-g' {
root=hd0,1
linux /boot/kernel-3.10.17-g domdadm dolvm root=/dev/md3
initrd /boot/initrd-3.10.17-g
}
menuentry 'Linux 3.10.17 (sdf) kernel-3.10.17-g' {
root=hd1,1
linux /boot/kernel-3.10.17-g domdadm dolvm root=/dev/md3
initrd /boot/initrd-3.10.17-g
}
এটি একটি grub2
কনফিগারেশনের একটি সংক্ষিপ্তসার এবং আপনি লক্ষ করবেন যে কেবলমাত্র পার্থক্য রয়েছে root=hd0,1
এবং root=hd1,1
কোন এন্ট্রিটি উল্লেখ করে কোন বুট পার্টিশনটি সেট করে।
এখন আপনাকে বুট করার পরেও হাঁটাতে আপনি বুঝতে পারবেন যে এখানে কী চলছে।
- বিআইওএস বুট ভলিউম থেকে এমবিআর পড়ে এবং বুটলোডারটিতে লাফ দেয়
- বুটলোডার (উদাহরণস্বরূপ
grub2
) কোন ডিভাইস এবং বিভাগে আপনার কার্নেল রয়েছে তা জানার জন্য কনফিগার করা হয়েছে। গ্রুব 2 সরাসরি এই পার্টিশনটি অ্যাক্সেস করে এবং আপনার কার্নেলটিকে মেমরিতে লোড করে।
- আপনার বুটলোডার এর পরে কার্নেলের মধ্যে লাফ দেয় এবং কার্নেলটি আপনার মেশিন বুট করে।
বুটলোডার আপনার কতগুলি বুট পার্টিশন রয়েছে সেগুলি যত্ন করে না, এটি কেবল সেগুলি কোথায় তা যত্নশীল করে তোলে এবং আপনাকে অবশ্যই এই তথ্যটি জানান tell
কার্নেলটি আপনার কতগুলি বুট পার্টিশন রয়েছে সেগুলি যত্ন করে না, কারণ এটি কখনই দেখার প্রয়োজন হয় না (উদাহরণস্বরূপ নতুন কার্নেল যুক্ত করার জন্য আপনার কেবল এটি উপলব্ধ থাকা দরকার)।
/boot
মূল বিভাজনে মাউন্ট করা ডিরেক্টরিটির কথা উল্লেখ করা হচ্ছে না?