Sistem tidak lagi booting, menyerah menunggu perangkat root, (initramfs), / dev / mapper / gnome-root tidak ada

10

Setelah menginstal pembaruan, sistem saya tidak lagi melakukan booting. Saya memiliki enkripsi disk lengkap (yang disiapkan oleh pemasang untuk Anda) diaktifkan sehingga biasanya meminta kunci hanya beberapa detik setelah boot melewati GRUB. Sekarang, ia melompati meminta kunci, mencoba memuat Gnome, dan kemudian pergi ke layar seperti gambar di bawah ini. Sistem ini adalah kotak System76 64-bit yang menjalankan Ubuntu Gnome 13.04. Namun ini pernah terjadi pada saya di masa lalu, pada Dell XPS 8300 64-bit yang menjalankan Ubuntu Gnome Remix 12.10. Dalam hal ini saya menginstal ulang OS. Namun saya ingin benar-benar memperbaiki masalah kali ini jadi saya tahu bagaimana menanganinya di masa depan. Juga, sangat tidak nyaman untuk menginstal ulang dari awal.

Kecurigaan saya adalah bahwa ada sesuatu yang kacau dalam file konfigurasi di / boot sehingga tidak menyadari disk dienkripsi, tetapi saya tidak melihat apa-apa ketika menyodok di sana. Apakah Anda punya ide tentang cara memperbaikinya (selain menginstal ulang OS)?

Gave up waiting for root device. Common problems:
  — Boot args (cat /proc/cmdline)
    — Check rootdelay= (did the system wait long enough?)
    — Check root= (did the system wait for the right device?)
  — Missing modules (cat /proc/modules; ls /dev)
ALERT! /dev/mapper/gnome-root does not exist.   
Dropping to a shell! 

BusyBox v.1.20.2 (Ubuntu 1:1.20.2-1ubuntu1) built-in shell (ash)   
Enter 'help' for list of built-in commands.  

(initramfs)
Freedom_Ben
sumber

Jawaban:

9

Aku sudah memperbaikinya !!! Untuk generasi mendatang, jadi Anda tidak harus melalui hari-hari yang menyiksa dan berjam-jam tanpa henti seperti yang saya lakukan:

Pertama, saya bisa membuat sistem untuk boot dari (initramfs)prompt dengan mengetik berikut ini (saya menggunakan halaman forum ini sebagai penopang):

cryptsetup luksOpen /dev/sda5 sda5_crypt
lvm vgchange -a y
exit

Ini membuat sistem saya untuk boot dengan benar. Setelah di-boot, saya memodifikasi /etc/crypttabagar menunjuk ke UUID yang berbeda dari sebelumnya. Saya mengambil UUID dari saya /etc/fstab. Simpan nilai UUID asli. Anda akan membutuhkannya dalam beberapa langkah. Saya kemudian berlari (dari terminal):

update-initramfs -k all -c

Jika Anda mendapatkan peringatan yang terlihat seperti ini atau yang serupa:

WARNING: invalid line in /etc/crypttab

lalu kembali ke awal dan alih-alih sda5_crypt, gunakan apa yang ada di Anda crypttab.

Saya kemudian reboot. Kali ini saya mendapatkan prompt untuk frasa sandi! Tetapi jangan terlalu bersemangat, karena itu tidak berhasil. Saya memasukkan kata sandi yang benar sekitar 7 kali dan menolak semuanya. Kemudian kembali ke (initramfs)prompt setelah sekitar 90 detik.

Saya mengulangi langkah pertama dan mem-boot-nya lagi. Saya kemudian mengembalikan nilai UUID asli ke crypttab, dan mengulangi langkah kedua. Saya kemudian reboot, dan SUKSES!

Freedom_Ben
sumber
5

Dengan enkripsi disk penuh menjadi pilihan di Ubuntu 14.04, saya hanya ingin menunjukkan bagaimana saya memecahkan masalah ini, karena terminal initramfs saya tidak mengizinkan saya untuk menggunakan cryptsetup:

  1. Boot dari Live DVD / USB (USB akan jauh lebih cepat).

  2. Buka Terminal dan ketik berikut ini:

    sudo -i
    cryptsetup luksOpen /dev/sda5 sda5_crypt
    # (do any lvm management you need here, I didn't need any.)
    mkdir /mnt/system
    mount /dev/mapper/ubuntu--vg-root /mnt/system
    mount /dev/sda2 /mnt/system/boot
    mount /dev/sda1 /mnt/system/boot/efi (May or may not be needed.)
    for i in /dev/pts /dev /proc /sys; do mount -B $i /mnt/system$i; done
    chroot /mnt/system
    update-initramfs -k all -c
    exit
    for i in /dev/pts /dev /proc /sys; do umount /mnt/system$i; done
    umount /mnt/system/boot/efi # (If you have UEFI.)
    umount /mnt/system/boot
    umount /mnt/system
    
  3. Nyalakan ulang dan harap berhasil.

k0ryfi
sumber
Saya lebih menyukai solusi ini, karena saya tidak perlu mencari cara untuk mendapatkan prompt initramfs atau melakukan lebih dari satu reboot. Dalam kasus saya, saya telah memutakhirkan dari Ubuntu 15.04 menjadi 15.10 dan tidak lagi dapat membuka kunci drive saya saat boot. Satu tambahan lagi adalah saya menemukan bahwa nama pemetaan yang disediakan pada baris 2 (mis. Sda5_crypt) harus cocok dengan file crypttab Anda.
Der Wolf
1
Di atas hanya berfungsi jika Anda memiliki entri /etc/crypttab. Setelah memasukkan chroot per langkah di atas, tetapi sebelum menjalankan update-initramfs, jalankan nano /etc/crypttab, dan pastikan ada garis di sana dengan nama mapper dan drive UUID. Jika file tidak ada atau kosong, update-initramfstidak akan memperbaiki masalah! Tambahkan baris crypttab saat berada di lingkungan chroot. Jawaban ini harus diedit untuk mencerminkan hal ini. Juga, saya pikir itu cryptsetuphanya ada pada prompt initramfs jika /etc/crypttabada dan memiliki entri ketika initramfs diperbarui.
Nick
0

Perbaiki grub Anda melalui booting melalui live-cd / live-usb. Lihat halaman ini untuk detail prosesnya. Rujuk bagian "via terminal LiveCD" di halaman.

Memperbaiki grub harus memperbaiki file yang salah bentuk yang Anda miliki dalam konfigurasi grub.

Bhavin Doshi
sumber
Terima kasih atas tipnya. Saya mencoba semua yang Anda sarankan tetapi tidak berhasil. Aku baru saja mengetahuinya. Ini sangat gila ...
Freedom_Ben
0

Periksa apakah Anda telah cryptsetupmenginstal pada sistem Anda, itu mungkin telah dihapus dengan menjalankan apt-get autoremove. Info lebih lanjut .

Arseny
sumber