Ubuntu tidak dapat boot karena lvmetad

27

Saya telah mengikuti tutorial ini untuk menginstal Ubuntu 15.10:

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

Setelah menyalakan kembali komputer saya, saya pergi ke menu grub dan memilih Ubuntu. Tidak lama setelah itu saya mendapatkan kesalahan ini:

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

Pesan-pesan ini terus bertambah di layar hitam setiap detik. Setelah beberapa saat, saya mendapatkan akses ke initramfskonsol abu.

apa yang saya lakukan salah?

Mac Dre
sumber
konsol abu atau konsol bash? salah ketik?
Thufir

Jawaban:

12

Saya telah melihat kesalahan yang sama hari ini pada laptop yang menjalankan Ubuntu 15.10 yang saya selalu up-to-date tetapi belum reboot selama sebulan sampai saya ingin menguji kernel saat ini (yaitu, mungkin ada perubahan baru-baru ini).

Bagaimanapun, saya menemukan bahwa dalam kasus saya penyebab mendasar sebenarnya adalah partisi swap "hilang" karena kesalahan pengaturan ketika mengikuti tutorial di atas. Jika ini masalahnya dan / atau Anda benar-benar menggunakan lvm, Anda mungkin dapat melewati langkah 2 di bawah ini. Tentu saja, Anda mungkin juga melihat pesan kesalahan di atas jika partisi sistem Anda (atau data sekunder) telah rusak atau tidak dapat ditemukan (lihat langkah 3).

Langkah 1: Pasang sistem Anda, boot partisi mengikuti tutorial yang telah ditentukan

Katakanlah partisi boot (ext2) Anda adalah / dev / sdX1, partisi swap (terenkripsi) Anda adalah / dev / sdX2, partisi data (terenkripsi) Anda adalah / dev / sdX3 dan Anda telah berhasil mendekripsi penggunaan yang terakhir cryptsetup luksOpen /dev/sdX3 data, diikuti dengan pemasangan itu: mkdir /tmp/data; mount /dev/mapper/data /tmp/data.

Perhatikan bind mounts di tutorial dan pastikan untuk me-mount / dev / sdX1 sehingga Anda dapat mengaksesnya dari direktori partisi / boot sistem Anda (ini sangat penting karena kami harus menjalankannya update-initramfs).

Berikut ini, kami anggap Anda telah berhasil dijalankan chroot /tmp/data/@ubuntu1510(atau apa pun partisi sistem yang dipasang dipanggil)

Langkah 2: Singkirkan pesan kesalahan di atas

Saya menggunakan btrfs (seperti yang mungkin Anda tebak dari nama subvolume yang disebutkan), jadi lvmetad dapat dengan mudah dinonaktifkan sebagai berikut tanpa kehilangan fungsionalitas:

  • edit /etc/lvm/lvm.conf dan ubah use_lvmetad=1menjadiuse_lvmetad=0
  • menjalankan update-initramfs -k $(uname -r) -u ; sync

Sekarang, Anda bisa reboot dan pesan kesalahan harus hilang. Namun, dalam kasus saya, pesan kesalahan berikutnya [1] menunjuk saya ke masalah mendasar yang disebutkan di atas, jadi selagi kami melakukannya, ...

Langkah 3: Pastikan bahwa / etc / crypttab menunjuk ke partisi yang benar dan tidak rusak

Pertama, jalankan sfdisk --list /dev/sdXdan cek yang partisi swap terenkripsi Anda (dalam kasus saya, / dev / sdX2) sebenarnya tidak tidak muncul sebagai (normal) partisi swap. Jika ya (seperti dalam kasus saya), ini berarti booting, misalnya, menggunakan disk penyelamat kemungkinan akan menggunakan partisi swap yang tersedia, sehingga menimpa metadata terkait cryptsetup Anda (keyphrase dan UUID).

Selanjutnya, lihatlah / dev / disk / by-uuid dan bandingkan masing-masing UUID dari partisi terenkripsi Anda dengan yang ada di / etc / crypttab. Tebakan saya pada titik ini: Dalam kasus Anda, ada ketidakcocokan.

Jika partisi swap terenkripsi khusus tidak ditemukan di bawah ini / dev / disk / by-uuid, itu karena partisi ini sedang digunakan oleh sistem penyelamatan Anda. Dalam hal ini, lakukan hal berikut:

  • pastikan untuk berhenti menggunakan partisi: swapoff -a
  • memformat ulang itu: mkfs.ext2 /dev/sdX2(ini sangat penting , terutama ketika menggunakan partisi GPT [2], karena membatalkan kesalahan yang saya sebutkan sebelumnya. Kemungkinan penyebab partisi muncul sebagai ketik "swap" dalam daftar sfdisk adalah bahwa Anda / saya keliru digunakan mkswap /dev/sdX2saat mengatur partisi di awal.)
  • ikuti tutorial untuk mengenkripsi partisi dan menetapkan frasa sandi; setelah itu, buka menggunakan cryptsetup dan format ulang partisi yang sekarang telah di-dekripsi dengan benar (menggunakan sesuatu seperti mkswap /dev/mapper/swap)
  • memastikan bahwa sfdisk --list /dev/sdXtidak akan mengidentifikasi partisi swap seperti itu (dalam hal ini, ulangi langkah terakhir)

Sekarang, periksa kembali bahwa UUID yang tercantum di / etc / crypttab sesuai dengan apa yang Anda lihat di bawah ini / dev / disk / by-uuid untuk partisi terenkripsi Anda masing-masing.

Sekali lagi, untuk membuat perubahan permanen, Anda harus menjalankan update-initramfsseperti yang ditunjukkan di atas.

Jika Anda puas, pastikan semuanya ditulis ke disk dan reboot sistem (tidak perlu meng-unmount semuanya secara manual). Setelah itu, masalah Anda harus hilang.

[1] mungkin saya tidak memperhatikan pertama kali atau pesan kesalahan pertama "menutupi" yang kedua; yaitu, hanya setelah me-reboot (dengan use_lvmetad=0), saya disajikan dengan " Membaca semua volume fisik. Ini mungkin memakan waktu cukup lama ... " (diulang beberapa kali), diikuti oleh " ALERT! / dev / disk / by-uuid / .. msgstr " tidak ada. " (Perlu dicatat bahwa update-initramfsjuga mengeluh tentang partisi yang hilang.)

[2] karena tipenya dikurangkan dari menganalisis isinya dan pada akhirnya tidak ditentukan oleh flag / byte (itu sebabnya tidak ada cara mudah untuk, misalnya, mengubah tipe sistem file GPT menggunakan [g]parted.)

Markus Ueberall
sumber
2

Ubuntu 18.04.1 LTS di sini. Sudah berjalan selama beberapa bulan tanpa pengawasan, tetapi ketika saya kembali saya menemukan keyboard tidak dikenali. Ketika saya reboot, saya mendapat pesan 'tidak dapat terhubung ke lvmetad' dan lebih banyak tentang tidak bisa mendapatkan "UEFI db list".

Saya telah menginstal tanpa enkripsi disk.

Pesan UEFI mengkhawatirkan karena ini adalah instalasi pertama saya di komputer UEFI, jadi saya tidak punya pengalaman, dan terus terang saya masih belum tahu tentang kegunaannya. Masalah saya diperparah oleh fakta bahwa saya telah menggunakan 'lvm' pada apa yang akan menjadi '/' saya, root, volume. (Sebenarnya, aku sudah lupa bagaimana aku mencapai ITU sejak awal! Hei. Aku sudah tua.)

Namun, ketika mesin tidak mau reboot, saya mencari solusi dan tidak menemukan apa pun yang pasti, tetapi tidak memperhatikan bahwa a) partisi EFI saya lebih kecil dari 500MB yang direkomendasikan di satu situs, dan b) partisi / boot / partisi terpisah yang telah saya atur karena mungkin tidak relevan dan tidak digunakan. Saya pikir itu mungkin bahwa upgrade tanpa pengawasan, mungkin, telah menyebabkan sesuatu, mungkin, untuk mengisi ruang yang diberikan.

Saya memutuskan untuk menginstal ulang - yang berfungsi, dan meninggalkan struktur direktori / home / saya tanpa gangguan. Saya belum memeriksa / etc /, tetapi sudah membuat salinan keduanya sebelumnya, jadi saya bisa memeriksanya nanti. / etc / sangat kecil.

Saya juga menghapus, menghapus, dan menggabungkan partisi untuk EFI dan / boot / menjadi satu partisi EFI yang lebih besar (> 750MB).

Ini reboot sekarang, tetapi satu pesan kesalahan berkedip terlalu cepat untuk dibaca, dan saya tidak ditawari 'menu' boot dari gambar Linux untuk boot, itu langsung boot ke Ubuntu sebagai gantinya. Masih ada banyak pekerjaan yang harus dilakukan, dengan grub saya kira, untuk mengatasi ini. Tapi setidaknya file saya kembali.

[1] Saya mem-boot instalasi Ubuntu dari USB stick, dan memilih untuk "mencoba" Ubuntu, yang memungkinkan saya membuat salinan dll dan rumah, sebelum memilih "Instal" dari desktop.

rawa
sumber
dengan mount /dev/mapper/data /tmp/datasaya dapatkan unknown filesystem type LVM2_member.
Francesco Boi
2

The Failed to connect to lvmetadKesalahan dapat terjadi karena disk 100% penuh. Untuk memperbaikinya, boot dari USB thumb drive, pasang disk penuh, hapus beberapa file yang tidak dibutuhkan, dan reboot. Saya juga menginstal ulang sistem boot - saya tidak tahu apakah itu perlu atau tidak.

Ini adalah perintah yang menyelesaikan masalah bagi saya, jalankan dari terminal setelah boot dari drive USB. Saya memiliki stok Ubuntu 18.04 dengan enkripsi full-drive. YMMV.

  • pasang drive:
sudo cryptsetup luksOpen /dev/sda5 sda5_crypt
sudo vgscan --mknodes
sudo vgchange -ay
sudo mount /dev/mapper/ubuntu--vg-root /mnt
  • hapus file yang tidak dibutuhkan ( cd /mnt/home/your_username... rm ...)
  • (mungkin tidak perlu) instal ulang sistem boot:
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
  • unmount:
cd /
sudo umount /mnt
sudo vgchange -an
sudo cryptsetup close sda5_crypt
  • reboot:
sudo reboot
bitinerant
sumber
0

Tidak perlu boot sistem Anda dari USB atau lainnya. Saya memiliki masalah dan alasan yang sama - karena disk 100% penuh. Solusi berikutnya membantu saya.

1) Mulai ulang sistem Anda. Dengan BIOS, tekan dan tahan tombol Shift dengan cepat, yang akan memunculkan menu GNU GRUB.

2) Setelah tekan 'e' untuk mengedit pengaturan Ubuntu. Dalam masalah ini, Anda dapat menemukan layar. Temukan string yang dimulai seperti 'linux *', seperti ini:

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

Menghapus:

ro  quiet splash $vt_handoff

dan tambahkan:

init=/bin/bash

Setelah siap tekan CTRL + x atau F10 untuk boot.

3) Partisi root di-mount hanya-baca. Untuk me-mount baca / tulis, masukkan perintah

mount -o remount,rw /

4) Cari tahu apa yang salah:

df -hT
Ekaterina Borikova
sumber