मैं हाल ही में GRUB ntldrमॉड्यूल में ठोकर खाई है ।
जाहिर तौर पर इसके लिए इस्तेमाल की जाने वाली चीजों chainloaderमें से एक उदाहरण के लिए नीचे दिए उदाहरण में NT> = 6.0 वर्जन विंडोज के बूट के विकल्प के रूप में है। (बहुत आसान है अगर एक Windows विभाजन के लिए वॉल्यूम बूट रिकॉर्ड, उह, दूषित है।)
menuentry "Windows 7 (bootmgr on /dev/sda1)" --class windows --class os {
insmod part_msdos
insmod ntfs
insmod ntldr
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set=root 1EA0019AA0017A13
ntldr ($root)/bootmgr
}
इस बूट निर्देश का उपयोग कैसे किया जा सकता है, इसके बारे में मैं और अधिक कैसे जान सकता हूं? मैं इसे सूचीबद्ध जब मैं में देखा नहीं देखा था HTML संस्करण के जीएनयू GRUB मैनुअल ।
Ckhan के जवाब का जवाब देना
आपका बहुत बहुत धन्यवाद! मैंने बहुत फैसला किया था कि मुझे GRUB ntldrकमांड / मॉड्यूल के बारे में अधिक जानने के लिए सोर्स कोड के माध्यम से खुदाई करने की कोशिश करनी होगी । लेकिन आपने मुझसे बेहतर काम किया होगा।
यह मेरे लिए कभी ईमेल अभिलेखागार को देखने के लिए नहीं हुआ होगा कि यह देखने के लिए कि कोड लिखने वाले व्यक्ति के लिए कौन से डिज़ाइन चर्चा करते हैं। यह तरीका लगता है कि यह भविष्य में बहुत मददगार हो सकता है। इसका उल्लेख करने के लिए धन्यवाद।
GRUB ntldrसमर्थन के बारे में मेरे विचार
- हालांकि मैं वास्तव में निश्चित नहीं हूं कि भेद का मतलब कितना है,
ntldrएक मॉड्यूल है, एक कमांड नहीं। या यदि आप चाहें तो शायद एक गतिशील रूप से भरी हुई कमांड।
अपने स्रोत कोड लिंक का अनुसरण करते हुए और 152 (GRUB_MOD_INIT) और 159 (GRUB_MOD_FINI) लाइनों को देखकर आप लोड करने के लिए कोड देख सकते हैं और ... मैं अनुमान लगा रहा हूं ... मॉड्यूल को लोड करें।
GRUB जाहिरा तौर पर कई कार्यों को लागू करता है जो आपको लगता है कि मॉड्यूल के रूप में " कमांड " हो सकते हैं । उपयोग में एकमात्र अंतर जो मुझे पता है कि एक मॉड्यूल का उपयोग करने से पहले यह सुनिश्चित करना चाहिए कि इसे कमांड के साथ लोड किया गया हैinsmod ntldr।
एक तरफ: मैं हमेशा सोचता था कि GRUB समर्थन क्यों नहीं करता हैreboot। यह पता चलता है कि कमांड मौजूद है, लेकिन यह एक मॉड्यूल है। अगरrebootलौटता हैunknown command, तोinsmod rebootGRUB कोrebootकमांड को "याद" करने की अनुमति देता है ।
एक तरफ: कब और क्यों GRUB एक मॉड्यूल को " अनलोड " कर सकता है , मुझे अभी तक पता नहीं है। शायद यह " कचरा संग्रह " के समान कुछ का परिणाम है ?? मैंने देखा है कि एक बार लोड हो जाने के बाद भी मॉड्यूल चालू रहना पड़ता है, भले ही कोई सिस्टम डाउन हो जाए और रिबूट हो जाए। बेशक, आप उस पर निर्भर नहीं हो सकते हैं , लेकिन यह प्रतीत होता है कि यह अक्सर अभ्यास में कैसे काम करता है। - यह दिलचस्प है कि वे आधारित
ntldrहैंchainloader। मैंनेchainloader.cकोड को नहीं देखा है । मुझे लगता है कि यह शायद इंटेल 16-बिट वास्तविक मोड में एक स्थानांतरित लोड भी करता है?
मैं कर रहा हूँ बल्कि खुशी है कि उन्हें लागू नहीं किया थाntldrके एक विकल्प के रूपchainloader। मैं व्लादिमीर से सहमत हूं। कवर के तहत जो भी समानताएं हैं, उपयोग वाक्यविन्यास बहुत अलग है। वर्तमान दृष्टिकोण कम गुदगुदी है। - इस कमांड को GRUB में जोड़ने के लिए उत्साह की स्पष्ट कमी को देखना भी दिलचस्प है। जाहिरा तौर पर GRUB डेवलपर्स ने विंडोज पार्टीशन बूट रिकॉर्ड (PBR) को नुकसान पहुंचाने की सोची थी। हालाँकि, मैं यह पता लगा सकता हूं कि एक साधारण पर्याप्त इंस्टॉल के दौरान इसे कैसे किया जाए।
किसी उपयोगकर्ता द्वारा अपने सिस्टम पर स्थापित विंडोज को मानकर शुरू करें। वे अब उबंटू (12.04 LTS) "विंडोज़ के साथ " स्थापित करते हैं । उबंटू स्थापित के दौरान एक बिंदु पर वे स्पष्ट रूप से तय कर सकते हैं कि वे कहाँ स्थापित करना चाहते हैं। जिन कारणों से मैं अनुमान लगाना शुरू नहीं कर सकता, उनमें से कुछ में विभाजन को GRUB स्थापित करने का निर्णय लिया गया है जिसमें विंडोज स्थापित है।
स्थापित पूरा हो गया है और वे सफलतापूर्वक उबंटू शुरू कर सकते हैं। हालाँकि, जब वे GRUB मेनू में प्रविष्टि का चयन करके Windows को प्रारंभ करने का प्रयास करते हैं, तो Windows प्रारंभ नहीं होता है। बजाय GRUB के साथ विंडोज शुरू करने का प्रयास GRUB मेनू को फिर से प्रदर्शित करता है?
क्यों? खैर, जाहिरा तौर पर जब वे GRUB को विंडोज़ विभाजन में स्थापित करने के लिए चुने जाते हैं, तो वास्तव में जो कुछ हुआ था, वह था विंडोज विभाजन के लिए PBR को GRUB के PBR के साथ लिखा गया था। इसलिएchainloader +1विंडोज बूटलोडर को चेन लोड नहीं करता है, बल्कि GRUB को फिर से लोड करता है।
IMO, उपयोगकर्ता को उस स्थिति में विंडोज को बूट करने की अनुमति देने का सबसे सुरक्षित त्वरित तरीका है GRUB के नए का उपयोग करनाntldr। मुझे आश्चर्य है कि यह डेवलपर्स के लिए ब्याज की होगी। मुझे उम्मीद है कि उन्होंने इस परिदृश्य का अनुमान नहीं लगाया था।
मुझे आश्चर्य है कि विंडोज वालों के अलावा अन्य बूटलोडर्स ntldrऔर bootmgrGRUB ntldrकमांड क्या लोड कर सकते हैं?