setiap kali saya mencoba boot dengan kernel linux 3.0.0.13 (yang diinstal oleh pemutakhiran) saya mendapatkan kesalahan Kernel Panic:
VFS:Tidak dapat membuka perangkat root “sda1” atau blok tidak dikenal (0,0)
Harap tambahkan opsi boot “root=" yang benar;
Cukup beruntung jika saya boot menggunakan versi sebelumnya saya tidak memiliki masalah apapun.
Bagaimana saya bisa mengatasi ini? Di mana saya harus menambahkan root= option
yang benar? ? Jika saya tidak membuat Kernel ini berfungsi, bagaimana cara menghapusnya sebagai default dan tetap menggunakan yang lama?
Jawaban yang Diterima:
Anda belum memberikan banyak informasi dengan log dan semacamnya untuk melanjutkan, tetapi saya menduga kemungkinan besar kesalahan yang Anda hadapi ini adalah karena kernel bingung dengan drive IDE/SATA. Melakukan pencarian Google dengan cepat mengarahkan saya ke link 1, link 2, link 3
Berikut adalah kutipan dari tautan yang dirujuk oleh salah satu tautan di atas:
Kemungkinan besar salah satu masalah yang paling sering terjadi (tetapi setelah Anda menyelesaikannya,
kemungkinan besar Anda tidak akan pernah melihatnya lagi):Unable to mount root fs on unknown-block(0,0)
atau
VFS: Cannot open root device "sda3" or unknown-block(8,3) Please append a correct "root=" boot option; here are the available partitions: sda driver: sd sda1 sda2
Digit
0,0
atau8,3
dapat berbeda dalam kasus Anda – ini merujuk pada
perangkat yang coba diakses oleh kernel (dan yang gagal).
Secara umum dapat dikatakan bahwa, jika digit pertama adalah 0, maka
kernel tidak dapat mengidentifikasi perangkat keras. Jika ini adalah digit lain
(seperti 8), ia tidak dapat mengidentifikasi sistem file (tetapi dapat
mengakses perangkat keras).Masalahnya di sini adalah kernel yang Anda boot tidak dapat
menerjemahkanroot=/dev/...
parameter yang Anda berikan (di dalam konfigurasi pemuat
boot) menjadi sistem file yang nyata dan dapat diakses. Beberapa
alasan dapat menyebabkan kegagalan seperti itu:
- konfigurasi kernel tidak memiliki driver untuk pengontrol HDD Anda (kasus 1, 4, 5)
- konfigurasi kernel tidak memiliki driver untuk bus yang digunakan oleh pengontrol HDD Anda
- konfigurasi kernel tidak memiliki driver untuk sistem file yang Anda gunakan
- perangkat salah diidentifikasi dalam parameter root=Anda (kasus 2, 3)
Menyelesaikan masalah itu mudah jika Anda tahu apa alasannya. Kemungkinan besar Anda
tidak, jadi inilah pemeriksaan cepatnya.Buka wizard konfigurasi kernel (make menuconfig part) sehingga
Anda dapat memperbarui konfigurasi kernel yang sesuai.
- Periksa apakah Anda memiliki dukungan bawaan (dan bukan sebagai modul) untuk bus / protokol yang digunakan pengontrol harddisk Anda.
- Kemungkinan besar ini adalah dukungan PCI, dukungan SATA (yang berada di bawah dukungan perangkat SCSI), …
- Periksa apakah Anda memiliki dukungan bawaan (dan bukan sebagai modul) untuk pengontrol HDD yang Anda gunakan.
Salah satu kasus yang paling sering terjadi:Anda memilih dukungan untuk protokol pengontrol harddisk Anda (IDE, SATA, SCSI, …) tetapi lupa untuk
memilih driver pengontrol HDD itu sendiri (seperti Intel PIIX). Coba
jalankan perintah lscpi berikut, dan rekatkan outputnya di
http://kmuto.jp/debian/hcl/. Situs ini akan menunjukkan kepada Anda driver kernel
mana yang perlu Anda pilih untuk sistem Anda. Di dalam menuconfig,
Anda dapat mengetik “/” untuk membuka fungsi pencarian, dan mengetikkan nama
driver untuk mengetahui di mana ia berada.# lspci -n
- Periksa apakah Anda memiliki dukungan bawaan (dan bukan sebagai modul) untuk sistem file yang Anda gunakan.
- Katakanlah sistem file root Anda menggunakan btrfs (yang pasti tidak saya rekomendasikan) tetapi Anda tidak memilihnya, atau memilihnya untuk dibangun sebagai modul
, maka Anda akan mendapatkan kesalahan yang Anda lihat . Pastikan dukungan sistem file
dibangun di dalam kernel.Periksa apakah parameter kernel untuk
root=
menunjuk ke partisi yang benar.Ini tidak sebodoh kedengarannya. Ketika Anda di-boot dengan satu
kernel, disk Anda mungkin terdaftar sebagai /dev/sda sedangkan kernel
Anda (dikonfigurasi) mengharapkannya menjadi /dev/hda. Ini bukan
karena kernel tidak konsisten satu sama lain, tetapi karena
driver yang digunakan:driver yang lebih lama menggunakan sintaks hda, sda yang lebih baru.Coba ganti hda dengan sda (dan hdb dengan sdb, dan ...).
Juga, kernel terbaru memberikan gambaran umum tentang partisi yang mereka temukan
pada perangkat yang diceritakan. Jika ya, mungkin membantu Anda mengidentifikasi jika Anda
salah memilih partisi (dalam contoh yang diberikan di awal bagian
ini, hanya dua partisi yang ditemukan sedangkan kernel
diinstruksikan untuk boot ketiga). Jika tidak, kemungkinan besar
karena kernel tidak mengetahui perangkatnya sejak awal (sehingga tidak dapat
mencoba menampilkan partisi).Periksa apakah kernel yang sedang di-boot oleh boot loader adalah kernel yang benar.
Saya telah melihat orang-orang yang, setelah membuat kernel pertama (yang tidak bisa boot), lupa bahwa mereka harus me-mount/boot
sebelum
menimpa kernel dengan yang baru. Akibatnya, mereka menyalin
kernel ke sistem file root (/
) sedangkan boot loader masih
mengharapkan gambar kernel berada di/boot
partisi.