Pourquoi mon BIOS ne reconnaît-il pas une partition amorçable?

0

J'ai suivi un guide d'installation Arch Linux et partitionné mon disque dur avec fdisk. J'ai sélectionné le type de disque doset créé trois partitions. Une de ces partitions que j'ai marquée comme étant amorçable. J'ai ensuite continué et terminé l'installation complète dans cette partition sans erreurs. Mais maintenant que je veux démarrer à partir de cette partition, le BIOS ne listera même pas la partition en option. De plus, si je démarre à partir de la clé USB d'installation, le «démarrage du système d'exploitation existant» ne me sera pas proposé contrairement à mes attentes.

Quel pourrait être le problème ici?

Sebastian Oberhoff
la source
La machine a-t-elle un firmware UEFI ou un BIOS traditionnel? Voir wiki.archlinux.org/index.php/…
Johan Myréen

Réponses:

2

Réponse courte:

Vous avez oublié d'installer un chargeur de démarrage. Selon qui vous guide vous suivez, il devrait avoir des instructions pour les deux GRUB2 ou Syslinux. (Puisqu'il vous a demandé de définir le drapeau 'amorçable', je suppose que c'est le dernier.)

Redémarrez à nouveau sur la clé USB, montez les partitions que vous avez créées de manière à pouvoir les utiliserarch-chroot et suivez les instructions pour Syslinux ou GRUB2 , selon vos préférences.

(Notez qu'après l'installation de ces grub.cfglogiciels grub-mkconfig, vous devez toujours créer à l' aide de , ou éditer syslinux.cfgà la main.)


Longue réponse:

Tout d’abord, un BIOS classique ne démarre pas du tout les partitions. Il ne comprend pas les systèmes d'exploitation, les tables de partition, ni les indicateurs de démarrage - c'est le travail de tout chargeur de démarrage installé sur le secteur de démarrage du disque (le MBR). En d'autres termes, le BIOS ne démarre que le disque spécifié en exécutant le code à partir du MBR, puis votre chargeur de démarrage prend le relais.

Si le disque était auparavant vide, il n’aura aucun code de démarrage MBR. Vous pouvez installer, par exemple, le code de démarrage Syslinux MBR - qui comprend la table de partition MBR, suit l'indicateur de «démarrage» et tente d'exécuter le propre code de démarrage de la partition.

Mais vous n'avez probablement pas non plus installé de code de démarrage sur la partition. Donc, même si la partition a un système de fichiers avec tous les fichiers requis pour Linux - le noyau et tout - il n’existe toujours rien qui sache trouver et démarrer ce fichier du noyau. Le simple fait de définir le drapeau «amorçable» ne suffit pas pour le rendre amorçable, cela revient à installer des panneaux de signalisation sans route.

(Remarque: le code d'amorçage MBR ne doit pas du tout se préoccuper de l'indicateur 'amorçable'. Par exemple, le chargeur de démarrage GRUB plus populaire n'en a pas besoin, car son code d'amorçage MBR intègre déjà directement le numéro de partition correct.)

Pour installer tout ce qui est nécessaire pour passer du BIOS au noyau Linux, vous devez suivre la procédure d'installation complète du chargeur de démarrage pour GRUB ou Syslinux.

Grawity
la source
En fait, GRUB a été installé. En bidouillant un peu plus la machine, j'ai réussi à la faire reconnaître la partition amorçable en désactivant UEFI. Je ne sais pas exactement pourquoi cela a aidé ou si cela pourrait avoir des conséquences imprévues.
Sebastian Oberhoff
1
UEFI a un mécanisme de démarrage complètement différent. Vous avez suivi un didacticiel supposant un BIOS PC ordinaire ou au moins une UEFI avec le "module de compatibilité BIOS" - qui était activé par défaut, mais de nombreux ordinateurs ne le font plus. (Intel a l'intention de l'enlever complètement dans quelques années.)
grawity