Setelah mencoba meningkatkan dari 10,10 ke 11,04 semua tampaknya berjalan dengan baik sampai restart. Pesan kesalahan ini adalah apa yang muncul:
Kernel Panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
Bagaimana kita memperbaikinya?
sudo apt-get install linux-image-generic
untuk meningkatkan ke yang terbaru inti.Jawaban:
Anda kehilangan initramfs untuk kernel itu. Pilih kernel lain dari menu GRUB di bawah Opsi lanjutan untuk Ubuntu dan jalankan
sudo update-initramfs -u -k version
untuk menghasilkan initrd untukversion
(gantiversion
dengan string versi kernel seperti4.15.0-36-generic
) lalusudo update-grub
.sumber
Ubuntu System
atauRecovery Mode
, bagaimana saya bisa menjalankan perintah itu untuk menguji apakah itu berfungsi?Mulailah dengan livecd, buka terminal aa
dan sekarang Anda dapat membuat
update-initramfs
dan memperbarui-grub tanpa kesalahan.Jika Anda tidak tahu versi Anda. Menggunakan:
Dan cukup perbarui Grub.
Mulai ulang sistem Anda.
sumber
sudo mount --bind /dev/pts /mnt/dev/pts
dansudo mount --bind /sys /mnt/sys
mengedit saya; tanpa ini,update-grub2
keluh.version
?ls /mnt/boot
dan mencari versi kernel terbaru. Atau jika Anda ingin melakukannya dengan benar, bacamenuentry 'Ubuntu'
dari/mnt/boot/grub/grub.cfg
initrd
hilang dari/boot
. Pertanyaannya adalah: bagaimana mungkin file itu hilang begitu saja? Saya tidak melakukan apa pun yang tampak berbahaya.Dalam situasi saya, masalahnya adalah
/boot
pada kapasitas 100%, jadi 2 pembaruan kernel terakhir belum selesai dengan sukses, maka saat reboot ketika GRUB2 memilih Kernel terbaru, gagal.Saya menyelesaikan masalah dengan mem-boot kernel tertua yang diinstal, dan menghapus beberapa kernel yang tidak digunakan menggunakan aptitude. Dengan menggunakan aptitude , setelah uninstall terjadi, dpkg secara otomatis mencoba mengonfigurasi paket yang rusak, dan kali ini berhasil.
sumber
dpkg --configure -a
sudah cukup untuk memicu kait pembaruan-initramfs, dan memperbaiki kernel yang rusak./boot
partisi terpisah ?sudo apt-get autoremove
untuk menghapus kernel lama jika Anda kehabisan ruang/boot
.sudo apt-get autoremove
, reboot lagi (kernel yang lebih tua), lalu melakukansudo apt-get dist-upgrade
, dan ini berhasil. Ini pada mesin uji kecil yang saya miliki. Masalah yang sama, 100%/boot
Dalam hal ini terjadi setelah pembaruan kernel yang dibatalkan (mis. Sistem crash sementara
aptitude safe-upgrade
),dpkg --configure -a
.Ini akan menyelesaikan upgrade, termasuk mengkonfigurasi pengaturan boot seperti yang dijelaskan psusi .
sumber
Pesan-pesan boot kernel memberi tahu Anda disk mana yang dapat Anda gunakan
Misalnya, jika dalam pengujian saya Linux 4.17 pengaturan mesin virtual saya ganti yang benar
root=/dev/vda
denganroot=/dev/vdb
pesan terakhir adalah:Namun , beberapa baris di atas, itu menunjukkan pesan jenis:
yang pada dasarnya memberitahu saya langsung yang
vdb
tidak ditemukan, tetapi ada/dev/vda
yang bisa dibaca karenavirtio_blk
driver (CONFIG_VIRTIO_BLK=y
).sumber
Selain instruksi Tomeu, sebelum chroot saya perlu:
sudo mount --bind /dev /mnt/dev
Selain itu, setelah chroot:
cp -r /usr/lib/i386-linux-gnu/pango /usr/lib/
( Dapatkan ini dari sini. )
sumber
/dev
di/mnt/dev
.Anda juga dapat mem-boot server dalam mode penyelamatan, dan instal ulang hanya grub
http://info.w3calculator.com/free-code/linux/recover-from-corrupted-boot-image/
sumber
Saya mendapatkan masalah ini karena partisi / boot saya penuh sehingga pembaruan kernel saya gagal. Saya berhasil memperbaikinya dengan mem-boot dari kernel lama di menu GRUB.
Ketika berhasil mem-boot, saya mulai membersihkan kernel lama, tetapi saya berhasil mendapatkan beberapa masalah ketergantungan, jadi pertama-tama saya harus menghapus paket linux-server
Kemudian saya reboot dan semuanya bekerja dengan baik!
sumber