क्या हमेशा बूट विभाजन आवश्यक है?


30

क्या मुझे /bootलिनक्स डिस्ट्रो स्थापित करने के लिए हर बार एक विभाजन बनाना चाहिए ?

क्या /bootविभाजन होने और /विभाजन को बूट करने योग्य बनाने में कोई अंतर है ?


मुझे लगता है कि बूट लोडर को गलती से ओवरराइट करने से बचने के लिए इसे अलग रखना / बूट विभाजन सुरक्षित है। अगर मैं गलत नहीं हूँ तो बूट लोडर डिस्क के पहले सिलिंडर में होना चाहिए ताकि यह सुनिश्चित हो सके कि बूट प्रक्रिया ठीक से काम करेगी क्योंकि BIOS हमेशा डिस्क से पहला बाइट्स लोड करता है और यह मान लेता है कि एक कोड है जो आगे नियंत्रण को संभाल सकता है और सक्षम है ऑपरेटिंग सिस्टम लोड करने के लिए।
mnnnc

1
यह निश्चित रूप से एक आवश्यकता नहीं है, लेकिन जैसा कि ऊपर टिप्पणी में कहा गया है यह एक अच्छा अभ्यास है।
हम्मीर ममनी

जवाबों:


29

एकमुश्त सवाल का जवाब देने के लिए: नहीं , /bootहर मामले में एक अलग विभाजन निश्चित रूप से आवश्यक नहीं है।

हालांकि , भले ही आप कुछ और विभाजित नहीं है, यह आम तौर पर के लिए अलग विभाजन के लिए सिफारिश की है /, /bootऔर स्वैप। मैं दृढ़ता से/home एक अलग विभाजन पर भी डालने का सुझाव दूंगा , भले ही आप फ़ाइल सिस्टम पदानुक्रम को किसी और से विभाजित न करें।

नियमित रूट फ़ाइल सिस्टम से अलग एक विभाजन पर बूट / बूट करने का कारण यह है कि आप ऑन-डिस्क फ़ाइल सिस्टम जटिलता को कम कर सकते हैं, जो कर्नेल और प्रारंभिक रैम डिस्क को बूट करने के लिए बूट लोडर पर मांगों को कम करता है। यह विशेष रूप से दिलचस्प हो जाता है अगर आप एक गैर-तुच्छ सेटअप चला रहे हैं - शायद आप RAID, या रूट विभाजन पर एक असामान्य फ़ाइल सिस्टम जैसे कि ZFS, या एक एन्क्रिप्टेड रूट विभाजन चला रहे हैं। / Boot के लिए विभाजन को प्लेन ext2fs का उपयोग करके स्वरूपित किया जा सकता है। चूंकि विभाजन के लिए केवल छोटा होना आवश्यक है (कुछ सौ मेगाबाइट्स काफी हैं; / मेरे वर्तमान सिस्टम पर बूट 100 एमबी है, और मुझे उस पर कोई अड़चन नहीं है), गैर-जर्नलेड फ़ाइल सिस्टम के डाउनसाइड जैसे कि अतिरिक्त जरूरत इतना अच्छा नहीं है क्योंकि चेक वैसे भी बहुत तेज़ हैं, और फाइल सिस्टम की सादगी के साथ-साथ यह काफी हद तक स्थिर होने के कारण भ्रष्टाचार की संभावना कम हो सकती है। बूट लोडर को मूल रूप से एक विदेशी फाइल सिस्टम को समझने की आवश्यकता नहीं है या डिस्क सेटअप एक और संभावित लाभ है।

एक अलग विभाजन पर डालने / घर बनाने का कारण यह है कि, भले ही कोई चीज दुष्ट हो जाए और उसे भरना शुरू कर दे (या यदि आप ऐसा खुद करते हैं), तो आप कभी भी गैर-उपयोगकर्ता प्रक्रियाओं के लिए समस्या उत्पन्न नहीं करते हैं (जो शायद ही कभी बाहर चले जाएं) घर) या बूट प्रक्रिया ही। इसके अलावा, ओएस को फिर से स्थापित करना या वितरण को स्विच करना बहुत आसान हो जाता है, यदि आप इंस्टॉलर को छोड़ने के लिए / घर पर बता सकते हैं कि यह /अपनी फ़ाइलों के साथ भरने के लिए सुधार और सुधार है। अंतिम-खाई पुनर्प्राप्ति प्रयास के रूप में यदि कुछ सही मायने में गलत सॉफ्टवेयर-वार होता है, तो यह एक बड़ा अंतर बना सकता है।

लिनक्स पर एक स्वैप फाइल चलाना एक अनुशंसित सेटअप नहीं है, और मुझे यह भी पता नहीं है कि अधिकांश सामान्य वितरण का स्टॉक कर्नेल समर्थन नहीं है(या अनुमति) फ़ाइल-आधारित स्वैप। इसके कई कारण हैं, एक बड़ा कारण प्रदर्शन (बड़े पैमाने पर विखंडन के जोखिम के कारण) है। रैम की तुलना में स्वैप पहले से ही छिपकर धीमा है (यह एक फिक्स की तुलना में स्टॉपगैप उपाय से अधिक है), इसलिए विखंडन को जोखिम में डालकर इसे और भी धीमा करने का बहुत कम कारण है। और एक स्वैप विभाजन को बहु-बूट वातावरण में लिनक्स वितरण के बीच सुरक्षित रूप से साझा किया जा सकता है; शायद सामान्य मामले में एक विचार नहीं है, लेकिन निश्चित रूप से कुछ के लिए एक विचार है। एक स्वैप विभाजन को अलग विशेषताओं के साथ एक अलग भौतिक डिस्क पर भी रखा जा सकता है; हो सकता है कि इन दिनों एक एसएसडी, या एक 10krpm ड्राइव एक अलग कंट्रोलर चैनल को बंद कर दे (जो कि आजकल कम है जब हर SATA डिस्क एक अलग चैनल पर होती है, लेकिन PATA दिनों में वापस फर्क कर सकती है)।

व्यक्तिगत रूप से इन दिनों, मैं / / बूट, और स्वैप को अलग करता हूं, अपने वर्तमान सिस्टम पर / 100 GB पर (मैं उस सभी का उपयोग करने के आस-पास नहीं हूं; क्यूरेंट उपयोग 8.9 जीबी है, और इससे मुझे वह सब कुछ मिलता है जो मुझे चाहिए। सॉफ्टवेयर और फिर कुछ)। बाकी प्राथमिक डिस्क एक सिंगल फाइल सिस्टम से बनी है, जो कि निजी सम्मेलन द्वारा मैं / दा ( disk a) पर माउंट करता हूं । एक दूसरी डिस्क होगी / db, फिर / dc इत्यादि। (मुझे संदेह है कि एफएचएस वास्तव में इस योजना को मंजूरी देता है, लेकिन यह व्यवहार में मेरे लिए अच्छी तरह से काम करता है।) फिर मैं / दा में बांध / माउंट करता हूं, जिसका अर्थ है कि मैं हर एक पथ को संदर्भित करने के बारे में चिंता किए बिना भौतिक निर्देशिका को स्थानांतरित कर सकता हूं। यह या केवल इसलिए repartitioning क्योंकि मुझे एहसास हुआ कि मैं / घर के लिए डिस्क स्थान की थोड़ी कमी चला रहा हूं।


3
इसके अलावा, यदि रूट विभाजन एन्क्रिप्ट किया गया है (और बूट स्पष्ट रूप से स्पष्ट है) इसके अलावा, अलग / बूट की आवश्यकता होती है
usr-local-at

@djechelon मुझे लगता है कि "एक गैर-तुच्छ सेटअप" के तहत आता है, लेकिन मैं आपके विशेष उदाहरण को संपादित करूँगा
एक CVn

मैं ZFS में देख रहा हूं, और हर गाइड को यह संकेत मिलता है कि ZFS का रूट पर उपयोग करते समय, आपको ext * on / boot जैसा कुछ चाहिए।
CMCDragonkai

1
@CMCDragonkai यह मेरा जवाब नहीं बदलता है कि "नहीं, / बूट के लिए एक अलग विभाजन निश्चित रूप से हर मामले में नहीं है "
एक CVn

3

मुझे नहीं लगता कि यह अब अनिवार्य है। अतीत में, BIOS के साथ कुछ सीमाओं के कारण यह आवश्यक था। 8 या 64 गो (मुझे ठीक से याद नहीं है) के बाद बूट करने योग्य विभाजन होना असंभव था। फिर, यदि आप एक दोहरी बूट करना चाहते हैं, तो आप पहले छोटे विभाजन (/ बूट), और बूट करने योग्य विंडोज़ विभाजन और उसके बाद अन्य लिनक्स विभाजन डाल सकते हैं। एक लंबा समय है, कोई भी बूट निर्देशिका नहीं थी। कर्नेल सीधे / पर था।


1
कर्नेल को कभी-कभी सीधे रूट में संग्रहीत किया जाता था (कुछ वितरण अभी भी ऐसा कर सकते हैं), लेकिन आपको अभी भी अन्य चीजों की आवश्यकता हो सकती है जैसे कि initrd, System.map, बूटलोडर कॉन्फ़िगरेशन आदि आदि, जो अपने स्वयं के पदानुक्रम को पसंद करते हैं।
एक CVn

2

अंतर फाइलसिस्टम ऑप्टिमाइज़ेशन है। आम तौर पर प्रत्येक विभाजन में फाइल, डिस्क्रिप्टर आदि के लिए खुद की टेबल होती है। आप लिनक्स को '' / बूट ',' / स्वैप ', / यूएसआर' आदि के बिना एक '' विभाजन पर स्थापित कर सकते हैं, लेकिन यह एकल विभाजन आंतरिक तालिकाओं में जल्द ही बढ़ेगा और कुछ ऑपरेशन थोड़े धीमे हो जाएंगे। इसलिए अलग-अलग प्रकार के कार्यों के लिए अलग-अलग, अनुकूलित कंटेनर प्रदान करने के लिए विभिन्न विभाजनों का उपयोग किया जाता है।


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

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

मुझे नहीं लगता कि आपकी टिप्पणी मेरा विरोधाभास कैसे करती है। और एक स्वैप विभाजन में इनोड्स की कोई अवधारणा नहीं है, क्योंकि यह फाइलों से निपटता नहीं है। वहाँ के बीच एक बड़ा अंतर है /swapऔर swap
एक CVn

0

नहीं, मुझे लगता है कि कई कारणों से / boot विभाजन आवश्यक नहीं है:

  • आप चाहते हैं कि / बूट फोल्डर बहुत छोटा न हो और इसे इसमें शामिल करें
  • यह एक विभाजन बनाने के लिए आवश्यक नहीं है क्योंकि / बूट की फ़ाइलें और फ़ोल्डर अक्सर अपडेट और एक्सेस नहीं किए जाते हैं। यह / tmp या a / swap फ़ोल्डर की तरह नहीं है। कार्यक्रम / बूट करने के लिए नहीं लिखते हैं।
  • / बूट का उपयोग केवल स्टार्टअप और कर्नेल अपडेट के दौरान किया जाता है जब initramfs चित्र अपडेट किए जाते हैं।
  • आप एक RAID 5 सरणी में / बूट / रूट को शामिल कर सकते हैं और यह GRUB2 के साथ काम करेगा। हर ड्राइव के लिए MBUB में GRUB2 जोड़ें। आप 2, 3 डी ड्राइव से बूट कर सकते हैं ... ड्राइव अगर 1 ड्राइव मर चुका है।
  • कम mounts = कम uuid की = अधिक दृश्यता = अधिक सरलता
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.