GNU/Linux >> Belajar Linux >  >> Linux

Linux – Kernel Tidak Dapat Menemukan File /dev/sda Saat Boot?

Saya mengkonfigurasi kernel gentoo (kernel-2.6.36-gentoo-r5), tetapi ketika saya boot tidak dapat me-mount /dev/sda1 :

ALERT! /dev/sda1 does not exist . Dropping to a shell .

Saya menggunakan shell untuk pergi ke /dev direktori, dan saya menemukan bahwa itu tidak memiliki sda* atau hd* file. Namun, ketika saya boot ke kernel Debian saya (vmlinuz-2.6.32-5-686), ia dapat menemukan dan memasang /dev/sda1 partisi.

Apa masalahnya? Bagaimana saya bisa memperbaikinya? Saya tidak menambahkan nama modul apa pun ke /etc/modules.autoload.d/kernel-2.6 file agar dapat dimuat secara otomatis saat boot — apakah itu penyebab masalahnya?

Jawaban yang Diterima:

Anda tidak menyebutkan dengan tepat bagaimana Anda membangun kembali kernel. Ini adalah proses yang cukup rumit, dan Anda harus mengikuti rekomendasi distribusi Anda. Sebenarnya, Anda harus menggunakan kernel distribusi Anda kecuali Anda memerlukan beberapa fitur (seperti set driver yang lebih baru untuk mendukung perangkat keras Anda) yang tidak tersedia dikompilasi sebelumnya.

Ada dua perangkap umum, salah satunya dapat menyebabkan gejala yang Anda amati.

  • Mungkin Anda lupa mengkompilasi driver yang diperlukan. Konfigurasi kernel adalah proses yang sulit, dan mudah untuk melupakan pengaturan penting. Secara khusus, pastikan Anda telah menyertakan driver yang diperlukan untuk mencapai sistem file root Anda:pengontrol disk, skema partisi, sistem file, dan jika manajemen volume yang relevan. Entah driver ini harus dibangun ke dalam kernel (yaitu bukan modul), atau Anda harus memiliki initrd (dalam hal ini driver initrd dan sistem file yang relevan harus built-in). Dimulai dengan .config distribusi Anda dan hanya mengubah apa yang Anda harus disarankan.
  • Jika Anda menggunakan initrd, mungkin Anda lupa membuat ulang, atau menginstalnya, atau memberi tahu bootloader Anda tentangnya.

Linux
  1. Bagaimana Linux Menangani Beberapa Pemisah Jalur Berturut-turut (/home////username///file)?

  2. Seberapa Portabel /dev/stdin, /dev/stdout Dan /dev/stderr?

  3. Kapan Menggunakan /dev/random Vs /dev/urandom?

  1. Apa itu file /dev/zero dan /dev/null di Linux?

  2. Bagaimana Anda menukar/dev/sda dengan/dev/sdb?

  3. Kapan saya harus menggunakan /dev/shm/ dan kapan saya harus menggunakan /tmp/?

  1. Linux:Perbedaan antara /dev/console , /dev/tty dan /dev/tty0

  2. kernel:menonaktifkan /dev/kmem dan /dev/mem

  3. File mana di /proc yang dibaca oleh kernel selama proses boot?