web-dev-qa-db-fra.com

Qu'est-ce que rootfs # et que pouvez-vous en faire?

J'ai été abandonné plusieurs fois à l'invite [rootfs /]# lors du démarrage de ma distribution. Habituellement, je trouvais que je ne pouvais pas résoudre le problème avec le nombre limité de commandes disponibles et que j'utilisais donc tous les Live CD de rechange que je disposais.

Mais quelle est l'invite rootfs? Pourquoi y a-t-il des commandes limitées disponibles? Et puis-je l'utiliser pour démarrer mon système après la résolution du problème?

18
Wolfizen

Rootfsest une instance spéciale de ramfs(ou tmpfsname__, si cette option est activée), qui est toujours présente dans 2.6 systems. Vous ne pouvez pas démonter les rootfs.

enter image description here

Au moment de l'initialisation du noyau, il existe un système de fichiers absolument minimal enregistré, appelé rootfsname__. Le code qui implémente ce système de fichiers se trouve dans fs/ramfs/inode.c, qui contient également le code du système de fichiers ramfsname__. rootfs est fondamentalement identique à ramfsname__, à l'exception de la spécification de l'indicateur MS_NOUSER. Ceci est interprété par la routine graft_tree dans fs/namespace.c, et je pense que cela empêche les processus utilisateur de créer leurs propres montages de rootfsname__.

La routine init_mount_tree (trouvée dans fs/namespace.c) est appelée au moment du démarrage du système pour monter une instance de rootfs et en faire l'espace de noms racine du processus en cours (. Rappelez-vous que, sous Linux , différents processus peuvent avoir différents espaces de noms de système de fichiers ).

Il contient toutes les applications, paramètres, appareils, données et plus. Sans le système de fichiers racine, votre système Linux ne peut pas fonctionner.

Voir: https://www.kernel.org/doc/Documentation/filesystems/ramfs-rootfs-initramfs.txt

10
stderr