मैं इसे करना चाहता हूं क्योंकि मैं विंडोज 7 स्थापित करना चाहता हूं और मेरा BIOS मेनू दिखाई नहीं देता है; यह शुरू में grub2 मेनू को छोड़ देता है, लेकिन यह एक और कहानी है ... क्या विंडोज 7 इंस्टॉलेशन iso को सीधे gr2 से बूट करने का एक तरीका है?
मैं इसे करना चाहता हूं क्योंकि मैं विंडोज 7 स्थापित करना चाहता हूं और मेरा BIOS मेनू दिखाई नहीं देता है; यह शुरू में grub2 मेनू को छोड़ देता है, लेकिन यह एक और कहानी है ... क्या विंडोज 7 इंस्टॉलेशन iso को सीधे gr2 से बूट करने का एक तरीका है?
जवाबों:
ग्रब विरासत या ग्रब 2 के साथ वास्तविक आईएसओ को बूट करने से काम नहीं चलेगा, लेकिन पुराने विंडोज़ संस्करण (यानी एक्सपी) के साथ आईएसओ से यूएसबी स्टिक से i386 फ़ोल्डर को अनपैक करना संभव है, और फिर बूटलोडर को कॉल करने के लिए grub4dos का उपयोग करें:
title windows installer via setupldr.bin
find --set-root /i386/setupldr.bin
chainloader /i386/setupldr.bin
या
title windows installer via /bootsect.bin
find --set-root /i386/setupldr.bin
chainloader /bootsect.bin
यह नए विंडोज़ संस्करणों के साथ या नए हार्डवेयर के साथ काम नहीं कर सकता है लेकिन इसके विकल्प भी हैं।
ग्रब 2 के साथ स्पष्ट रूप से ऐसा कुछ विंडोज 7 के लिए काम कर सकता है :
menuentry "Windows 7 (bootmgr)" --class windows --class os {
insmod part_msdos
insmod ntfs
insmod ntldr
### A: either use this line or the next one, but not both
set root='(hd0,msdos1)'
### B:
### search --no-floppy --fs-uuid --set=root ____INSERT_PARTITION_UUID_HERE___
ntldr ($root)/bootmgr
}
विकल्प A अपने बूट करने योग्य USB स्टिक / HDD को पहला उपकरण मानता है और इसमें एक msdos स्टाइल पार्टीशन टेबल है। अपने कॉन्फ़िगरेशन से मिलान करने के लिए समायोजित करें। यदि आपके बूट डिवाइस में GPT विभाजन तालिका है, तो सबसे अधिक संभावना है कि आपको उपयोग करने की आवश्यकता होगी (hd0,gpt1)(सामान्य रूप से GPT को सेट करने के लिए ट्रिकियर)।
विकल्प बी ड्राइव के अद्वितीय यूयूआईडी का उपयोग करता है, जिसे लिनक्स sudo blkidपर उदाहरण के लिए diskutil info disk0s1या (या डिस्क उपयोगिता> जानकारी) के साथ ओएसएक्स पर देखा जा सकता है ।
अंतिम प्रविष्टि इस तरह के उदाहरण के लिए लग सकती है:
menuentry "Windows 7 installer" --class windows --class os {
insmod part_msdos
insmod ntfs
insmod ntldr
search --no-floppy --fs-uuid --set=root 0E239BC6-F960-3107-89CF-1C97F78BB46B
ntldr /bootmgr
}
हाँ, आपको लगता है कि कुछ इस तरह काम करेगा:
menuentry "Boot Windoze" {
search -f "--set-root /Winblows.iso"
drivemap "/Winblows.iso" '(hd32)'
drivemap '--hook' ''
set root='(hd32)'
chainloader +1
}
लेकिन विंडोज बस उस पर गंजा होगा।
यदि आपके पास कम से कम 4 जीबी रैम है, तो आप पूरे डीवीडी आईएसओ को मेमदिस्क में लोड करने का विकल्प चुन सकते हैं और इसे बंद कर सकते हैं। ऐसा करने के लिए, SysLinux डाउनलोड करें और memdiskअपनी bootनिर्देशिका में फ़ाइल निकालें । फिर आपको कुछ इस तरह से Grub2 में कोड जोड़ना होगा
menuentry "Boot Windoze" {
search -f "--set-root /Winblows.iso"
insmod memdisk
linux16 /boot/memdisk iso
initrd16 /Winblows.iso
}
हालाँकि, मैं कोड का परीक्षण भी नहीं करने जा रहा हूँ, क्योंकि RAM में 3+ GB डेटा डालना केवल सादा गलत है (एक विचारपरक दृष्टिकोण से)। नहीं, मैं वास्तव में चाहता था कि आप क्या चाहते हैं, लेकिन अंत में मैंने विंडोज 7 यूएसबी / डीवीडी डाउनलोड टूल का उपयोग करके एक यूएसबी पर एक विभाजन पर विंडोज इंस्टॉल किया और उस पर चेनलोड किया। क्षमा करें, ऐसा कोई अन्य तरीका नहीं है जो मुझे दिखाई दे।
तकनीकी रूप से विंडोज़ की .isoफ़ाइल से इंस्टॉल करना संभव नहीं है। आप .isoग्रब का उपयोग करने से बूट कर सकते हैं लेकिन उसके बाद विंडोज माउंटेड स्थान के साथ संपर्क खो देगा या यह इसके लिए सक्षम नहीं है। तो grubमाउंट और बूट के बारे में दोनों को पता होना चाहिए। वर्तमान में Windows समर्थन नहीं करता है।
तो आपको .isoएक विभाजन की जड़ की सामग्री को निकालने / कॉपी करने की आवश्यकता है और फिर इसका उपयोग करके चेन-लोड करें grub।