विंडोज के बाद स्थापित Centos 7 और CentOS में बूट नहीं किया जा सकता है


11

मैं विंडोज 7 और सेंटोस 7 के लिए एक दोहरी बूट सेटअप करना चाहता था

मेरे पास 500GB डिस्क के साथ विंडोज 7 मशीन थी। मैं CentOS 7 (लगभग 230GB) के लिए जगह प्रदान करने के लिए विंडोज विभाजन को सिकोड़ लिया। मैंने एक USB CentOS 7 शुद्ध स्थापना स्टिक बनाई और उसी से बूट किया। मैं स्थापित कॉन्फ़िगर को सर्वश्रेष्ठ के रूप में चलाता हूं जो मैं जानता था कि CentOS 7 को मुक्त स्थान में स्थापित करना है (पूरे डिस्क के बजाय)। मैंने नेट इन्स्टॉल किया और सभी को अच्छा लग रहा था लेकिन जब उसने रिबूट किया तो मैं विंडोज में वापस आ गया और सेंटोस में नहीं जा सकता।

मैंने USB से रिबूट किया है और स्थिति (सावधानी से) का उपयोग करके ठीक करने की कोशिश की है cfdisk, उदाहरण के लिए मैं जो विश्वास करता हूं उसका चयन CentOS बूट विभाजन है लेकिन यह "लापता ऑपरेटिंग सिस्टम" की रिपोर्ट करता है। यह भी cfdiskकहता है कि जब मैं इसे CentOS बूट के साथ लिखता हूं तो यह विभाजन तालिका को फिर से जोड़ नहीं सकता है लेकिन cfdiskफिर से लगता है कि झंडा दिखाना शुरू कर दिया गया है।

वर्तमान में USB CentOS 7 netinstall मुझे डिस्क पर निम्नलिखित विभाजन दिखाता है:

## DATA  
/home 168GB centos-home  

## SYSTEM  
/boot 500MB sda3  
/ 51GB centos-root  
swap 3.85GB centos-swap  

"अन्य" विंडोज विभाजन हैं:

ntfs 100MB sda1  
ntfs 253GB sda2

यह ठीक लग रहा है लेकिन जब मैं सेंटोस 7 इंस्टॉलेशन में जाता हूं तो यह मुझे बताता है कि मुझे रूट विभाजन के लिए माउंट पॉइंट्स बनाने होंगे। मैंने इसे मूल रूप से नहीं किया था जैसा कि मैंने सोचा था कि जब मैंने पहली बार स्थापित किया था, तो डिस्क सेटअप के लिए "यहां क्लिक करें उन्हें स्वचालित रूप से बनाने के लिए यहां क्लिक करें" यह स्वचालित रूप से किया जाएगा।

और cfdisk"रेस्क्यू ए सेंटोस सिस्टम ..." के उपयोग से एक्सेस किया गया पार्टीशन टेबल इस तरह दिखता है:

Unusable 1MB  
sda1 Primary ntfs 105MB    
sda2 Primary ntfs 265GB  
sda3 Boot Primary xfs 525MB    
sda5 NC Logical LVM2_member 235GB  
Logical Free space 0.03MB

के रूप में उल्लेख किया है, जब मैं इस विन्यास के साथ बूट करने की कोशिश करता हूं तो मुझे "लापता ऑपरेटिंग सिस्टम" मिलता है। अगर मैं बूट फ्लैग को वापस sda1 में बदलता हूं तो यह विंडोज 7 फाइन में बूट करता है।

अद्यतन # 1

मैं (पुनः) स्थापित grub2का उपयोग कर grub2-installपर netinstall से /dev/sdaऔर अब जब मैं डिस्क से बूट मैं grubशीघ्र। मैं इसे विंडोज में चेन लोड करने के लिए उपयोग कर सकता हूं। हालांकि, जब मैं CentOS 7 में बूट करने की कोशिश करता हूं तो मुझे कुछ प्रकार के ट्रेस / डंप मिलते हैं।

मैंनें इस्तेमाल किया:

linux  (hd0,msdos3)/vmlinuz-3... root=/dev/sda3
initrd (hd0,msdos3/initrd-plymouth...
boot

नोट: मेरा मानना linuxहै कि CentOS के लिए प्राथमिक बूट विभाजन है

ऊपर की कोशिश बस दुर्घटनाग्रस्त हो जाती है।

अद्यतन # 2

मैंने yumEPEL रिपॉजिटरी से NTFS-3G और NTFSPROGS का उपयोग किया।

मैं चला गया grub2-mkconfig -o /boot/grub2/grub.cfgऔर फिर बूट मेनू में विंडोज 7 (लोडर) खोजने के लिए रिबूट किया गया। लेकिन जब मैं इसे चुनता हूं तो मुझे यह मिलता है:

error: no such device 978778...
error: hd1 cannot get C/H/S values....

जो बहुत अच्छा नहीं लगता, लेकिन कम से कम कुछ प्रगति।

मुझे यह भी कहना चाहिए कि मेरे पास अब केवल आंतरिक ड्राइव पर CentOS 7 है और मैं इस ड्राइव पर बाहरी USB ड्राइव (इसलिए /dev/sdb) के रूप में काम कर रहा हूं ।

क्या कोई कृपया मुझे बूट करने के लिए विंडोज प्राप्त करने में मदद कर सकता है?

मेरे पास एक यूनिक्स पृष्ठभूमि है, लेकिन ज्यादातर मैक ओएस एक्स का उपयोग करते हैं। मैं हमेशा विंडोज और लिनक्स डुअल बूट की स्थापना पर अस्थिर हूं।

अंत में, मेरे पास सेंटोस 6.5 सिस्टम है जो एक मशीन पर ठीक है, साथ ही साथ मेरा मैक भी।

जवाबों:


4

आपने शायद गलत विंडोज विभाजन को माउंट किया है।

100 या 300MB ( Windows का बूट विभाजन ) के एक छोटे से विभाजन के लिए देखें , इसे माउंट करें और फिर कमांड को फिर से चलाएं।

यदि आपको अभी भी समस्या हो रही है, तो निम्नलिखित को जोड़ें /etc/grub.d/40_custom:

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

यह मान रहा है कि विंडोज बूट विभाजन पहली हार्ड डिस्क का पहला विभाजन है।

दौड़ना न भूलें grub2-mkconfig


3

विंडो विभाजन माउंट करें। (यदि आप ntfsprogs-2013.1.13-5.el7.x86_64.rpm और ntfs-3G-2013.1.13-5.el7.x86_64.rpm स्थापित नहीं कर सकते हैं )

रूट के रूप में चलाएं grub2-mkconfig -o /boot/grub2/grub.cfg


टिप्पणी के लिए धन्यवाद। इस काम को करने के कई प्रयासों के बाद मैंने एक नई डिस्क में डाल दिया और सिर्फ Centos 7. स्थापित किया। हालांकि, मैं अभी भी विंडोज काम करने के साथ दूसरी डिस्क प्राप्त करना चाहता हूं इसलिए मैं डिस्क को किसी अन्य मशीन में डालूंगा और आपकी दिशा का पालन करूंगा। एक बार फिर धन्यवाद!
एशले ऐटकेन

वह किया। अब बूट मेन्यू में प्रवेश मिल रहा है :-) लेकिन अब प्राप्त करें: त्रुटि: ऐसा कोई भी उपकरण 787776677 ... त्रुटि: hd1 को C / H / S मान नहीं मिल सकता है ...
एशले ऐटकेन

यह विंडोज 7 और CentOS 7. धन्यवाद के साथ बहुत अच्छा काम किया।
नाथन मैककॉय

2

CentOS बूटलोडर को पुनर्स्थापित करें (चाहे वह LILO या GRUB हो)। बूटलोडर इंस्टॉलर को आपके मशीन में ओएस को पहचानना चाहिए और बूटिंग समय में स्वचालित रूप से आपको ओएस विकल्प दिखाना चाहिए। CMIIW।


धन्यवाद एडे। मेरा मानना ​​है कि CentOS 7 Grub2 का उपयोग करता है, इसलिए मैं इसे पुनः स्थापित करूंगा। मुझे लगता है कि यह 500 एमबी बूट विभाजन में चला जाता है, लेकिन मुझे लगा कि समस्या एमबीआर (या ऐसा कुछ) से अधिक संबंधित होगी। क्या Grub2 उचित रूप से सेट करेगा?
एशले ऐटकेन

2

मैं 2 दिनों के लिए विंडो 7 और सेंटोस 7 के साथ एक दोहरी बूट की कोशिश कर रहा हूं और मैंने इसे किया। बस सरल चरणों का पालन
करें विंडो 7
फिर सेंटोस 7 स्थापित करें
जब आप पीसी को पुनरारंभ करते हैं तो आपको ग्रब में विंडोज 7 के लिए कोई बूट विकल्प नहीं दिखाई देगा। कमांड
का su
उपयोग करने के लिए सेंटो स्विच में बूट cfdisk
करें। फ़्लैग के लिए जाँच करें जहाँ बूट लिखा गया है कि पार्टीशन को सूचित करें।
तब /boot/grub2/grub.cfg में ग्रब फ़ाइल खोलें। पहले grub.cfg फ़ाइल को grub.old.fg के रूप में कॉपी करके फ़ाइल को खोलें। और इसे संपादित करें

menuentry "WINDOWS"{
set root='(hd0,msdos1)' 
chainloader +1
}

उस पार्टीशन के साथ msdos का मान बदलें जहाँ बूट फ़्लैग दिया गया है। जैसे कि बूट झंडा / देव / sda1 में है तो msdos1 अगर / dev / sda2 है तो msdos2।

दौड़ना न भूलें grub2-mkconfig

उम्मीद है यह आपके लिए उपयोगी होगा।


आशा है कि ओपी इसे स्वीकृत उत्तर के रूप में चुनता है। मेरे लिए पूरी तरह से काम किया: nrecursions.blogspot.in/2015/12/… , लेकिन तीसरे पक्ष के बूट-लोडर के लिए बेहतर होता जो स्वतः ओएस को विभाजन पर पहचान लेता है: superuser.com/questure/1009739/…
नव

1

पाया गया कि फ़ाइल 11_windows को जोड़ना /etc/grub.dअधिक सहायक था:

सामग्री:

#!/bin/sh
cat << EOF
menuentry "WINDOWS"{
set root='(hd0,msdos1)' 
chainloader +1
}
EOF

फिर भाग गया grub2-mkconfigका बैकअप सहेजने के बाद grub.cfgमें /boot/grub2

स्टार्ट अप के दौरान ग्रब मेनू में एंट्री "विन्डोज़" में शामिल परिणाम।

मेरा मामला विंडोज 10 के लिए था, लेकिन ऐसा ही होना चाहिए।


Grub2-mkconfig कमांड का प्रारूप:
stv

1
सीडी / बूट / ग्रब 2; grub2-mkconfig --output = grub.cfg
stv

1

मैं दो दिनों के लिए विंडो 7 और सेंटोस 7 के साथ एक दोहरी बूट की कोशिश कर रहा हूं और मैंने इसे किया। बस सरल चरणों का पालन करें स्थापित करें विंडो 7 फिर सेंटोस 7 जब आप पीसी को पुनरारंभ करते हैं तो आपको ग्रब में विंडोज 7 के लिए कोई बूट विकल्प नहीं दिखाई देगा। सेंट में स्विच करें कमांड कमांड cfdisk का उपयोग करें फिर उन झंडे की जांच करें जहां बूट लिखा गया है कि विभाजन को सूचित करें / उसके बाद / boot/grub2/grub.cfg में ग्रब फ़ाइल खोलें पहले grub.cfg फ़ाइल को grub.old.cfg पर कॉपी करके बैकअप लें फ़ाइल और इसके साथ संपादित करें

मेनूेंट्री "WINDOWS" {सेट रूट = '(hd0, msdos1)' श्रंखला लोडर +1) विभाजन के साथ msdos के मूल्य को बदल देता है जहाँ बूट फ़्लैग दिया गया है। जैसे कि बूट झंडा / देव / sda1 में है तो msdos1 अगर / dev / sda2 है तो msdos2।

Grub2-mkconfig चलाना न भूलें

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