Ubuntu, lvmetad nedeniyle önyükleme yapmıyor


27

Ubuntu 15.10'u yüklemek için bu öğreticiyi takip ettim:

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

Bilgisayarımı yeniden başlattıktan sonra grub menüsüne girdim ve Ubuntu'yu seçtim. Kısa bir süre sonra bu hatayı aldım:

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

Bu mesajlar her saniye siyah bir ekranda toplanmaya devam ediyor. Bir süre sonra initramfskül konsoluna giriyorum.

Neyi yanlış yapıyorum?


kül konsolu veya bash konsolu? typo?
Thufir

Yanıtlar:


12

Bugün aynı hatayı Ubuntu 15.10 çalıştıran ve her zaman güncel kaldığım ama güncel bir çekirdeği test etmek istemeden (yani, yeni bir değişiklik olmuş olabilir) bir ay boyunca yeniden başlatılmadığım bir dizüstü bilgisayarda gördüm.

Her neyse, benim durumumda altta yatan nedenin yukarıdaki dersi takip ederken bir kurulum arızası nedeniyle aslında "eksik" bir takas bölümü olduğunu buldum. Bu durumda ve / veya gerçekten kullanıyorsanız lvm, aşağıdaki 2. adımı atlayabilirsiniz. Elbette, sisteminizin (veya ikincil verilerin) bölümünün hasar görmüş olması veya bulunamaması durumunda da yukarıdaki hata mesajını görebilirsiniz (bkz. Adım 3).

Adım 1: Yukarıda belirtilen eğiticiyi izleyerek sisteminizi, önyükleme bölümlerini takın

Diyelim ki (ext2) önyükleme bölümünüz / dev / sdX1’dir, (şifreli) takas bölümünüz / dev / sdX2’dir, (şifreli) veri bölümünüz / dev / sdX3'tür ve kullandıktan cryptsetup luksOpen /dev/sdX3 datasonra şifreyi başarıyla çözdünüz. o: mkdir /tmp/data; mount /dev/mapper/data /tmp/data.

Öğreticideki bağlama başlıklarına dikkat edin ve / dev / sdX1'i bağladığınızdan emin olun, böylece sistem bölümünüzün / önyükleme dizininden erişebilirsiniz (bu bizim yürütmemiz için çok önemlidir update-initramfs).

Aşağıda, başarılı bir şekilde yürüttüğünüzü varsayıyoruz chroot /tmp/data/@ubuntu1510(veya takılı sistem bölümünüzün adı ne olursa olsun)

Adım 2: Yukarıdaki hata mesajından kurtulun

Btrfs kullanıyorum (söz konusu alt hacim adından da tahmin edebileceğiniz gibi), böylece lvmetad işlevsellik kaybı olmadan kolayca aşağıdaki şekilde devre dışı bırakılabilir:

  • düzenlemek /etc/lvm/lvm.conf ve değişim use_lvmetad=1içinuse_lvmetad=0
  • gerçekleştirmek update-initramfs -k $(uname -r) -u ; sync

Şimdi, olabilir yeniden başlatın ve hata mesajı gitmiş olmalıdır. Ancak benim durumumda, bir sonraki hata mesajı [1] beni yukarıda belirtilen sorunun altını çizdi, öyleyse biz ...

Adım 3: / etc / crypttab öğesinin doğru, hasarsız bölümlere işaret ettiğinden emin olun

Birincisi, çalışma sfdisk --list /dev/sdXşifrelenmiş swap bölümü (benim durumumda, / dev / sdX2) aslında olmadığını ve çek değil bir (normal) takas alanı olarak görünür. Eğer öyleyse (benim durumumda olduğu gibi), bu, örneğin bir kurtarma diski kullanmakla önyüklemenin muhtemelen mevcut takas bölümünden faydalanacağı ve böylece şifreleme ayarınızla ilgili meta verilerin (anahtar sözcük ve UUID) üzerine yazacağı anlamına geliyordu.

Daha sonra, / dev / disk / by-uuid'e bir göz atın ve şifreli bölümlerinizin UUID'lerini / etc / crypttab içinde bulunanlarla karşılaştırın. Bu noktada benim tahminim: Senin durumunda, bir uyuşmazlık var.

Tahsis edilmiş şifreli takas bölümü / dev / disk / by-uuid altında hiçbir yerde bulunmuyorsa, bunun nedeni şu anda kurtarma sisteminiz tarafından kullanılıyor. Bu durumda, aşağıdakileri yapın:

  • bölümü kullanmayı bıraktığınızdan emin olun: swapoff -a
  • yeniden biçimlendirin: mkfs.ext2 /dev/sdX2(bu özellikle GPT bölümlerini [2] kullanırken, daha önce bahsettiğim aksaklığı ortadan kaldırdığı için çok önemlidir . Sfdisk listesinde "takas" türü olarak görünen bölümün olası nedeni, sizin / benim yanlışlıkla kullanmış olmanızdır. mkswap /dev/sdX2bölümü başlangıçta ayarlarken
  • bölümü şifrelemek ve bir parola belirlemek için öğreticiyi izleyin; daha sonra cryptsetup kullanarak açın ve şifresi çözülmüş bölümü yeniden biçimlendirin (benzeri bir şey kullanarak mkswap /dev/mapper/swap)
  • sfdisk --list /dev/sdXtakas bölümünü bu şekilde tanımlamayacağından emin olun (bu durumda, son adımları tekrarlayın)

Şimdi, / etc / crypttab içinde listelenen UUID'lerin, şifrelenmiş bölümleriniz için / dev / disk / by-uid altında gördüğünüze uygun olduğunu tekrar kontrol edin.

Yine, değişiklikleri kalıcı kılmak için update-initramfsyukarıda gösterildiği gibi uygulamanız gerekir .

Memnunsanız, her şeyin diske yazıldığından ve sistemi yeniden başlattığınızdan emin olun (her şeyi elle çıkarmanıza gerek yoktur). Daha sonra, sorununuz giderilmelidir.

[1] belki ilk defa dikkat etmedim ya da ilk hata mesajı ikincisini "maskeledi"; yani, yeniden başlattıktan sonra (birlikte use_lvmetad=0), " Tüm fiziksel sesleri okumak. Bu biraz zaman alabilir ... " (ardından birkaç kez tekrarlandı), ardından " ALERT! / dev / disk / by-uuid / .. " yok. " ( update-initramfsKayıp bir bölümden de şikayetçi olduğu belirtilmelidir .)

[2] türlerinin içeriklerini analiz etmekten mahrum olduğu ve sonuçta bir bayrak / bayt tarafından belirtilmediği için (bu nedenle, kullanarak GPT dosya sistemi türünü değiştirmenin kolay bir yolu yoktur [g]parted.)


2

Ubuntu 18.04.1 LTS burada. Katılımsız birkaç ay sürdü, ama döndüğümde klavyeyi tanımadığını gördüm. Yeniden başlattığımda, "UEFI db listesi" alamama konusunda daha fazla şey ve 'lvmetad'a bağlanamıyorum' mesajını aldım.

Disk şifrelemesi olmadan kurulum yaptım.

UEFI mesajı endişe verici idi, çünkü bu benim bir UEFI bilgisayarına ilk kurulumumdu, bu yüzden hiçbir deneyimim olmadı ve açıkçası işe yarar olduğu konusunda hala bilgili değildim. Benim sorunum '/', kök, hacmim ne olacağı konusunda 'lvm' kullanmamdan kaynaklanıyordu. (Aslında, bu işi ilk etapta nasıl başardığımı çoktan unuttum! Hey, yaşlıyım.)

Bununla birlikte, makine yeniden başlatılmadığında, bir çözüm aradım ve kesin bir şey bulamadım ancak a) EFI bölümümün bir sitede önerilen 500 MB'den daha küçük olduğunu ve b) düzenlediğim ayrı / önyükleme / bölümü Çünkü muhtemelen alakasız ve kullanılmamış. Katılımsız bir yükseltme, belki de tahsis edilen alanını doldurmak için bir şeylere neden olmuş olabilir.

Yeniden kurmaya karar verdim - hangisi işe yaradı ve / home / directory yapısını test edilmeden bıraktım. / Etc / dosyasını kontrol etmedim, ancak önceden ikisinin de kopyalarını yaptım [1], böylece daha sonra kontrol edebilirim. / etc / gerçekten çok küçük.

Ayrıca silinmiş ve EFI ve / boot / bölümlerini tek, daha büyük bir EFI bölümüne (> 750MB) birleştirdim.

Şimdi yeniden başlatılıyor, ancak tek bir hata mesajı okunamayacak kadar hızlı yanıp sönüyor ve önyüklemek için Linux görüntülerinden bir önyükleme 'menüsü' teklif edilmiyor, doğrudan Ubuntu'ya önyükleme yapıyor. Bunu ele almak için grubla birlikte yapılacak daha çok iş var. Ama en azından dosyalarım geri döndü.

[1] Ubuntu kurulumunu bir USB çubuğundan başlattım ve masaüstünden "Install" (Kurulum) seçeneğini seçmeden önce vb. Ve evden kopyalar almama izin veren Ubuntu'yu "denemeyi" seçtim.


ile mount /dev/mapper/data /tmp/dataI get unknown filesystem type LVM2_member.
Francesco Boi

2

Failed to connect to lvmetadHata olabilir , disk% 100 dolu olduğu için gerçekleşir. Bunu düzeltmek için, bir USB sürücüden önyükleme yapın, tüm diski takın, gereksiz dosyaları silin ve yeniden başlatın. Önyükleme sistemini de yeniden kurdum - gerekli olup olmadığını bilmiyorum.

Bunlar benim için sorunu çözen komutlar, USB sürücüsünden önyüklemeden sonra terminalden geliyorlar. Tam sürücü şifrelemeli stok Ubuntu 18.04'üm var. YMMV.

  • sürücüyü monte et:
sudo cryptsetup luksOpen /dev/sda5 sda5_crypt
sudo vgscan --mknodes
sudo vgchange -ay
sudo mount /dev/mapper/ubuntu--vg-root /mnt
  • gereksiz dosyaları sil ( cd /mnt/home/your_username... rm ...)
  • (gerekli olmayabilir) önyükleme sistemini yeniden yükleyin:
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
  • devreden çıkarılırken:
cd /
sudo umount /mnt
sudo vgchange -an
sudo cryptsetup close sda5_crypt
  • yeniden:
sudo reboot

0

Sisteminizi bir USB'den veya başka bir şeyden başlatmanız gerekmez. Aynı problemi ve bir sebebi vardı - çünkü disk% 100 doluydu. Bir sonraki çözüm bana yardımcı oldu.

1) Sisteminizi yeniden başlatın. BIOS ile, GNU GRUB menüsünü açacak olan Shift tuşunu hızlıca basılı tutun.

2) Ubuntu ayarlarını düzenlemek için 'e' ye bastıktan sonra. Gelen bu soruna ekranlarını bulabilirsiniz. 'Linux *' gibi bir dize bulun, şunun gibi:

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

Sil:

ro  quiet splash $vt_handoff

ve Ekle:

init=/bin/bash

Hazır olduktan sonra önyükleme yapmak için CTRL + x veya F10 tuşlarına basın.

3) Kök bölümü salt okunur olarak monte edilir. Bunu okumak / yazmak için, komutu girin

mount -o remount,rw /

4) Neyin yanlış gittiğini öğrenin:

df -hT
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.