मैंने आज उबंटू 15.10 पर चलने वाले लैपटॉप पर एक ही त्रुटि देखी है, जिसे मैंने हमेशा अद्यतित रखा है, लेकिन एक महीने के लिए रिबूट नहीं किया था जब तक कि मैं एक वर्तमान कर्नेल का परीक्षण नहीं करना चाहता था (यानी, हाल ही में बदलाव हो सकता है)।
वैसे भी, मैंने पाया कि मेरे मामले में अंतर्निहित कारण वास्तव में एक "गायब" स्वैप विभाजन था, जो सेटअप ग्लिच के कारण ऊपर के ट्यूटोरियल का अनुसरण करता है। यदि यह मामला है और / या आप वास्तव में उपयोग कर रहे हैं lvm
, तो आप नीचे चरण 2 को छोड़ सकते हैं। बेशक, आप उपरोक्त त्रुटि संदेश भी देख सकते हैं कि आपका सिस्टम (या द्वितीयक डेटा) विभाजन क्षतिग्रस्त हो गया है या नहीं पाया जा सकता है (चरण 3 देखें)।
चरण 1: aformentioned ट्यूटोरियल के बाद अपने सिस्टम, बूट विभाजन को माउंट करें
मान लें कि आपका (ext2) बूट विभाजन / dev / sdX1 है, आपका (एन्क्रिप्ट किया गया) स्वैप विभाजन / dev / sdX2 है, आपका (एन्क्रिप्ट किया गया) डेटा विभाजन / dev / sdX3 है और आपने सफलतापूर्वक उत्तरवर्ती डिक्रिप्ट cryptsetup luksOpen /dev/sdX3 data
किया है, जिसके बाद बढ़ते हैं यह: mkdir /tmp/data; mount /dev/mapper/data /tmp/data
।
ट्यूटोरियल में बाइंड माउंट्स पर ध्यान दें और माउंट / देव / sdX1 को सुनिश्चित करें ताकि आप इसे अपने सिस्टम पार्टीशन / बूट डायरेक्टरी से एक्सेस कर सकें (यह महत्वपूर्ण है क्योंकि हमें निष्पादित करना है update-initramfs
)।
निम्नलिखित में, हम मान रहे हैं कि आपने सफलतापूर्वक निष्पादित किया है chroot /tmp/data/@ubuntu1510
(या जो भी आपके माउंटेड सिस्टम विभाजन को कहा जाता है)
चरण 2: उपरोक्त त्रुटि संदेश से छुटकारा पाएं
मैं btrfs का उपयोग कर रहा हूं (जैसा कि आपने उल्लेखित सबवोल्यूम नाम से अनुमान लगाया होगा), इसलिए lvmetad को आसानी से कार्यक्षमता के नुकसान के बिना निम्नानुसार अक्षम किया जा सकता है:
- संपादित /etc/lvm/lvm.conf और परिवर्तन
use_lvmetad=1
करने के लिएuse_lvmetad=0
- निष्पादित
update-initramfs -k $(uname -r) -u ; sync
अब, आप रिबूट कर सकते हैं और त्रुटि संदेश चला जाना चाहिए। हालांकि, मेरे मामले में, अगली त्रुटि संदेश [1] ने मुझे ऊपर उल्लिखित अंतर्निहित समस्या की ओर इशारा किया, इसलिए जब हम इस पर हैं, ...
चरण 3: सुनिश्चित करें कि / etc / crypttab सही, बिना विभाजन वाले बिंदुओं को इंगित करता है
पहले, चलाएं sfdisk --list /dev/sdX
और जांचें कि आपका एन्क्रिप्टेड स्वैप विभाजन (मेरे मामले में, / dev / sdX2) वास्तव में एक (सामान्य) स्वैप विभाजन के रूप में नहीं दिखता है। यदि यह (मेरे मामले में), इसका मतलब था कि बूटिंग, उदाहरण के लिए, एक बचाव डिस्क का उपयोग करने से संभवतः उस उपलब्ध स्वैप विभाजन का उपयोग किया जाएगा, जिससे आपके क्रिप्टोसेटअप संबंधित मेटाडेटा (कीफ्रेज़ और यूयूआईडी) को अधिलेखित किया जाएगा।
इसके बाद, / dev / डिस्क / बाय-यूआईडी पर एक नज़र डालें और अपने एन्क्रिप्टेड विभाजन के संबंधित UUIDs की तुलना उन / etc / crypttab में शामिल लोगों से करें। इस बिंदु पर मेरा अनुमान: आपके मामले में, एक बेमेल है।
यदि समर्पित एन्क्रिप्टेड स्वैप विभाजन कहीं भी नीचे पाया जा सकता है / देव / डिस्क / बाय-यूआईडी, ऐसा इसलिए है क्योंकि यह वर्तमान में आपके बचाव प्रणाली द्वारा उपयोग में है। उस मामले में, निम्नलिखित करें:
- विभाजन का उपयोग बंद करना सुनिश्चित करें:
swapoff -a
- इसे सुधारित करें:
mkfs.ext2 /dev/sdX2
(यह विशेष रूप से GPT विभाजन [2] का उपयोग करते समय महत्वपूर्ण है , क्योंकि यह पहले बताई गई गड़बड़ को कम कर देता है। sfdisk लिस्टिंग में "swap" प्रकार के विभाजन को दिखाने का संभावित कारण यह है कि आपने / गलती से उपयोग किया है mkswap /dev/sdX2
शुरुआत में विभाजन की स्थापना करते समय।)
- विभाजन को एन्क्रिप्ट करने और पासफ़्रेज़ सेट करने के लिए ट्यूटोरियल का पालन करें; बाद में, इसे cryptsetup का उपयोग करके खोलें और अब-डिक्रिप्ट किए गए विभाजन को ठीक से सुधारें (कुछ का उपयोग करके
mkswap /dev/mapper/swap
)
- सुनिश्चित करें कि
sfdisk --list /dev/sdX
स्वैप विभाजन की पहचान इस तरह से नहीं होगी (उस स्थिति में, अंतिम चरण दोहराएं)
अब, पुन: जाँचें कि / / etc / crypttab में सूचीबद्ध UUIDs उस पंक्ति में हैं, जो आप अपने संबंधित एन्क्रिप्टेड विभाजन के लिए नीचे / देव / डिस्क / बाय-यूआईडी देखते हैं।
फिर से, परिवर्तनों को स्थायी बनाने के लिए, आपको update-initramfs
ऊपर दिखाए अनुसार निष्पादित करना होगा ।
यदि आप संतुष्ट हैं, तो सुनिश्चित करें कि सब कुछ डिस्क पर लिखा है और सिस्टम को रिबूट करें (मैन्युअल रूप से सब कुछ अनमाउंट करने की आवश्यकता नहीं है)। बाद में, आपकी समस्या दूर हो जानी चाहिए।
[१] हो सकता है कि मैंने पहली बार ध्यान न दिया हो या दूसरी बार पहला त्रुटि संदेश "नकाबपोश" आया हो; यानी, केवल रिबूट करने के बाद (के साथ use_lvmetad=0
), मुझे " सभी भौतिक संस्करणों को पढ़ना " प्रस्तुत किया गया था । इसमें कुछ समय लग सकता है ... "(कई बार दोहराया), इसके बाद" ALERT! / dev / disk / by-uuid / .. मौजूद नहीं है। ” (यह ध्यान दिया जाना चाहिए कि update-initramfs
एक लापता विभाजन के बारे में भी शिकायत की गई है।)
[2] उनके प्रकार उनकी सामग्री का विश्लेषण करने और अंततः एक ध्वज / बाइट द्वारा निर्दिष्ट नहीं से कटौती की जाती है, क्योंकि (इसलिए करने के लिए कोई आसान तरीका नहीं है, उदाहरण के लिए, का उपयोग कर GPT फाइल सिस्टम प्रकार बदलने के [g]parted
।)