GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Linux – Kernel kann /dev/sda-Datei während des Bootens nicht finden?

Ich habe einen Gentoo-Kernel konfiguriert (kernel-2.6.36-gentoo-r5), aber wenn ich ihn boote, kann er /dev/sda1 nicht einhängen :

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

Ich benutze die Shell, um zu /dev zu gehen Verzeichnis, und ich finde, dass es kein sda* hat oder hd* Dateien. Wenn ich jedoch in meinen Debian-Kernel (vmlinuz-2.6.32-5-686) boote, kann er /dev/sda1 finden und einhängen Partition.

Was ist das Problem? Wie kann ich es reparieren? Ich habe keine Modulnamen zu /etc/modules.autoload.d/kernel-2.6 hinzugefügt Datei, damit sie beim Booten automatisch geladen werden – ist das die Ursache des Problems?

Akzeptierte Antwort:

Sie erwähnen nicht genau, wie Sie den Kernel neu erstellt haben. Dies ist ein ziemlich komplexer Prozess, und Sie sollten der Empfehlung Ihrer Distribution folgen. Tatsächlich sollten Sie den Kernel Ihrer Distribution verwenden, es sei denn, Sie benötigen eine Funktion (z. B. einen neueren Treibersatz zur Unterstützung Ihrer Hardware), die nicht vorkompiliert verfügbar ist.

Es gibt zwei häufige Fallstricke, die beide die von Ihnen beobachteten Symptome verursachen können.

  • Vielleicht haben Sie vergessen, einen notwendigen Treiber zu kompilieren. Die Kernel-Konfiguration ist ein mühsamer Prozess, und es ist leicht, eine wichtige Einstellung zu vergessen. Stellen Sie insbesondere sicher, dass Sie die Treiber eingebunden haben, die zum Erreichen Ihres Root-Dateisystems erforderlich sind:Festplattencontroller, Partitionsschema, Dateisystem und ggf. Datenträgerverwaltung. Entweder müssen diese Treiber in den Kernel eingebaut sein (also keine Module), oder Sie müssen eine initrd haben (in diesem Fall müssen der initrd-Treiber und das entsprechende Dateisystem eingebaut sein). Beginnend mit der .config Ihrer Distribution Es wird empfohlen, nur das zu ändern, was unbedingt erforderlich ist.
  • Wenn Sie eine initrd verwenden, haben Sie vielleicht vergessen, sie neu zu generieren, zu installieren oder Ihren Bootloader darüber zu informieren.

Linux
  1. Was sind /dev/zero- und /dev/null-Dateien in Linux

  2. Wie tauscht man /dev/sda mit /dev/sdb aus?

  3. Welche Datei in /proc wird vom Kernel während des Bootvorgangs gelesen?

  4. Wie Linux /dev/tty und /dev/tty0 verwendet

  5. Ist es falsch, /dev/random unter Linux mit /dev/urandom zu verknüpfen?

tty (/dev/tty ) vs. pts (/dev/pts) unter Linux

Wie behandelt Linux mehrere aufeinanderfolgende Pfadtrennzeichen (/home////username///file)?

Wie portabel sind /dev/stdin, /dev/stdout und /dev/stderr?

Wann sollte /dev/random vs. /dev/urandom verwendet werden?

/dev/null unter Linux

Unterschiede zwischen /dev/sda und /dev/sda1