Anda belum memberikan banyak informasi dengan log dan semacamnya untuk melanjutkan, tetapi saya menduga kemungkinan besar kesalahan yang Anda hadapi ini karena kernel dikacaukan oleh drive IDE / SATA. Melakukan pencarian Google cepat membawa saya ke tautan 1 , tautan 2 , tautan 3
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
atau 8,3
dapat berbeda dalam kasus Anda - ini merujuk ke perangkat yang coba diakses oleh kernel (dan yang gagal). Secara umum orang dapat mengatakan bahwa, jika angka pertama adalah 0, maka kernel tidak dapat mengidentifikasi perangkat keras. Jika ini digit lain (seperti 8), ia tidak dapat mengidentifikasi sistem file (tetapi dapat mengakses perangkat keras).
Masalahnya di sini adalah bahwa kernel yang Anda boot tidak dapat menerjemahkan root=/dev/...
parameter yang Anda berikan (di dalam konfigurasi boot loader) menjadi sistem file yang nyata dan dapat diakses. Beberapa alasan dapat menyebabkan kegagalan seperti itu:
- konfigurasi kernel tidak ada 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 ada driver untuk sistem file yang Anda gunakan
- perangkat salah diidentifikasi pada root = parameter Anda (kasus 2, 3)
Mengatasi masalah itu mudah jika Anda tahu apa alasannya. Anda kemungkinan besar tidak, jadi inilah pemeriksaan cepat.
Buka wizard konfigurasi kernel (bagian make menuconfig ) sehingga Anda dapat memperbarui konfigurasi kernel yang sesuai.
- Periksa apakah Anda memiliki dukungan bawaan (dan bukan sebagai modul) untuk bus / protokol yang digunakan pengontrol hard disk 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 tempel 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 ketik
nama driver untuk mencari tahu 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 saya pasti tidak merekomendasikan) tetapi Anda tidak memilihnya, atau memilihnya untuk dibangun sebagai
modul, maka Anda akan mendapatkan kesalahan yang Anda lihat. Pastikan
dukungan sistem file dibangun di 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 (dikonfigurasi) Anda 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 alihkan 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 mem-boot partisi ketiga). Jika tidak, kemungkinan besar karena kernel tidak tahu akan memulainya dengan perangkat (sehingga tidak dapat mencoba untuk menampilkan partisi).
Periksa apakah kernel yang sedang boot oleh boot loader adalah kernel yang benar. Saya telah melihat orang-orang yang, setelah membangun kernel pertama (yang tidak bisa boot), lupa bahwa mereka harus me-mount /boot
sebelum menimpa kernel dengan yang baru. Sebagai hasilnya, mereka menyalin kernel ke sistem file root ( /
) sedangkan boot loader masih mengharapkan image kernel berada di /boot
partisi.