मैं grub v1.98
स्थापित किया है और एमबीआर वियोजन के बाद मैं निम्नलिखित कोड का टुकड़ा है कि मुझे समझ नहीं आता लगता है:डिस्क पर जीआरयूबी चरण 1.5 का कोड कहां रहता है और यह पता क्या है?
xor ax,ax
mov [si+0x4],ax
inc ax
mov [si-0x1],al
mov [si+0x2],ax
mov word [si],0x10
mov ebx,[0x7c5c]
mov [si+0x8],ebx
mov ebx,[0x7c60]
mov [si+0xc],ebx
mov word [si+0x6],0x7000
mov ah,0x42
int 0x13
यह कोड के इस टुकड़े चरण 1.5 कोड की डिस्क पता सेट करने की कोशिश करता है, तो लोड और इसे चलाओ। हालांकि, मैं यह कैसे समझ सकता हूं कि यह कौन सा भौतिक ब्लॉक पढ़ने की कोशिश करता है? और क्या है, चरण 1.5 कोड का गंतव्य क्या है? 0x7000
?
मैं विंडोज 7 के लिए एमबीआर का संदर्भ देता हूं, जहां बाद में बूट अप कोड 0x7c00
लोड किया जाता है। दिए गए एमबीआर को सबसे पहले पता 0x7c00
पर लोड किया गया है, इसमें 0x7c00
से 0x0600
से एमबीआर कॉपी करने के कोड का एक टुकड़ा शामिल है और फिर मूल कोड दूषित होने पर 0x0600
पर शाखा। 0x7000
को संबोधित करने के लिए चरण 1.5 कोड लोड कर देगा मूल कोड? और भी, मुझे यह भी लगता है:
jmp short 0x65
nop
sar byte [si+0x7c00],1
mov es,ax
mov ds,ax
mov si,0x7c00
mov di,0x600
mov cx,0x200
cld
rep movsb
push ax
push word 0x61c
retf
एमबीआर की शुरुआत में। ऐसा लगता है कि कोड jmp
निर्देश को छोड़कर, विंडोज 7 के एमबीआर में मूल एमबीआर को 0x7c00
से 0x0600
पर कॉपी करने की कोशिश करता है। क्या इन कोडों को वास्तव में निष्पादित किया जाएगा? यदि हां, तो यहां कूदने पर नियंत्रण कब होगा। (मेरा मानना है कि जवाब हाँ है, लेकिन अग्रणी jmp
द्वारा उलझन में है)।
विभाजन के बीच एक मुक्त अंतरिक्ष में core.img डाल करने के लिए grub-install पहली कोशिश। यदि वहां पर्याप्त जगह नहीं है तो आपको एक त्रुटि दिखाई देगी। आप केवल स्विच का उपयोग करके विभाजन के भीतर core.img लिखने के लिए grub को मजबूर कर सकते हैं। आपका जवाब भ्रामक है। – ZAB
ग्रब-इंस्टाल एक त्रुटि संदेश देता है यदि एमबीआर और पहले विभाजन के बीच पर्याप्त जगह नहीं है। –
क्षमा करें, लेकिन ग्रब 2 अभी भी एमबीआर अंतराल में 'core.img' डालने की सिफारिश करता है (जब तक डिस्क निश्चित रूप से जीपीटी नहीं है): "इस विभाजन तालिका प्रारूप [एमबीआर] के साथ, GRUB को स्थापित करने के दो तरीके हैं: इसे एम्बेड किया जा सकता है एमबीआर और पहले विभाजन के बीच के क्षेत्र में ... GRUB विकास टीम आम तौर पर पहले विभाजन से पहले GRUB को एम्बेड करने की अनुशंसा करती है, जब तक कि आपके पास विशेष आवश्यकता न हो। " [ग्रब 2.02] (https://www.gnu.org/software/grub/manual/grub.html#BIOS- स्थापना)। – antonio