Initramfs से माउंट रूट फाइलसिस्टम


16

यह एक सामान्य परिदृश्य है। जो भी कारण के लिए, initramfs (OpenSUSE, मामले में यह मायने रखता है) रूट फाइल सिस्टम को खोजने में विफल रहा है, इसलिए यह आपको एक बचाव शेल में छोड़ देता है। मैं पूरी तरह से अच्छी तरह से जानता हूं कि किस उपकरण को माउंट करने की आवश्यकता है। मेरा प्रश्न:

रूट फाइलसिस्टम को माउंट करने और बूट अनुक्रम जारी रखने की सही प्रक्रिया क्या है?

संभवत: यह संपूर्ण बिंदु है बचाव कंसोल का है। और फिर भी, किसी को भी यह प्रतीत नहीं होता है कि आपने वास्तव में ऐसा कैसे किया है।

जाहिर है मैं रूट फाइलसिस्टम को कहीं माउंट कर सकता हूं। लेकिन मैं फाइलसिस्टम ट्री की जड़ कैसे बनाऊं? और अब क्या मैं उसके बाद सामान्य बूट प्रक्रिया जारी रख सकता हूं? (मैंने सोचा था कि शेल से बाहर निकलने से ऐसा होगा ... लेकिन यह नहीं है।) क्या आप जारी रखने से पहले वास्तव में घुड़सवार होने की आवश्यकता है और आप कैसे जारी रखते हैं?


2
मैं गलत हो सकता हूं, लेकिन मुझे लगता है कि एक बार जब आप बचाव कवच में होते हैं तो आप वर्तमान बूट जारी नहीं रख सकते हैं, तो आप चीजों को ठीक करते हैं ताकि अगला बूट सफल हो जाए
एरिक रेनॉफ

@EricRenouf मैन्युअल रूप से पूरी प्रणाली को बूट करने से इस तरह के मुद्दे को ठीक करने का सबसे आसान तरीका हो सकता है। मुझे अतीत में समस्याएँ थीं जहाँ initramfs ने मेरे cryptsetup-luks एन्क्रिप्ट किए गए रूट विभाजन को खोलने में असफल रहे, और सबसे आसान फिक्स इसे मैन्युअल रूप से बूट करना और फिर चलाना था update-initramfs -u। जब मैं सिर्फ chrootएक बचाव प्रणाली से रूट फाइल सिस्टम में एड करता हूं तो मैं इसे पूरी तरह से काम नहीं कर पाता ; परिणामस्वरूप initramfs हमेशा टूट गया था।
मार्टिन वॉन विटिच

क्या यह वास्तव में एक initrd, या एक initramfs है? (सिर्फ इसलिए कि फ़ाइल कहा जाता initrdहै इसका मतलब यह नहीं है कि यह एक है: अधिकांश वितरण स्विच किए गए हैं, initramfsलेकिन फ़ाइल को कॉल करते रहें initrd।) आप किस वितरण का उपयोग कर रहे हैं (जैसा कि initrd / initramfs करता है, यह इस बात पर निर्भर करता है कि वितरण वहाँ क्या रखा गया है)?
गिल्स एसओ- बुराई को रोकें '

@ मुझे यकीन है कि यह वास्तव में initramfs है। यकीन नहीं होता कि क्या वास्तव में इससे फर्क पड़ता है; किसी भी तरह से, मुझे एक मिनी फाइल सिस्टम मिला है और मुझे वास्तविक फाइल सिस्टम को माउंट करने की आवश्यकता है। (OpenSUSE, मामले में यह मायने रखती है।)
MathematicalOrchid

जवाबों:



2

सामान्य प्रक्रिया है

  1. आरोह / देव / sdX / mnt
  2. / mnt पर समस्या ठीक करें
  3. रिबूट

हो सकता है कि आप यह चाहते हों

  1. आरोह / देव / sdX / mnt
  2. तय / mnt
  3. umount / mnt
  4. आरोह / देव / sdX /
  5. बूट मैनुअल खत्म करो

यह अनुशंसित नहीं है, आपको इसे प्रत्येक बूट पर करना होगा। उत्पादन के माहौल में, आप सुनिश्चित नहीं हो सकते कि मैनुअल बूट स्वचालित रूप से एक ही चरण का पालन करें।

हालांकि, महत्वपूर्ण डेटा के साथ आपातकालीन स्थिति में, चरण 5 सामान्य रूप से नीचे उबाल लें:

  • 5.1 सेट अप नेटवर्क
  • 5.2 सुरक्षित स्थान पर महत्वपूर्ण फ़ाइल की प्रतिलिपि बनाएँ

2
मेरा मानना ​​है कि मूल पोस्टर का "वास्तविक" सवाल था "आप वास्तव में '5. बूट बूट मैनुअल' कैसे करते हैं?"
user2121874 19

2

बस फिर रिबूट के fsckविकल्पों के बिना कमांड चलाएंinitramfs

उदाहरण: रूट विभाजन है sda3

fsck /dev/sda3

रीबूट ने मुझे इनट्र्रामफ्स शेल के बजाय ग्रुब शेल में गिरा दिया। अब मैं फिर से सब कुछ करने के लिए initramfs शेल प्राप्त
करूंगा

1

यदि root=पैरामीटर सही है और समस्या यह है कि आवश्यक उपकरण उपलब्ध नहीं है (उदाहरण के लिए क्योंकि initramfs mdRAID इकट्ठा करने में विफल रहा है ), तो यह उपकरण को मैन्युअल रूप से उपलब्ध कराने के लिए पर्याप्त है, उदाहरण के लिए:

mdadm --assemble ...

फिर जांचें कि डिवाइस वहां है और अगर सब कुछ अच्छा लग रहा है, तो हिट ctrl+ dया टाइप exitकरें toitramfs शेल को छोड़ दें। Initramfs तब रूट फाइल सिस्टम को माउंट करेगा और हमेशा की तरह बूट करना जारी रखेगा। सिस्टम बूट हो जाने के बाद, आपको तब अंतर्निहित समस्या को सुधारना चाहिए, उदाहरण के लिए रनिंग द्वारा update-initramfs -u

मुझे अभी तक इनट्रामाफ़्स को एक अलग डिवाइस को बूट करने का तरीका बताने का तरीका नहीं मिला है जो /proc/cmdlineकहता है। शायद किसी और को एक विचार है?

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