अगर मैं अपने बूटलोडर को यूएसबी स्टिक से बूट करना चाहता हूं, तो मुझे बीपीबी शामिल करना होगा। यूएसबी स्टिक फ्लॉपी इम्यूलेशन मोड में चल रहा है। जैसा कि here देखा गया है, कई अलग-अलग बीपीबी संस्करण हैं। बायोस कैसे जानता है कि किस प्रकार का बीपीबी मौजूद है? GRUB 0.97 अभी तक एक और BPB प्रारूप का उपयोग कर रहा प्रतीत होता है?बायोस कैसे जानता है कि बीपीबी किस प्रकार का है?
मैं अपने बूटलोडर को 0xb ऑफसेट से थोड़ा पैड कर सकता हूं, और फिर यह भी काम करेगा। क्या उपयोग करने के लिए मानक/सामान्य आकार है? मैं अपने यूएसबी पर किसी भी फाइल सिस्टम का उपयोग नहीं कर रहा हूं, सिर्फ कच्चा।
मुझे लगता है कि मुझे बीपीबी की आवश्यकता है क्योंकि बायोस कुछ मूल्यों को अद्यतन करने का प्रयास करता है, जो कुछ कोड को ओवरराइट करता है। चूंकि प्रत्येक बीपीबी थोड़ा अलग लगता है, बायोस कैसे जान सकता है कि किस मूल्य को अपडेट करना है?
[GRUB] (https://github.com/jezze/grub-legacy/blob/master/stage1/stage1.S) पंक्ति 65 से 85 एक अलग क्रम का उपयोग नहीं करता है? इसमें मान शून्य पर भी सेट है, क्या यह शून्य के साथ बस बीपीबी स्पेस को पैड करना ठीक नहीं है? – user237948
खैर, सैद्धांतिक रूप से यह होगा, लेकिन मेरे पास ऐसे सिस्टम हैं जो अन्यथा मान्य एमबीआर बूट करने से इनकार करते हैं जब तक कि इनमें से कुछ उचित नहीं है, खासकर सिर के माध्यम से। –
@ user237948: आप शून्य के साथ अंतरिक्ष पैड कर सकते हैं (हालांकि आपको जेएमपी शुरू करने की आवश्यकता है)। GRUB कोड में वे अपने स्वयं के चर के लिए बीपीबी स्पेस का उपयोग करते हैं। उन्हें कोई परवाह नहीं है कि BIOS क्या रख सकता है, वे डेटा को ओवरराइट करना समाप्त कर देते हैं (यदि फ्लॉपी का उपयोग करते हुए वे BIOS से ड्राइव ज्यामिति पुनर्प्राप्त करते हैं)। ड्राइव का प्रतिनिधित्व करने वाले वहां सेन मानों को रखने का कोई कारण है घटना है कि आप डिस्क छवियों का उपयोग कर रहे हैं, आप वास्तव में हेडर पढ़ने के लिए माउंट सॉफ़्टवेयर प्राप्त कर सकते हैं और बीपीबी प्रविष्टियों से डिस्क छवि कॉन्फ़िगरेशन का निर्णय ले सकते हैं। –