Disk oleh UUID tidak terdeteksi (initramfs), kegagalan boot

18

Saya tidak dapat mem-boot Ubuntu 10.04, dengan shell boot bawaan yang memberikan kesalahan ini:

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/disk/by-uuid/aa91b9fe-1e27-44d7-9c1b-72dd7d4e8575 does not exist.   
Dropping to a shell! 

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

(initramfs)

Pembaruan 1
Kesalahan ini terjadi setelah saya memperbarui 2.6.32-26kernel versi saya dan boot langsung di Windows.

The solusi rootdelay tidak bekerja. Apakah ada kemungkinan uuid disk saya berubah (mungkin oleh windows), saya bisa masuk ke Ubuntu saya lebih awal tetapi setelah masuk ke windows, dan me-reboot saya mendapatkan kesalahan ini. Sejauh menyangkut cadangan, apakah saya harus melakukannya walaupun saya memiliki partisi home dan workspace yang terpisah dari instalasi Ubuntu?

Pembaruan 2
Pembaruan setelah ini terjadi hanya merupakan pembaruan (tidak ada instalasi baru) dari version 2.6.32-26.Jadi saya kira ini ada hubungannya dengan pembaruan terakhir dari versi kernel ini. Juga karena itu bukan instalasi baru, tidak ada entri menu baru ditambahkan. Kebetulan ini mungkin disebabkan karena saya reboot di Windows setelah pembaruan kernel.

Perbarui 3
Menginstal kernel lama dengan chroot melalui live USB, masih masalah yang sama dengan kernel, jadi sepertinya masalahnya bukan karena pembaruan kernel .

Saya telah menghadapi masalah ini sebelumnya juga tetapi saat itu, saya baru saja mempertimbangkan menginstal ulang distribusi lebih mudah (saya dulu sering distro). Tapi sekarang saya telah mengkonfigurasi terlalu jauh dan mencari jalan terakhir.

Perbarui 4
Ubuntu diinstal ulang. Konfigurasi kali ini lebih mudah berkat partisi rumah dan ruang kerja yang terpisah. Walaupun sulit saya tidak membutuhkan solusi dari masalah ini sekarang tetapi jika Anda tahu solusi yang mungkin, silakan kirim di sini untuk manfaat di masa depan.

crodjer
sumber
Coba jalankan "blkid" dari prompt initramfs untuk membuat daftar perangkat yang direkrut.
João Pinto
Apa yang terjadi jika Anda membiarkan komputer duduk di busybox "(initramfs)" meminta sebentar dan kemudian ketik "keluar" dan tekan tombol Enter?
Li Lo
memberikan prompt yang sama lagi, pesan di atas bisa ditambahkan ke boot shell
crodjer
Saya memiliki masalah yang sama persis, dan menemukan solusi dalam solusi "sangat kecil ini", tetapi sebenarnya berfungsi! askubuntu.com/a/519814/223469
Aleks

Jawaban:

7

Saya memiliki masalah yang sama seperti starter thread dan saya menyelesaikannya tanpa menginstal ulang.

Masalah saya terjadi saat juggling dengan instalasi virtual berdasarkan gambar disk yang disalin. Ini menghasilkan uuid yang berubah dan salinan tidak akan mulai. Ini adalah sketsa kasar dari apa yang saya lakukan.

Pertama boot menggunakan sistem penyelamatan (versi yang sama) dan jalankan shell pada disk non-boot Anda. Lihat /etc/fstabdan konfirmasi uuids di sana dengan mengeluarkan blkidperintah untuk setiap perangkat. Perbaiki entri ini karena penting.

Selanjutnya kita perbaiki grub dengan:

  • grub-mkconfig
  • update-grub

Lalu lari:

  • update-initramfs -u /boot/initrd.img-2.6.YOURVERSION-HERE

Ini akan membuat initramdisk baru untuk versi Anda. Jika Anda tidak tahu versi pasti yang Anda jalankan lihat file-file di / boot /. Memilih nomor versi tertinggi harus aman.

Setelah Anda keluar dari shell penyelamatan, live cd ubuntu akan menawarkan Anda menu terakhir dari tempat Anda memasuki shell. Pilih "instal Grub" (atau yang serupa) di sana dan masukkan perangkat tempat meletakkan sektor boot Anda.

Pada kebanyakan sistem (pemasangan standar) /dev/sdaadalah taruhan yang aman. Sadarilah: Windows- atau sistem multiboot lain mungkin memerlukan entri lain di sini!

Akhirnya Anda dapat mem-boot dari disk yang diperbaiki.

Andreas
sumber
1
Ini bekerja untuk saya, tetapi perintah update-initramfs adalah: update-initramfs -k -u 2.6.YOURVERSION-HERE
Dan
5

Masalahnya sepertinya hard disk Anda, atau pengontrolnya, tidak merespons dengan cukup cepat.

Coba yang berikut ini:

  • Ketika menu boot muncul, setelah bagian atas daftar disorot, tekan e(untuk diedit ).

  • Anda akan melihat daftar panjang parameter. Tambahkan yang ini ke dalamnya: rootdelay=130

  • Tekan Enterlalu b( boot ). Coba lihat apakah sistem Anda boot sekarang. Anda dapat meningkatkan nilai jika itu tidak membantu pertama kali (tetapi tidak banyak, 130 sudah lebih dari cukup untuk setiap perangkat keras yang tidak rusak).

Namun, mungkin juga hard drive Anda rusak. Hal pertama yang harus dilakukan setelah Anda kembali ke sistem Anda adalah membuat cadangan data Anda . Jika Anda ingin aman, cadangkan dengan menggunakan ubuntu cd. Saya sangat mendesak Anda untuk melakukan itu, lebih cepat daripada nanti.

Stefano Palazzo
sumber
1
Ini benar ... apa yang pernah terjadi, coba live CD atau USB langsung dan setelah Anda boot ke desktop langsung pasang hard drive eksternal (harap Anda memilikinya) dan mulai mencadangkan data Anda ke hard disk eksternal ...
Salih Emin
yang rootdelay solusi tidak bekerja. Apakah ada kemungkinan bahwa uuid disk saya berubah (mungkin oleh windows), saya bisa masuk ke buntu saya sebelumnya tetapi setelah masuk ke windows, dan me-reboot saya mendapatkan kesalahan ini. Sejauh menyangkut masalah pencadangan, apakah saya harus melakukannya walaupun saya memiliki partisi rumah dan ruang kerja yang terpisah dari instalasi buntu?
crodjer
5

Faktanya saya telah mengalami disk UUID berubah secara spontan sekali atau dua kali. Perubahan tersebut mungkin merupakan hasil dari semacam korupsi. Saya akan mencoba yang berikut:

  • Boot komputer Anda dari media langsung;
  • fdisk -l /dev/sdauntuk menemukan partisi yang Anda cari; atau gunakan cfdisk; or usegparted (replacesda` oleh hard drive Anda).
  • blkid /dev/sda1(ganti sda1dengan partisi yang Anda temukan); sebagai alternatif gunakan vol_id;
  • lihat apakah Anda dapat memasang partisi (menggunakan file perangkat /dev/sda1);
  • periksa apakah UUID yang ditampilkan cocok dengan UUID di partisi root Anda /etc/fstab;
  • menghasilkan UUID baru menggunakan uuidgendan menerapkannya ke partisi menggunakan tune2fs -U;
  • ubah fstabentri sesuai.

Tampaknya tidak mungkin ada sesuatu yang sama vitalnya dengan perubahan UUID tanpa sebab yang jelas, tetapi itu terjadi, mungkin karena bug. Lihat apakah mengubah UUID ke nilai baru membantu.

loevborg
sumber
1
Uuid dalam prompt initramfs, root disk, dan fstab sama. Saya masih mengubahnya seperti yang Anda tentukan tetapi masih masalah yang sama
crodjer
Mungkin ini benar-benar masalah yang berkaitan dengan pembaruan kernel. Bisakah Anda memasang sistem file dari dalam shell busybox? Coba pasang menggunakan file perangkat / dev / sda1 (mutatis mutandis), yang seharusnya tidak terkait dengan UUID sama sekali. Jika berhasil, Anda bisa mengedit konfigurasi fstab dan GRUB Anda untuk menggunakan file perangkat daripada UUID.
loevborg
Juga, tentang penginstalan ulang - bukan masalah besar jika Anda membuat salinan direktori / home Anda dan memasukkannya setelah penginstalan. Maka itu hanya tentang menginstal paket yang sama (yang dapat dilakukan secara otomatis juga). Saya setuju bahwa itu seharusnya tidak perlu dan itu jauh lebih bersih untuk menemukan masalahnya sebagai gantinya.
loevborg
2

Ketika saya melihat ini di sistem saya, itu masalah UUID yang salah ditetapkan sebagai parameter root boot di /boot/grub/menu.lst.

cat /proc/cmdline sebenarnya menunjukkan parameter boot yang diteruskan ke initramfs - jika Anda melihat bahwa initramfs diperintahkan untuk me-mount partisi root yang tidak ada, itu jelas akan gagal.

update-grub tidak memperbarui parameter ini untuk saya, tetapi hanya melakukan penggantian manual untuk UUID lama di menu.lst memperbaikinya untuk saya.

Fredrik Gunger
sumber
Ini juga bagaimana saya harus memperbaiki hal-hal di masa lalu. Namun, terakhir kali saya bahkan tidak repot-repot dengan UUID dan hanya mengganti UUID yang salah dengan id perangkat / dev / xxx di / etc / fstab. Untuk yang lain mencoba untuk memperbaikinya, lihat juga jawaban @ loevborg.
belacqua
1

Apakah Anda memiliki kernel yang lebih lama? Apakah itu bekerja? Periksa / etc / fstab seperti yang dikatakan loevborg tentang kemungkinan catatan 'basi' (saya memiliki masalah yang sama ketika menginstal lvm dan grub2 - ada catatan lama untuk partisi / boot yang menyebabkan kesalahan)

Pavlos G.
sumber
tidak .... Saya punya kebiasaan menghapus kernel lama setelah menguji instalasi baru 4-5 kali. Pembaruan setelah ini terjadi hanyalah pembaruan (tidak ada instalasi baru) versi 2.6.32-26 . Jadi saya kira ini ada hubungannya dengan pembaruan terakhir dari versi kernel ini.
crodjer
Mengapa Anda tidak mencoba chroot dengan live cd dan menginstal ulang kernel ini atau 2.6.35-23 terbaru?
Pavlos G.
yeah ..... saat ini membuat usb stick langsung
crodjer
Menginstal kernel lama juga tidak berhasil .... masalahnya tidak karena pembaruan kernel.
crodjer
Bisakah Anda mencoba menjalankan bootsinfoscript ( sourceforge.net/projects/bootinfoscript ) dan menempelkan hasilnya di sini?
Pavlos G.
1

Saya tidak tahu apa yang bisa menyebabkan ini tetapi sebagai solusi Anda dapat mencoba menginstal ulang Grub saja. Saya pikir itu akan menyelesaikan masalah Anda.

binW
sumber
1
Saya chroot dan mencoba ini juga tetapi tidak berhasil ... akhirnya saya menginstal ulang distro.
crodjer
1

Masalah ini muncul untuk saya setelah menginstal libuuid. Saya bisa memperbaikinya secara manual dan sekarang boot OK, tetapi setiap kali masih menunjukkan kesalahan tentang hilang blkid. Juga, kegagalan boot muncul kembali setelah pembaruan yang membutuhkan boot ulang.

UUID di /proc/cmdlinesudah benar, namun sistem gagal untuk mengenalinya.

RocketR
sumber
1

Cara Memperbaiki Kesalahan Ubuntu: " No init found. Try passing init= bootarg"

Pagi ini, seorang teman mendatangi saya dengan laptopnya yang tidak mau boot. Pada setiap upaya boot, sistem Ubuntu 10,04 Lucid Lynx-nya menampilkan pesan kesalahan berikut:

mount: mounting /dev/disk/by-uuid/***************************** on /root
failed: Invalid argument
mount: mounting /sys on /root/sys failed: No such file or directory
mount: mounting /dev on /root/dev failed: No such file or directory
mount: mounting /sys on /root/sys failed: No such file or directory
mount: mounting /proc on /root/proc failed: No such file or directory
Target file system doesn't have /sbin/init
No init found. Try passing init= bootarg



Busybox v1.13.3 (Ubuntu 1:1.13.3-1ubuntu7) built-in shell (ash)
Enter 'help' for a list of built-in commands
(initramfs) _

Booting into "Recovery Mode" as well as choosing the other kernels listed in grub didn't help at all.

Larutan:

  1. Boot dari Ubuntu Live CD;

  2. Buka / Jalankan Terminal;

  3. Ketik: sudo fdisk -l(untuk mendapatkan nama perangkat) lalu tekan ENTER;

    Disk / dev / sda: 250.1 GB, 250059350016 byte 255 head, 63 sektor / track, 30401 silinder Unit = silinder 16065 * 512 = 8225280 byte Disk pengidentifikasi: * ***

    Perangkat Id Awal Boot Blok Akhir Sistem / dev / sda1 * 1 30238 242886703+ 83 Linux / dev / sda2 30239 30401 1309297+ 5 Extended / dev / sda5 30239 30401 1309266 82 Linux swap / Solaris

Nama perangkat untuk sistem teman saya berdasarkan pada di atas: /dev/sda1

  1. Ketik: sudo fsck /dev/sda1lalu tekan ENTER;

  2. Mulai ulang sistem dan boot secara normal.

    • Laptop boot normal setelah perbaikan.
kalaitrigger
sumber
1

Saya melihat masalah yang sama - dengan tambahan info yang saya memiliki blkid digunakan (dan tune2fs) untuk memeriksa UUID, dan itu yang sama persis. Listing / dev / disk / by-uuid juga menunjukkan UUID yang diharapkan ada di sana. Drive ini juga dapat dipasang dengan sempurna di busybox. Semua file normal yang diharapkan pada [/ mnt] / boot / ada (untuk kernel 3.13.0-36).

Saya membuat komputer untuk boot (dari dalam busybox) mengubah referensi UUID / etc / fstab untuk partisi root menjadi / dev / sda1 (modifikasi yang sesuai untuk pengaturan Anda). Saya tidak yakin, bagaimanapun, bahwa langkah ini penting, karena sendirian itu tidak membuat perbedaan. Apa yang dilakukan adalah pada reboot berikutnya, duduk di grub, menekan "e" untuk mengedit boot default Ubuntu, dan menghapus seluruh konstruksi "jika ... fi", dan mengganti UUID = baris "linux" dengan / dev / sda1. Pendekatan ini memungkinkan komputer untuk boot penuh.

Pada akhirnya masalah ternyata menjadi hard drive kedua yang gagal menyebabkan penundaan besar dalam urutan pencarian disk.

Alex North-Keys
sumber
0

Mencoba semua jawaban tetapi tidak dapat menyelesaikannya sehingga akhirnya harus menginstal ulang ubuntu :(.

Kesalahan yang sama juga terjadi pada teman-teman saya, juga, tetapi ia juga tidak beruntung.

crodjer
sumber
0

Saya memperbaiki ini sendiri dengan mengedit file / etc / default / grub

GRUB_CMDLINE_LINUX=" rootdelay=3 "
GRUB_DISABLE_LINUX_UUID=true

Dengan hanya yang pertama, itu tidak cukup. Saya bahkan mencoba 130 seperti yang dinyatakan sebelumnya. Kemudian saya menonaktifkan UUID dengan perintah kedua. Lagipula itu adalah partisi root LVM, jadi data UUID tidak ada gunanya.

Francesc Guasch
sumber
0

Dalam kasus saya:

OS diinstal dalam ext4 dengan Ubuntu 14.04

tapi saya menemukan ketika saya menginstal edisi ubuntu lain seperti 10,04 setelah Ubuntu 10,04

dan Juga kompilasi kernel Ubuntu 10.04 dan gunakan dpkg untuk menginstalnya.

kesalahan muncul.

Akhirnya, masalahnya ada di grub.cfg.

Karena Ubuntu 10.04 default menggunakan ext2 untuk OS sehingga initramfs akan memuat driver ext2 tidak menggunakan driver ext4 ...

Jadi ganti ext2 ke ext4 di grub.cfg untuk memperbaikinya.

jackend
sumber
0

saya punya masalah yang sama di ubuntu setelah jam saya mencari saya baru menyadari bahwa grub mencoba untuk boot sdb5 dan kali saya ada di sda5 jadi boot dengan live cd dan coba untuk me-mount os linux dengan mkdir dan mount perintah jika ada coba perbaiki grub dengan menahan shift pada beban dan menekan e dan mengubah root dev dan jika itu berfungsi membuatnya permanen

pengguna725770
sumber
0

Terlepas dari semua jawaban lain, cobalah masuk ke menu grub (tekan SHIFT saat booting berada di Ubuntu Advanced options) dan pilih kernel lama Anda yang berfungsi. Konfigurasi grub harus diperbarui setelah Anda menginstal versi kernel yang lebih baru.

Adit Ya
sumber
-3

Saya hanya pergi ke mode pemulihan. Dan pilih sesuatu yang mengindikasikan memperbarui grub di menu. kemudian perbaiki masalah.

zhankun
sumber
/ dev / disk oleh uuid tidak ada. Saya tidak melihat bagaimana memperbarui grub akan menyelesaikan masalah ini.
Penatua Geek