उबटन लैवमेट के कारण बूट नहीं होगा


27

मैंने Ubuntu 15.10 को स्थापित करने के लिए इस ट्यूटोरियल का अनुसरण किया है:

https://thesimplecomputer.info/full-disk-encryption-with-ubuntu

अपने कंप्यूटर को पुनः आरंभ करने के बाद मुझे ग्रब मेनू में मिला और उबंटू को चुना। उसके तुरंत बाद मुझे यह त्रुटि मिली:

/run/lvm/lvmetad.socket: connect failed: No such file or directory
WARNING: Failed to connect to lvmetad. Falling back to internal scanning.

ये संदेश हर सेकंड एक ब्लैक स्क्रीन पर जुड़ते रहते हैं। थोड़ी देर के बाद, मुझे initramfsऐश कंसोल तक पहुंच मिलती है।

मैं क्या गलत कर रहा हूं?


ऐश कंसोल या बैश कंसोल? लेखन त्रुटि है?
फुफिर

जवाबों:


12

मैंने आज उबंटू 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।)


2

उबंटू 18.04.1 एलटीएस यहां। यह एक-दो महीने तक बिना रुके चलता रहा, लेकिन जब मैं लौटा तो मुझे पता चला कि कीबोर्ड बिना पहचाना है। जब मैंने रिबूट किया, तो मुझे 'lvmetad' संदेश से कनेक्ट नहीं किया जा सका और "UEFI db सूची" प्राप्त करने में सक्षम नहीं होने के बारे में अधिक जानकारी मिली।

मैंने बिना डिस्क एन्क्रिप्शन के इंस्टॉल किया था।

यूईएफआई संदेश चिंताजनक था क्योंकि यह यूईएफआई कंप्यूटर पर मेरी पहली स्थापना थी, इसलिए मुझे कोई अनुभव नहीं था, और मैं स्पष्ट रूप से अभी भी उपयोगिता के बारे में जानकारी नहीं दे रहा हूं। मेरी समस्या को इस तथ्य से जटिल किया गया था कि मैंने 'lvm' का उपयोग किया था जो कि मेरा '/', रूट, वॉल्यूम होने जा रहा था। (वास्तव में, मैं पहले से ही भूल गया हूं कि मैंने पहली जगह में कैसे पूरा किया! अरे! मैं बूढ़ा हो गया हूं।)

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

मैंने पुन: स्थापित करने का निर्णय लिया - जो काम किया, और मेरे / घर / निर्देशिका संरचना को अनमोल किया। मैंने / / / की जाँच नहीं की है, लेकिन दोनों की प्रतियां पहले ही बना ली हैं, इसलिए मैं बाद में जाँच कर सकता हूँ। / etc / वास्तव में छोटा है।

मैंने EFI और / boot / के लिए विभाजनों को हटा दिया है और एक ही, बड़े EFI विभाजन (> 750MB) में जोड़ दिया है।

अब यह रिबूट होता है, लेकिन एक भी त्रुटि संदेश पढ़ने के लिए बहुत तेजी से चमकता है, और मुझे बूट करने के लिए लिनक्स छवियों के बूट 'मेनू' की पेशकश नहीं की जाती है, यह सीधे उबंटू में बूट करता है। अभी और भी काम करना है, ग्रब I मान लीजिए, इसे संबोधित करने के लिए। लेकिन कम से कम मेरी फाइलें वापस आ गई हैं।

[१] मैंने उबंटू इंस्टालेशन को एक यूएसबी स्टिक से बूट किया, और डेस्कटॉप से ​​"इनस्टॉल" चुनने से पहले, उबंटू को "कोशिश" करने के लिए चुना, जिसने मुझे आदि और घर की प्रतियां बनाने की अनुमति दी।


mount /dev/mapper/data /tmp/dataमेरे साथ unknown filesystem type LVM2_member
फ्रांसेस्को बोई

2

Failed to connect to lvmetadत्रुटि कर सकते हो क्योंकि डिस्क 100% भरा है। इसे ठीक करने के लिए, USB अंगूठे ड्राइव से बूट करें, पूरी डिस्क को माउंट करें, कुछ अनावश्यक फ़ाइलों को हटा दें और रिबूट करें। मैंने बूट सिस्टम को फिर से इंस्टॉल किया - मुझे नहीं पता कि यह आवश्यक है या नहीं।

ये ऐसे कमांड हैं जो मेरे लिए समस्या का समाधान करते हैं, यूएसबी ड्राइव से बूट होने के बाद टर्मिनल से चलते हैं। मेरे पास पूर्ण ड्राइव एन्क्रिप्शन के साथ स्टॉक उबंटू 18.04 है। YMMV।

  • ड्राइव माउंट करें:
sudo cryptsetup luksOpen /dev/sda5 sda5_crypt
sudo vgscan --mknodes
sudo vgchange -ay
sudo mount /dev/mapper/ubuntu--vg-root /mnt
  • अनावश्यक फ़ाइलें हटाएं ( cd /mnt/home/your_username... rm ...)
  • (आवश्यक नहीं हो सकता है) बूट सिस्टम को फिर से स्थापित करें:
cd /mnt/
sudo mount /dev/sda1 boot
for d in dev sys proc run; do sudo mount --bind /$d $d; done
sudo vi etc/crypttab # make sure first line uses "sda5_crypt"
sudo chroot .
update-grub
grub-install /dev/sda
update-initramfs -u -k all
exit
sudo umount dev sys proc run boot
  • अनमाउंट:
cd /
sudo umount /mnt
sudo vgchange -an
sudo cryptsetup close sda5_crypt
  • रिबूट:
sudo reboot

0

यह आपके सिस्टम को USB या किसी अन्य चीज़ से बूट करने के लिए आवश्यक नहीं है। मुझे एक ही समस्या और एक कारण था - क्योंकि डिस्क 100% पूर्ण है। अगले समाधान से मुझे मदद मिली।

1) अपने सिस्टम को पुनरारंभ करें। BIOS के साथ, Shift कुंजी दबाकर रखें, जो GNU GRUB मेनू लाएगा।

2) Ubuntu सेटिंग्स को संपादित करने के लिए 'ई' प्रेस करने के बाद। में इस समस्या को आप स्क्रीन पा सकते हैं। इस तरह से 'linux *' से शुरू होने वाली एक स्ट्रिंग खोजें:

linux     /boot/vmlinuz-4-4.0-22-generic root=UUID=43ad24d3-e\
c5b-44ee-a099-a88eb9520989 ro  quiet splash $vt_handoff

हटाएँ:

ro  quiet splash $vt_handoff

और जोड़:

init=/bin/bash

एक बार तैयार होने के बाद CTRL + x या F10 को बूट करें।

3) रूट विभाजन केवल-पढ़ने के लिए माउंट किया गया है। इसे पढ़ने / लिखने को माउंट करने के लिए, कमांड दर्ज करें

mount -o remount,rw /

4) पता लगाएँ कि क्या गलत है:

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