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=1
menjadiuse_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/sdX
dan 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/sdX2
saat 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/sdX
tidak 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-initramfs
seperti 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-initramfs
juga 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
.)