मैं विंडोज 7 में grub2 बूट कैसे बना सकता हूं?


7

मैंने अपने सिस्टम पर विंडोज 7 स्थापित किया था, फिर मैंने बूट मैनेजर के रूप में ग्रब 2 के साथ डेबियन परीक्षण स्थापित किया। प्रारंभ में मैं ग्रब में विंडोज़ प्रविष्टि को बिल्कुल नहीं देख सका, इसलिए मैं भागा:

aptitude install os-prober kcpuload 
update-grub

अब मैं प्रविष्टि देख सकता हूं, लेकिन जब मैं इसका चयन करता हूं तो मुझे असली चीज़ के बजाय केवल Win7 सिस्टम रिस्टोर मिलता है। किसी भी आईडी कैसे यह काम करने के लिए?

संपादित करें: मैंने /etc/grub.d को एक नई फ़ाइल जोड़ने के लिए सुझाए गए दृष्टिकोण की कोशिश की, जिसने grub.cfg में एक प्रविष्टि उत्पन्न की, लेकिन यह बूट पर grub मेनू में नहीं दिखाई देता है :(

मेरे पास यह है:

grzes:/home/ga# cat /etc/grub.d/11_Windows
#! /bin/sh -e
echo Adding Windows >&2
cat << EOF
menuentry “Windows 7″ {
        set root=(hd0,2)
        chainloader +1
}

और मेरे पास निम्न grub.cfg फ़ाइल है:

grzes:/home/ga# cat /boot/grub/grub.cfg
#                                      
# DO NOT EDIT THIS FILE                
#                                      
# It is automatically generated by /usr/sbin/grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub                    
#                                                                         

### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then    
  load_env                         
fi                                 
set default="0"                    
if [ ${prev_saved_entry} ]; then   
  set saved_entry=${prev_saved_entry}
  save_env saved_entry               
  set prev_saved_entry=              
  save_env prev_saved_entry          
  set boot_once=true                 
fi                                   

function savedefault {
  if [ -z ${boot_once} ]; then
    saved_entry=${chosen}     
    save_env saved_entry      
  fi                          
}                             
insmod ext2                   
set root=(hd0,3)              
search --no-floppy --fs-uuid --set 6ce3ff31-0ef7-41df-a6f5-b6b886db3a94
if loadfont /usr/share/grub/unicode.pf2 ; then                         
  set gfxmode=640x480                                                  
  insmod gfxterm                                                       
  insmod vbe                                                           
  if terminal_output gfxterm ; then true ; else                        
    # For backward compatibility with versions of terminal.mod that don't                                                                                    
    # understand terminal_output                                                                                                                             
    terminal gfxterm                                                                                                                                         
  fi                                                                                                                                                         
fi                                                                                                                                                           
set locale_dir=/boot/grub/locale                                                                                                                             
set lang=en                                                                                                                                                  
insmod gettext                                                                                                                                               
set timeout=5                                                                                                                                                
### END /etc/grub.d/00_header ###  

जवाबों:


7

सबसे पहले, आपको कॉन्फ़िगरेशन की जांच करने की आवश्यकता होगी। इसके inee ... तुम ... /etc/grub.d/? /etc/grub/? .. कहीं का। कॉन्फ़िगरेशन फ़ाइल नाम इस तरह दिखते हैं: 00xy, 10linux, 20other ... ये केवल उदाहरण हैं, लेकिन असली चीज़ लगभग समान है। उन्हें जांचें, जहां खिड़कियां एक हैं। इसे वापस लें (इसे कहीं कॉपी करें)। आपको फ़ाइल में कुछ इस तरह की आवश्यकता होगी:

menuentry "Windows" {
set root=(hd0,3)
chainloader +1
}

अगर आपको इस तरह की कोई कॉन्फिग फाइल नहीं मिली है, तो बस एक बनाएं। Grub2 का कॉन्फिग रीडिंग आसान-से-समझने वाला है। यह बढ़ जाता है। जैसे: ०० *, १० *, २० *, इत्यादि, तो आपकी नई फ़ाइल का नाम 95-विंडोज़फिक्सफाइटल होना चाहिए, यदि आप चाहते हैं कि यह अंतिम प्रविष्टि हो, या इसे लिनक्स कॉन्फिग की तुलना में कम संख्या (इसे पहली प्रविष्टि बनाने के लिए) दें। यदि आप चाहते हैं कि यह पहला हो।)

'अन्य' विन्यास फाइल में। पाठ्यक्रम के सेट रूट मूल्य को संशोधित करें। टाइप करके HDD निर्धारित करें sudo fdisk -l:। उदाहरण के लिए, /dev/sda1है (hd0,0), तो दूसरे पर अपनी HDD: /dev/sdb1 >> (hd1,0)..और इतने पर। आप इस अनुमान से वाक्य रचना को समझ सकते हैं। आपके द्वारा संशोधन किए जाने के बाद, एक करें update-grubऔर आप इसे बूट करने का प्रयास कर सकते हैं।

मुझे पता है कि यह एक बड़ी गड़बड़ की तरह लग रहा है। उसके लिए खेद है। मेरे पास ग्रब 2 के पास कोई उबंटू मशीन नहीं है, इसलिए मैंने इसे "मुझे लगता है" लिखा है। यदि आप इसे काम नहीं कर पाएंगे, तो बस पूछें।


हाय, मैं अपने समाधान की कोशिश की है, लेकिन यह काम नहीं किया :( कृपया विवरण के लिए पोस्ट को संपादित देखते हैं।
Grzenio

जब आप इसे बूट करने की कोशिश करते हैं तो यह क्या कहता है? याद रखें, आपको विंडो 7 का BOOT विभाजन देना है। यह डिफ़ॉल्ट रूप से 2 विभाजन बनाता है। बूट के लिए 1 100mb। आप चाहते हैं कि।
शकी

आह, मैंने इसे गलत विभाजन दिया। मुझे 100mb विभाजन के साथ प्रयास करें। हालांकि अजीब बात यह है कि मैं इस विकल्प को बिल्कुल भी नहीं देख सकता :(
ग्रेजेनियो

क्या विकल्प है? इसका (hd0,0) हिस्सा है।
शिकी

2
grub2 अपने विभाजन को 1 से शुरू करता है। कोई "(HD0,0)" नहीं है, यह एक grub1 युक्ति है। grub2 में यह "(hd0,1)" है।
क्विकोट

2

इसे इस्तेमाल करे:

grub-mkconfig -o /boot/grub/grub.cfg

3
और तब? क्या होगा जब एक "यह कोशिश करता है" ??
phresnel
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.