J'ai installé la dernière version d'ArchLinux (2014.06.01) sur un MacBook Pro 8,1 (15 ", si cela concerne le matériel). Double amorçage avec OSX en suivant les instructions du guide d'installation officiel . Cependant, lorsque vous essayez de redémarrer dans le système nouvellement installé, il me renvoie à un shell de récupération:
ERROR: device 'UUID=<snip>' not found. Skipping fsck.
ERROR: Unable to find root device 'UUID=<snip>'.
You are being dropped to a recovery shell
Type 'exit' to try and continue booting
sh: can't access tty: job control turned off
[rootfs /]#
(J'ai supprimé l'UUID car je ne voulais pas le taper, mais c'est le même que celui qui m'a été donné par blkid
(depuis le disque d'installation) pour la partition sur laquelle ArchLinux est installé)
D' autres en ligne sources suggèrent que cela est dû à un jour pacman
, udev
, filesystem
ou linux
package. Cependant, ils ne décrivent ce problème qu'après une mise à jour du noyau depuis un système en fonctionnement, pas une nouvelle installation. J'ai réinstallé de force ces paquets depuis l' arch-chroot
environnement lors du démarrage sur le disque d'installation, mais cela n'a pas changé la situation.
Au lieu de cela, un peu d’expérimentation avec mes grub.cfg
preuves montre que tout ce qui se plaint est le root
paramètre de la linux
commande qui sélectionne le vmlinuz
fichier à utiliser. En effet, le passage root=UUID=<snip>
à root=LABEL=ArchLinux
ou root=/dev/sda8
(les deux décrivent l’emplacement où ArchLinux est installé et j’ai certainement utilisé la deuxième version avec succès auparavant avec une autre distribution) donne Unable to find root device 'LABEL=ArchLinux'
et Unable to find root device '/dev/sda8'
respectivement. En outre, GRUB semble être capable de trouver la partition par UUID, seul le noyau Linux se plaint de ne pas l’avoir trouvée, car le disque virtuel initial est correctement chargé (c’est-à-dire qu’il ne s’agit pas d’une erreur GRUB telle que décrite ici, mais d’une erreur Linux). .
Remarque: le shell de récupération est extrêmement limité et la sortie standard ne semble pas fonctionner correctement. Néanmoins, les ls
travaux et la liste des fichiers montrent un système de fichiers de base (temporaire), mais tous les disques semblent manquer /dev
. Cependant, je ne sais pas si cela fait partie de l'erreur ou non.
Ceci est similaire, mais pas identique car Linux ne trouve pas le système de fichiers racine lors du démarrage , car la partition était ext4 depuis le début. Également différent, mais il est peut-être pertinent de ne pas pouvoir démarrer ArchLinux sur Macbook Pro 7.1 - il est transféré au shell de récupération . Toutefois, il tombe dans un ramfs
shell plutôt que dans un rootfs
shell et les messages d'erreur diffèrent.
J'ai rencontré un problème similaire mais avec une configuration différente. J'utilise ArchLinux sur une machine virtuelle et mon chargeur de démarrage est syslinux. J'ai utilisé votre astuce pour changer l'ordre des crochets dans le noyau, mais je me suis quand même retrouvé dans un rootfs-shell.
Ce qui a réglé le problème pour moi, c’était de changer la
APPEND
ligne desyslinux.cfg
départ.à
Vous pouvez facilement ajouter le
PARTUUID
à lasyslinux.cfg
en utilisant une commande comme enblkid | grep sda1 | awk '{ print $7 }' >> /boot/syslinux/syslinux.cfg
supposant que votre partition racine est/dev/sda1
Ensuite, vous pouvez utiliser votre éditeur de texte favori pour déplacer la ligne dans l'espace approprié.
EDIT: Je viens de reconnaître que le numéro de colonne dans le petit script awk peut varier, il est donc préférable d’examiner le résultat avant de le rediriger vers
syslinux.cfg
la source