कैसे दूर से नियंत्रण करने के लिए जो ओएस ग्रब जूते?


10

निम्नलिखित दोहरे बूट सेटअप पर विचार करें:

  • ग्रब को स्थापित किया गया है /dev/sda
  • /dev/sda1 के रूप में मुहिम शुरू की है /boot
  • /dev/sda6 के रूप में मुहिम शुरू की है /
  • विंडोज 10 को स्थापित किया गया है /dev/sdb2

जैसा कि यह अब खड़ा है, ग्रब डिफ़ॉल्ट रूप से उबंटू का चयन करता है जब यह बूट होता है और मैं एसएसएच के माध्यम से दूरस्थ रूप से लॉगिन कर सकता हूं। ग्रब शुरू होने पर विंडोज का चयन करना भी संभव है और मैं आरडीपी के माध्यम से दूरस्थ रूप से लॉगिन कर सकता हूं।

समस्या यह है कि मेरे पास यह चुनने का कोई तरीका नहीं है कि मैं शारीरिक रूप से मौजूद नहीं होने पर किस ओएस को बूट करूं।

यह प्रश्न ग्रब को स्वचालित रूप से अंतिम चयनित ऑपरेटिंग सिस्टम को बूट करने की विधि का वर्णन करता है। हालांकि, यह काम नहीं करेगा । यदि मैं विंडोज का चयन करता हूं, तो मेरे पास पीसी और बूट उबंटू को फिर से शुरू करने का कोई रास्ता नहीं है।

क्या ओएस बूट को दूर से नियंत्रित करने का एक तरीका है?


@ हालांकि विंडोज की तरफ से देखें? (क्या मैं विंडोज चला रहा हूं और किसी तरह का प्रोग्राम या स्क्रिप्ट ग्रब को उबंटू बूट करने का निर्देश दे सकता हूं?)
नाथन उस्मान

@ तक्कत ओह, मैं देख रहा हूँ कि तुम क्या कह रहे हो ... जो काम कर सकता है।
नाथन उस्मान

क्या आपने पीएक्सई के माध्यम से बूट करने के बारे में सोचा है? फिर आप अपने बूट कॉन्फ़िगरेशन को किसी अन्य सर्वर पर छोड़ सकते हैं जिसे आप किसी भी समय एक्सेस कर सकते हैं और तदनुसार समायोजित कर सकते हैं और फिर निर्दिष्ट ओएस शुरू करने के लिए अन्य मशीन को रिबूट कर सकते हैं?
ज़ियाजिस

जवाबों:


11

हम ग्रब-रिबूट का उपयोग करके किसी दिए गए ग्रब मेनू बूट प्रविष्टि को रीबूट कर सकते हैं । यह SSH के माध्यम से एक दूरस्थ सत्र से भी किया जा सकता है।

किसी अन्य OS में बूट करने के लिए उस स्थिति को चुनें जिसे यह ग्रब मेनू में दर्शाया गया है 0:

sudo grub-reboot <num>

यहाँ छवि विवरण दर्ज करें

इस स्थिति में मेरा विंडोज स्थिति पर है 4। इसलिए जारी करते समय

sudo grub-reboot 4 && sudo reboot

Grub सेटिंग्स में परिभाषित टाइमआउट के बाद मशीन विंडोज पर रीबूट होगी।

विंडोज से रिबूट करने के बाद मशीन डिफॉल्ट ओएस में बूट हो जाएगी। इससे परिभाषित किया जा सकता है

sudo grub-set-default <num>

इस काम के लिए, हम परिभाषित करने के लिए हो सकता है GRUB_DEFAULT=savedहमारे में /etc/default/grubलेकिन अपने सिस्टम यह भी डिफ़ॉल्ट सेटिंग्स के साथ काम किया पर।

अफसोस की बात है कि विंडोज से विंडोज को रिबूट करना इसके द्वारा नहीं किया जा सकता है।


3

टेककैट के उत्तर के लिए एक और विचार धन्यवाद :

  1. डिफ़ॉल्ट बूट उबंटू है
  2. grub-reboot NNWindows बूट प्रविष्टि कहां है
  3. विंडोज को रिबूट करने से आप डिफ़ॉल्ट बूट पर वापस आ जाएंगे: उबंटू।

नुकसान : विंडोज को रिबूट करने के लिए आपको दो बार रिबूट करना होगा: रिबूट विंडोज, Ubuntu बूट और grub-reboot Nफिर से! :-(


अधिक विचारों कृपया। :)
एबी

1

आप समय के आधार पर ग्रब के साथ डिफ़ॉल्ट ओएस सेट कर सकते हैं, देखें क्या ग्रब को शेड्यूल किया जा सकता है? इसका अर्थ है: डिफ़ॉल्ट 'प्रविष्टि' (ऑटो लॉगिन) को समय की स्वचालित रूप से परिभाषित अवधि में बदलना? । इसलिए, उदाहरण के लिए, आप विंडोज से बूट करने के लिए ग्रब को बूट कर सकते हैं जब $ MINUTE विषम होता है और लिनक्स में बूट होता है जब $ MINUTE सम होता है।

insmod datehook
if [ $MINUTE -eq 0 -o $MINUTE -eq 2  -o $MINUTE -eq 4 -o $MINUTE -eq 6 -o $MINUTE -eq 8]; then
    set default="Ubuntu"
else
    set default="Windows"
fi

यदि आप एक विशिष्ट ओएस चाहते हैं; बस इसका समय आने तक इंतजार करें।

इस विधि का उपयोग करके ग्रब तक पहुंचने में लगने वाले समय को ध्यान में रखना चाहिए। 5 मिनट की समय सीमा का उपयोग करना शायद अधिक विश्वसनीय है।


मुझे लगता है कि बूट प्रविष्टियों के बीच वैकल्पिक करना भी संभव है। कुछ इस तरह :

if [ $default = "Ubuntu" ]; then
  set default="Windows"
else
  set default="Ubuntu"
fi

जब ग्रब को अंतिम OS बूटेड याद करने के लिए कॉन्फ़िगर किया गया है (अंतिम विकल्प को याद रखने के लिए ग्रब 2 कैसे प्राप्त करें? )

यदि आपका पीसी ओएस में बूट नहीं करता है जिसे आप चाहते हैं, तो बस रिबूट करें।

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