მოგესალმებით მეგობრებო, ამ და კიდევ რამოდენიმე სტატიაში განვიხილავ GNU/Linux-ის ოპერაციულ სისტემებში ხშირად გამოყენებულ ჩამტვირთავებს და ჩატვირთვის პროცესს.
დავიწყოთ მცირედი მიმოხილვით:
bootloader-ები, რომლებიც შეიძლება გამოყენებულ იქნას Linux-თან, მოიცავს LILO (Linux Loader), SYSLINUX და systemd-boot-ს.
- LILO არის ძველი ჩამტვირთავი, რომელიც ჯერ კიდევ გამოიყენება ზოგიერთ სისტემაში, მაგრამ მას აქვს შეზღუდული ფუნქციონალი GRUB-თან შედარებით.
- systemd-boot არის შედარებით ახალი ჩამტვირთავი, რომელიც არის systemd სისტემის ნაწილი და პრიორიტეტს ანიჭებს სიმარტივეს და სიჩქარეს.
- SYSLINUX არის მსუბუქი ჩამტვირთავი, რომელიც ხშირად გამოიყენება USB დისკების ან სხვა პორტატული მედიის ჩატვირთვისთვის.
გარდა ზემოთ ხსენებული ჩამტვირთველებისა გვაქვს უფრო ფართოდ გავრცელებული ჩამტვირთველები რომელიც მოიხსენიება, როგორც GRUB (Grand Unified Bootloader). ზოგადად, GRUB არის რეკომენდირებული ჩამტვირთავი Linux სისტემების უმეტესობისთვის. ის უზრუნველყოფს ყველაზე მეტ ფუნქციონალს და მოქნილობას. თუმცა, ჩამტვირთავის არჩევანი დამოკიდებულია სისტემის კონკრეტულ მოთხოვნებზე და მომხმარებლის პრეფერენციებზე.
თუმცა გვაქვს GRUB-ის ორი ვერსია GRUB Legacy და GRUB2. GRUB Legacy და GRUB2 ორივე ჩამტვირთავია, რომელიც გამოიყენება კომპიუტერზე ოპერაციული სისტემების ჩასატვირთად, მაგრამ მათ აქვთ გარკვეული განსხვავებები მახასიათებლებისა და ფუნქციონალური თვალსაზრისით. ამ უკანასკნელებს შედარებით ფართოდ განვიხილავ ამ და სხვა სტატიაში.
GRUB Legacy
GRUB Legacy, ასევე ცნობილია როგორც GRUB 0.9x გახლავთ GRUB ჩამტვირთავის ძველი ვერსია. იგი ფართოდ გამოიყენებოდა Linux-ის დისტრიბუტივებში, სანამ GRUB2-ის მიერ იქნებოდა ჩანაცვლებული. მიუხედავად იმისა, რომ GRUB Legacy აღარ არის აქტიურ გამოყენებაში, ის მაინც გვხვდება ზოგიერთ ძველ სისტემებსა და დისტრიბუტივებში, რომლებიც ჯერ არ გადასულან GRUB2-ზე.
კონფიგურაცია: GRUB Legacy იყენებს კონფიგურაციის ფაილს სახელწოდებით “menu.lst” (ან ზოგჯერ “grub.conf”) ჩატვირთვის პარამეტრების და მენიუს ჩანაწერების დასაზუსტებლად. კონფიგურაციის ფაილი საწყისად მდებარეობს “/boot/grub” დირექტორიაში.
ჩატვირთვის ეტაპები: GRUB Legacy მიჰყვება ორეტაპიან ჩატვირთვის პროცესს. ეტაპი 1 მდებარეობს ძირითადი ჩატვირთვის ჩანაწერში (MBR) ან დისკის ჩატვირთვის სექტორში. ის პასუხისმგებელია Stage 2 bootloader-ის ჩატვირთვაზე, რომელიც შეიცავს ფუნქციების უმეტეს ნაწილს.
მენიუს ინტერფეისი: GRUB Legacy მომხმარებელს წარუდგენს ტექსტზე დაფუძნებულ მენიუს ინტერფეისს, რაც მათ საშუალებას აძლევს აირჩიონ სასურველი ჩატვირთვის ჩანაწერი. მენიუ განსაზღვრულია კონფიგურაციის ფაილში (ფაილით) და შეიძლება მორგებული იყოს სხვადასხვა ოპერაციული სისტემისა და ჩატვირთვის ვარიანტების ჩვენებისთვის.
ChainLoading:
GRUB Legacy მხარს უჭერს chainloading-ს, რაც იმას ნიშნავს, ის საშუალებას აძლევს ჩატვირთვის პროცესს გადასცეს ჩატვირთვის პროცესი ერთი ჩამტვირთავიდან მეორეს, რომლებიც დაინსტალირებულია სხვადასხვა დანაყოფებზე ან დისკებზე. Chainloading იძლევა მრავალი ოპერაციული სისტემის ან ჩამტვირთავის ჩატვირთვას ერთი ჩამტვირთველის ფარგლებში რთული კონფიგურაციის საჭიროების გარეშე. ის იძლევა მოქნილობისა და თავსებადობის საშუალებას სხვადასხვა ჩატვირთვის გარემოსთან ურთიერთობისას.
ბრძანების ხაზის ინტერფეისი: GRUB Legacy უზრუნველყოფს ბრძანების ხაზის ინტერფეისს (CLI). ეს საშუალებას აძლევს მომხმარებლებს ხელით შეიყვანონ ბრძანებები ჩატვირთვის პარამეტრების შესაცვლელად, ჩატვირთვის დანაყოფების ან სისტემასთან ინტერაქციის დაწყებამდე.
ფაილური სისტემის შეზღუდული მხარდაჭერა: GRUB Legacy-ს აქვს სხვადასხვა ფაილური სისტემების შეზღუდული მხარდაჭერა. მას შეიძლება დამატებითი მოდულების ჩატვირთვა დასჭირდეს კონკრეტული ფაილური სისტემების დასამუშავებლად, გარდა საწყისად მხარდაჭერილი ext2/ext3 ფაილური სისტემებისა. თუმცა, ამის კონფიგურაცია შესაძლებელია menu.lst ფაილში.
შეზღუდვები: GRUB2-თან შედარებით, GRUB Legacy-ს აქვს გარკვეული შეზღუდვები, მათ შორის ნაკლებად მოქნილი კონფიგურაციის სინტაქსი, ნაკლები ფუნქციები და თანამედროვე ტექნოლოგიების შეზღუდული მხარდაჭერა, მაგალითად როგორიცაა UEFI. მას აკლია GRUB2-ში დანერგილი მოწინავე ფუნქციები, გრაფიკული თემების მხარდაჭერა და დინამიური კონფიგურაციის განახლებები.
მნიშვნელოვანია აღინიშნოს, რომ ბევრი თანამედროვე Linux დისტრიბუტივი გადავიდა GRUB2-ზე ან სხვა ჩამტვირთავებზე, ამიტომ GRUB Legacy სულ უფრო ნაკლებად გავრცელებული ხდება მიმდინარე სისტემებში.