मेरे पास बाहरी परिक्षेत्र में एक लैपटॉप हार्ड ड्राइव है जो मैं एक बड़े पेनड्राइव के रूप में उपयोग करता हूं। एक अतिरिक्त मोड़ के लिए, मैंने इस पर लिनक्स स्थापित किया है, इसलिए मैं अपनी पसंद के वितरण के साथ किसी भी मशीन को बूट कर सकता हूं (उदाहरण के लिए डेटा रिकवरी या एक b0rked सिस्टम की मरम्मत या बस पूर्वस्थापित विंडोज को नष्ट किए बिना एक उधार लैपटॉप का उपयोग करके)। समस्या यह है कि, हार्डवेयर कॉन्फ़िगरेशन के आधार पर, विभिन्न रास्तों के तहत USB हार्ड ड्राइव दिखाई दे सकती है। ग्रब कॉन्फ़िगरेशन के लिए मैं अभी उपयोग (hda0,0)करता हूं क्योंकि यह उस डिवाइस के सापेक्ष है जिसे ग्रब से लॉन्च किया गया था। मेरे पास UUID प्रविष्टियाँ हैं /etc/fstab। मैं rootwaitकर्नेल मापदंडों में भी निर्दिष्ट करता हूं ताकि यह डिवाइस को माउंट करने की कोशिश करने से पहले यूएसबी सबसिस्टम का निपटान करने के लिए इंतजार करे।
मुझे कर्नेल को क्या पास करना चाहिए root=? वर्तमान में एक बार पेनड्राइव से बूट करें, डिबग संदेशों को देखने के लिए देखें कि /dev/sdXडिवाइस को कर्नेल द्वारा यूएसबी ड्राइव को क्या सौंपा गया है, फिर ग्रब कॉन्फ़िगरेशन को रिबूट और संपादित करें। मैं Boot from USB hard driveBIOS में सक्षम करने और आंतरिक हार्ड ड्राइव की तुलना में उच्च प्राथमिकता पर सेट करने के अलावा पीसी पर कुछ भी नहीं बदल सकता ।
विभिन्न initrd जनरेटिंग स्क्रिप्ट्स हैं, जो रूट डिवाइस पथ में UUID के लिए समर्थन शामिल हैं, दुर्भाग्य से Gentoo देशी एक (जेनकबर्न) समर्थन नहीं करता है rootwaitऔर मेरे पास दूसरों का उपयोग करने की कोशिश में कोई भाग्य नहीं था।
बूट प्रक्रिया इस तरह से होती है ( यह विंडोज में काफी समान है ):
- BIOS बूट डिवाइस को चुनता है और जो भी इसका एमबीआर है (जो ग्रब स्टेज -1 होता है) लोड करता है।
- ग्रब लोड यह उस डिवाइस से कॉन्फ़िगरेशन और स्टेज -2 फाइल है जिसे उसने सेट किया है
root,(hd0)डिवाइस के लिए इसे BIOS से लोड किया गया था। - ग्रब लोड करता है और एक कर्नेल शुरू करता है (अभी भी वही नंबरिंग है, इसलिए मैं
(hd0,0)फिर से उपयोग कर सकता हूं )। - कर्नेल सभी अंतर्निहित उपकरणों को इनिशियलाइज़
rootwaitकरता है ( क्या यह अब जादू है)। - कर्नेल उस विभाजन को मापता है जिसे इसे पारित किया गया था
root(यह कर्नेल पैरामीटर है, ग्रब पैरामीटर नहीं)। init.dउपयोगकर्ता की बूटिंग प्रक्रिया शुरू करता है, जिसमें से बढ़ती चीजें शामिल हैं/etc/fstab।
भाग 5 मुझे समस्याएं दे रहा है।