Un disque par système

Le problème exposé dans ce sujet a été résolu.

Bonjour et d’ailleurs, bonne année !

Ce sujet fait suite un un précédent sujet que j’ai créé il y a quelques mois de cela : Configuration d’un PC de bureau. Je souhaiterai avoir plusieurs système d’installer sur mon ordinateur. Ne prenons pas comme exemple les disques choisis dans le sujet précédent afin de simplifier le raisonnement.

Tout d’abord, imaginons qu’il y a un disque à plateaux servant de stockage. On y trouverait par exemple le dernier épisode de Sherlock mais aussi ma collection de CD, de Patrick Sébastien aux Beatles.

Il y aura ensuite deux disques à mémoire flash afin de stocker les systèmes d’exploitation. Partons simple avec un Windows 10 et un Ubuntu. La question que je me pose est de savoir comment gérer le démarrage. Je souhaiterai arriver au démarrage à un menu de sélection afin de choisir sur quel disque démarrer. Et si je rajoute un nouveau disque contenant, disons FreeBSD afin de compléter la famille, je souhaiterai qu’il s’affiche automatiquement dans la liste de sélection.

Exemple 1 d’écran de sélection d’OS
Exemple 2 d’écran de sélection d’OS

Je répète ma problématique du coup : où et comment installer un tel outils ?

Maintenant, arrivons au problème concret. J’ai vérifié la compatibilité de mon matériel et théoriquement Mac OS est censé tourné dessus (hormis la carte graphique mais du coup, la puce intégré devrait faire l’affaire). Dans le futur, j’aimerai avoir en plus de mes disques de stockage, trois système d’exploitation.

Disque Utilisation
Plateaux 1 Stockage
Plateaux 2 Stockage
SSD 1 Windows 10 Professionel
SSD 2 Archlinux
SSD 3 macOS Sierra

Je pense que l’utilisation d’un disque par système facilite l’utilisation de plusieurs système sur la même machine.

La théorie, c’est qu’un OS, quel qu’il soit, dispose d’un logiciel servant au chargement, qu’on appelle un chargeur de démarrage ou bootloader en anglais. Il est fourni avec l’OS et ne peut en général, démarrer que l’OS pour lequel il a été conçu.

Le chargeur de démarrage de Windows c’est NTLDR. Il a la particularité, lorsqu’il s’installe d’écraser tous les autres chargeurs de démarrage.

Le chargeur de démarrage couramment utilisé sous Linux, c’est GRUB (mais ce n’est pas le seul). Il peut aussi démarrer d’autres systèmes (en réalité, il se lance au démarrage puis trouve le chargeur de démarrage spécifique à l’OS ou le noyau à démarrer).

La méthode la plus courante à ma connaissance pour un multiboot Windows/Linux c’est installer Windows sur le premier disque SSD, installer Linux sur le second disque SDD. A la fin de l’installation Linux demandera où installer son chargeur de démarrage, il faudra lui indiquer le premier disque (celui de Windows). Il se chargera de faire les opérations nécessaires pour permettre le démarrage de Windows.

En revanche, il (GRUB) ne se met pas à jour automatiquement si tu rajoutes un OS, mais je crois qu’aucun chargeur de démarrage n’a cette capacité.

Enfin, après une recherche rapide, il est illégal d’installer MacOS sur un ordinateur qui n’est pas un Mac : c’est une violation des conditions d’utilisation.

Edit : j’ai failli oublier : je recommande fortement de faire une sauvegarde du secteur de démarrage après chaque installation d’OS pour pouvoir revenir en arrière en cas de problème ou d’erreur.

+0 -0

Enfin, après une recherche rapide, il est illégal d’installer MacOS sur un ordinateur qui n’est pas un Mac : c’est une violation des conditions d’utilisation.

Ezenku

C’est effictivement une violation des conditions d’utilisation d’Apple mais elles ne sont pas compatibles avec les lois européennes qui disent, pour faire simple, qu’on a le droit d’installer ce que l’on veut sur notre machine.

Sinon, je ne savais pas que chacun démarrait à sa façon. Je pensais que ça partait de la carte mère et qu’il chargeait un disque qui lui-même se chargeait de lancer l’OS. Du coup, le mieux, c’est de partir sur le démarrage sur un disque que je choisis par défaut (mieux vaut Linux ou macOS j’imagine). Je choisirai ensuite sur quel système démarrer depuis, par exemple GRUB ? JE préfère pas trop jouer avec le disque et partions Windows. Donc je me suis dis que je pourrais choisir le 2e SSD à lancer dans le BIOS.

En revanche, il (GRUB) ne se met pas à jour automatiquement si tu rajoutes un OS, mais je crois qu’aucun chargeur de démarrage n’a cette capacité.

Ezenku

Il faudra le mettre à jour ou le réinstaller dans ce cas ?

Edit : j’ai failli oublier : je recommande fortement de faire une sauvegarde du secteur de démarrage après chaque installation d’OS pour pouvoir revenir en arrière en cas de problème ou d’erreur.

Ezenku

C’est quoi un secteur de démarrage ?

En revanche, il (GRUB) ne se met pas à jour automatiquement si tu rajoutes un OS, mais je crois qu’aucun chargeur de démarrage n’a cette capacité.

GRUB détecte de nombreux systèmes automatiquement, quand tu ajoutes un nouvel OS tu dois régénérer sa configuration, mais il détectera tout seul Windows par exemple pour ajouter une entrée.

C’est effictivement une violation des conditions d’utilisation d’Apple mais elles ne sont pas compatibles avec les lois européennes qui disent, pour faire simple, qu’on a le droit d’installer ce que l’on veut sur notre machine.

Tu prends, de souvenir du texte, l’interprétation à l’envers. Sur ton PC tu as le droit de virer Windows pour mettre Linux. Aucun constructeur ne devrait t’en empêcher de le faire. Mais cela ne te donne pas le droit d’y installer un système dont tu n’as pas de licence valide (ici macOS). Car Apple ne vend pas un tel système et ne propose pas de licence compatible pour le faire. Théoriquement Apple peut t’en empêcher. Après il faudrait qu’un juge se prononce dessus pour en être sûr mais en attendant cela me semble bien illégal.

Faisons abstraction de macOS, qui ne change pas grand chose à l’équation. Le système que tu demandes existe plus ou moins avec l’UEFI. Avec lui, chaque système est enregistré directement dans une partition de l’UEFI pour le lancer sans utiliser GRUB ou autre pour la sélection du système. Cependant normalement cette étape n’est pas bloquante et je doute que cela soit faisable (c’est-à-dire qu’il va charger un truc par défaut si tu ne fais rien, et il faudra même manipuler un peu au clavier pour avoir le choix affiché).

La solution la plus simple je dirais passe par GRUB où à chaque nouveau système installé tu devras mettre à jour la configuration pour que tout soit affiché et disponible. Cela sera aussi visuellement moins sympathique que ce que tu nous présentes. Tu choisiras par des noms listés par ligne et par le clavier et non de gros logos avec le choix par la souris.

+0 -0

Du coup, il suffit d’avoir un programme au démarrage comme GRUB ? Mais cette chose s’installe à quel moment et surtout, sur quel disque ?

On pourrait créer un autre sujet concernant le Hackintosh et la loi. Ca pourrait d’ailleurs faire office d’article. Mais il me semble qu’on peut faire ce que l’on veut (hors terrorisme, etc. évidemment) d’un logiciel (et du matériel) acheter tant qu’on a la licence. Je peux télécharger une image disque de macOS depuis le Mac App Store. Par contre, Apple n’a aucune garantie, support, etc. Par contre, la revente est interdite si mes souvenirs sont bons. Apple l’empêche bien, mais pas la loi européenne. Et c’est bien cette dernière qui prévaut. C’est en tout cas ce que j’ai lu à divers endroits. M’enfin, si ça ne change rien à l’installation de plusieurs systèmes, passons ce sujet.

Et le plan B, un systeme par disque et au démarrage appuyer sur F12 pour choisir le disque de boot ? ca marcherait ca ? C’est pas convivial mais au moins c’est "fiable" et sans mise à jour non ?

Eskimon

Je n’ai jamais utilisé cette fonctionnalité. Pourrais-je savoir ce qu’exécute le BIOS quand F12 est appuyée au démarrage ? Çà pourrait être une solution en attendant de trouver quelque chose de plus esthétique.

Sinon, je ne savais pas que chacun démarrait à sa façon. Je pensais que ça partait de la carte mère et qu’il chargeait un disque qui lui-même se chargeait de lancer l’OS.

C’est bien ça, mais vu ce que tu veux faire, il faut être plus précis.

Dans la configuration du BIOS, il y a la liste des disques et l’ordre dans lequel le BIOS doit les tester.
En simplifié, un disque dur est composé de secteurs numérotés. Le premier secteur d’un disque s’appelle le secteur de démarrage.
Ce que fait le BIOS au démarrage (après les tests matériels divers) c’est de prendre le premier disque indiqué dans sa configuration et de lire le premier secteur du disque, appelé secteur de démarrage. Sur ce secteur il y a soit des données, soit un programme spécial appelé chargeur de démarrage.

Le chargeur de démarrage est divisé en deux parties. La première partie est sur le secteur de démarrage. Elle ne sert qu’à lancer la seconde partie du chargeur de démarrage.

La seconde partie permet de lancer un programme situé ailleurs sur le disque ce qui permet de faire deux choses :
- soit lancer un OS en lançant le noyau
- soit passer la main à un autre chargeur de démarrage, qui lui lancera un OS.

Un exemple de l’ordre final :

  • Carte mère
  • BIOS (détection du matériel et tests)
  • Le BIOS lit sa configuration

=> Ce que tu viens de lire, c’est la partie commune au démarrage. Ensuite, c’est un exemple que je t’ai fait :

  • Test du premier disque : le BIOS ne trouve pas de programme à charger
  • Y a t-il un autre disque à tester dans la configuration ? Si non, on affiche un message d’erreur indiquant qu’il n’y a pas de système d’exploitation. Si il y a un autre disque à tester, on le teste.
  • Sur ce nouveau disque, on trouve la première partie du chargeur de démarrage. Elle va permettre d’aller chercher la seconde partie du chargeur de démarrage. On va dire que c’est Grub.
  • Grub lit sa configuration et constate qu’il y a plusieurs OS. Il affiche un menu.
  • Lorsque l’utilisateur choisit ou que le temps imparti est dépassée, il lance le programme voulu, c’est-à-dire :
  • soit un OS s’il peut le lancer directement
  • soit un autre chargeur de démarrage (cas de NTLDR) qui lancera l’OS voulu.

Et le plan B, un systeme par disque et au démarrage appuyer sur F12 pour choisir le disque de boot ? ca marcherait ca ? C’est pas convivial mais au moins c’est "fiable" et sans mise à jour non ?

Ça doit marcher même si je n’ai jamais fait comme ça. Seul inconvénient avoir plusieurs chargeurs et menus. De plus, je me demande si ça ne multiplie pas les risques d’erreur lors de l’installation des OS.

Du coup, il suffit d’avoir un programme au démarrage comme GRUB ? Mais cette chose s’installe à quel moment et surtout, sur quel disque ?

Oui à la première question. En général il est proposé à la fin de l’installation d’un Linux (BSD l’utilise peut-être aussi ?) et en général on l’installe sur le secteur de démarrage du premier disque dur. Mais il est possible de l’installer sur un autre disque. Si tu veux que Grub s’affiche au démarrage, il faudra alors mettre ce disque en premier dans la l’ordre de démarrage du BIOS.

Je n’ai jamais utilisé cette fonctionnalité. Pourrais-je savoir ce qu’exécute le BIOS quand F12 est appuyée au démarrage ? Çà pourrait être une solution en attendant de trouver quelque chose de plus esthétique.

F12 n’est qu’un exemple (ça peut être suppr, F2, etc..), mais en gros ça affiche un liste des tes disques durs (pas de tes OS, mais vraiment des disques durs), lecteurs CD et ports USB et ça te propose de sélectionner le périphérique de démarrage (tu choisis directement sur quel disque tu démarres).

TL;DR.

Et le plan B, un systeme par disque et au démarrage appuyer sur F12 pour choisir le disque de boot ? ca marcherait ca ? C’est pas convivial mais au moins c’est "fiable" et sans mise à jour non ?

Eskimon

Ca fonctionne, je l’ai fait de nombreuses fois pour avoir des disques indépendants. ;) C’est d’ailleurs comme ca que je ferais dans ton cas, tu installes chaque OS sur chaque disque et chaque disque a son propre bootloader. Tu finis par installer linux et grub. Et normalement tu as juste a configurer grub pour qu’il lance chaque partition et/ou bootloader (avec 1 grub sur chaque disque, grub va lancer l’autre grub… lol).

Salut,

Et le plan B, un systeme par disque et au démarrage appuyer sur F12 pour choisir le disque de boot ? ca marcherait ca ? C’est pas convivial mais au moins c’est "fiable" et sans mise à jour non ?

Eskimon

Ça doit marcher même si je n’ai jamais fait comme ça. Seul inconvénient avoir plusieurs chargeurs et menus. De plus, je me demande si ça ne multiplie pas les risques d’erreur lors de l’installation des OS.

Ezenku

Je plussoie les messages d’Eskimon et de Pouet_forever : la plupart des cartes mères « modernes » disposent d’une option pour sélectionner dynamiquement le disque qui sera analysé en premier (après, faut pas se tromper de touche ou être encore à moitié dans son lit lors du démarrage :-° ). C’est finalement assez pratique et cela évite de se prendre le choux avec la configuration de l’un ou l’autre chargeurs : chaque système a son chargeur sur un disque.

Il me semble aussi que la plupart des chargeurs d’amorçage sont capables de démarrer un autre système via leur invite de commande (je sais que c’est le cas pour GRUB et pour le chargeur d’OpenBSD).

+0 -0

Je sais que par exemple, quand je démarrer mon MacBook Pro, c’est en appuyant la touche alt qu’il y a les différentes volumes dont l’ordinateur peut démarrer dessus. En fait, je cherche une façon plus ergonomique qui me donne le choix à chaque fois et si on attend, qu’il démarre sur un volume en particulier.

Je pense qu’une de mes peurs étaient au niveau de l’installation mais j’imagine que le fait d’allouer un disque par système et non partionner le même disque enlève une grande partie de ce problème. Par exemple, disons que j’ai Windows d’installer sur mon disque. Je l’utiliserai pour travailler (ma priorité). Puis ensuite je souhaiterai installer un autre système et pour cela, j’achèterai un nouveau disque. Ma peur était que l’installation pouvait créer des problèmes au niveau du démarrage.

Enfin, j’avais pensé à utiliser rEFInd pour l’affichage des volumes au démarrage.

Attention, les informations dans le poste de Ezenku sont partiellement périmées. Aujourd’hui, l’UEFI (c’est juste un firmware sur la carte mère comme le BIOS), ne lit plus un secteur, mais une partition (l’ESP, qui est repérée par son GUID unique et donc n’est pas forcément la première mais en pratique on la met en premier par habitude).

Cette partition contient notamment des fichiers .efi, dont l’un sera ton boot manager (comme GRUB par exemple) qui lui va regarder ses fichiers de configs/scanner la partition EFI pour savoir quels sont les boot loaders disponibles et les lancer.

En pratique, c’est beaucoup plus souple que l’approche avec un simple secteur de démarrage puisque l’ESP offre un endroit tout trouvé pour mettre ses boot loaders au lieu d’avoir un secteur d’amorçage qui pointe uniquement vers le boot manager et lui même qui doit chercher les boot loaders qui peuvent alors être n’importe où…

+0 -0

Et le plan B, un systeme par disque et au démarrage appuyer sur F12 pour choisir le disque de boot ? ca marcherait ca ? C’est pas convivial mais au moins c’est "fiable" et sans mise à jour non ?

Eskimon

C’est personnellement exactement ce que je fais avec mon ThinkPad. Comme le « BIOS » (le beau logo Lenovo au démarrage) mets 15 secondes à se lancer, ça me laisse largement le temps. Ainsi, je boot sur Arch par défaut, avec un GRUB réglé à 0 secondes de délai, et je passe par F12 pour Windows (pourquoi perdre du temps à choisir dans GRUB alors que j’ai au moins 9 secondes (c’est précis, hein :D ) pour choisir avant que GRUB se lance…).

L’avantage, c’est qu’il suffit d’un démarrage pour que le nouvel OS soit découvert. Par contre, j’ai dû virer une ancienne entrée (Manjaro, écrasé par Arch), à la main…

+0 -0

C’est toujours utile de vouloir passer par grub, par exemple lors de la mise a jour d’un noyau qui fait que ton système démarre plus… Tu peux démarrer en mode recovery histoire de pouvoir régler ce qui va pas et si ça va vraiment pas, tu peux toujours booter sur ton ancien noyau. Tu peux aussi éditer les options de grub, c’est utile parfois. ;)

Diminuer le timeout, pourquoi pas, mais pas le mettre a 0. ^^

Quand ton système démarre plus tu as toujours l’option de chrooter dessus pour le corriger. C’est suffisamment rare pour que se priver du recovery mode de GRUB ne soit vraiment pas un problème (d’autant plus que chrooter permet beaucoup plus de choses que le recovery mode de GRUB de toute façon…). Par contre, ce qui peut être malin si on souhaite passer GRUB, c’est installer un boot manager plus léger, ou carrément seulement un boot loader.

+0 -0

adri1 je le ferais sûrement, mais vu que j’ai toujours utilisé GRUB…

Renault : sur mon PC, si, c’est quasiment impossible d’y accéder (j’ai trouvé Shit et Échap sur internet, Échap est pris par le BIOS, et Shift ne fait rien).

+0 -0

Attention, les informations dans le poste de Ezenku sont partiellement périmées.

adri1

Juste pour savoir : l’UEFI n’est pas censé être compatible avec les anciennes partitions MBR et donc être capable de démarrer un système installé de cette manière ?

+0 -0

Juste pour savoir : l’UEFI n’est pas censé être compatible avec les anciennes partitions MBR et donc être capable de démarrer un système installé de cette manière ?

Taurre

Je dirais que oui. Pendant quelques temps j’ai eu sur un même ordi (UEFI) Fedora et Windows, l’un en MBR, l’autre en EFI. Le seul souci étant qu’il était impossible de lancer Windows depuis GRUB, qui ne le détectait pas. Lorsque je voulais booter dessus, je devais du coup passer par le menu de l’UEFI. Depuis j’ai refais une installation clean, tout en UEFI, et je pense que c’est quand même une meilleure idée d’avoir tout le monde à la même enseigne.

+1 -0

Je n’imaginais pas que ce sujet prendrait autant d’ampleur. J’ai déjà appris pas mal de choses concernant le fonctionnement.

Y aurait-il quelqu’un de dévouer afin de m’expliquer (très ?) simplement ce qu’est concrètement UEFI, BIOS, MBR, EFI. Dans ma tête, UEFI et BIOS sont des programmes de la carte mère. MBR et EFI concernent les tables de partitionnement.

Y aurait-il quelqu’un de dévouer afin de m’expliquer (très ?) simplement ce qu’est concrètement UEFI, BIOS, MBR, EFI. Dans ma tête, UEFI et BIOS sont des programmes de la carte mère. MBR et EFI concernent les tables de partitionnement.

Helmasaur

Le BIOS (Basic Input Output System) est effectivement le logiciel qui est (ou était) présent dans la ROM de la carte mère et qui est chargé d’une part d’effectuer des vérifications sommaires (notamment la détection des disques et le calcul de la quantité de mémoire vive) et, d’autre part, de charger un système d’exploitation. Le BIOS se base pour cela sur l’ordre de préférence indiqué par l’utilisateur (via l’interface de configuration) ou, à défaut, sur le premier disque trouvé.

Plus précisément, le BIOS charge le premier secteur du disque dur sélectionné et exécute un petit programme présent dans celui-ci. Ce premier secteur est appelé le MBR (Master Boot Record) et contient, en plus du programme précédent, une table des partitions qui peut contenir au plus quatre partitions (dont une qui peut être « logique » c’est-à-dire formée de plusieurs « sous-partitions » liées entre-elles sous forme d’une liste chaînée).

L’UEFI (Unified Extensible Firmware Interface) est le remplaçant du BIOS, bien qu’il peut réaliser plus de tâches que celui-ci. Pour charger un système d’exploitation, il recourt pour sa part à une partition particulière (édit : l’ESP pour Extensible Firmware Interface) renseignée par une table de partition GPT (GUID Partition Table) qui, elle, ne souffre pas des limitations imposée par le format du MBR.

L’EFI (Extensible Firmware Interface) est quant à lui l’ancêtre d’UEFI, qui fut utilisé avant l’aboutissement de la normalisation d’UEFI.

Édit : @Matouche : merci pour cette précision. ;)

+2 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte