Je suis sur un système Debian / Squeeze (avec un historique remontant au moins à Woody) qui a été mis à niveau vers grub2 dans le cadre de la mise à niveau de Squeeze. Tout fonctionne bien, mais je suis sur le point de jouer avec la configuration du disque.
Actuellement, la machine utilise 2 disques de 80 Go avec des partitions RAID1-ed /, / home et / boot (il y a une autre paire de disques avec un "/ data" RAID1-ed et quelques swaps, au cas où quelqu'un se demanderait où le swap est , mais je ne les touche pas).
J'ai ajouté 2 SSD de 130 Go, les ai partitionnés pour être au moins aussi grands que les partitions sur les disques de 80 Go, et j'ai l'intention de passer aux nouveaux disques SSD en augmentant les RAID1 pour les inclure, en attendant la synchronisation, puis en supprimant l'ancien les disques des baies de sorte qu'il ne reste que les SSD (puis en augmentant les systèmes de fichiers). Mais la querelle mdadm / ext3 n'est pas le sujet de cette question ...
Cela me laissera 2 disques obsolètes de 80 Go (IDE) que je veux retirer de la machine. Mon inquiétude est que leur suppression prendra un MBR crucial avec eux. Comment puis-je m'assurer que la machine reste amorçable?
Plus précisement:
Quand j'ai fait la mise à niveau de Squeeze, je me souviens qu'il y avait un choix présenté sur les disques sur lesquels grub2 devrait installer (je suis allé avec la valeur par défaut, qui était tous les disques). Les SSD n'étaient pas dans la machine à l'époque cependant; comment puis-je relancer ceci pour que grub s'installe sur les MBR SSD? (Je suppose que c'est une reconfiguration dpkg d'un paquet).
Comment puis-je trouver sur quels disques grub2 pense qu'il est installé? Bon sang, il y a près de 200 fichiers sous / boot / grub / ces jours-ci! Où regarder ? En outre, il semble un peu étrange que /boot/grub/device.map.auto ne répertorie actuellement que 3 disques (2 des 80 Go mais seulement l'un de l'autre paire de disques et aucun des SSD). Comment puis-je le mettre à jour? ( Mise à jour: c'était un hareng rouge; device.map.auto semble être une relique d'il y a des années; device.map semblait raisonnable sur une mise à jour de grub-mkdevicemap. Je pense que ma paranoïa dans ce domaine provient d'un ancien BIOS de mobo qui réorganiser l'ordre des appareils vu par GRUB sur un coup de tête).
Résultat: tout s'est bien passé et j'ai maintenant les deux anciens disques IDE de 80 Go prêts à l'emploi, et un système de démarrage rapide et rapide fonctionnant avec des SSD RAID1 avec tous les systèmes de fichiers redimensionnés jusqu'à leur nouvelle taille de partition. L'autre "pièce manquante du puzzle Grub" que je cherchais était celle dpkg-reconfigure grub-pc
qui demandait sur quels disques maintenir un MBR. La réponse d'Aaron a en fait le plus pour me rassurer que cela fonctionnait comme prévu, acceptant ainsi cette réponse.
dd if=/dev/sda bs=1 count=512 | grep -aob GRUB
. Cela renverra la position du marqueur dans le secteur de démarrage.Il y a plusieurs étapes dans le processus de démarrage (je décris un BIOS PC traditionnel):
/boot/grub
.(hd0)/boot/grub
) qui détermine où trouvergrub.cfg
et poursuivre les modules Grub.grub.cfg
est exécuté, généralement pour afficher un menu et démarrer un système d'exploitation.Le secteur de démarrage est généré par
grub-setup
, normalement appelé viagrub-install
. Le secteur de démarrage se retrouve sur le disque que vous avez spécifié (dans la syntaxe Linux) sur la ligne de commandegrub-install
ougrub-setup
. Vous pouvez vérifier que vous avez un secteur de démarrage sur un disque en exécutantfile -s /dev/sda
. Puisque vous ajoutez un nouveau disque et que vous souhaitez démarrer à partir de celui-ci, vous devez exécutergrub-install
le nouveau disque. Exécutergrub-install
plusieurs fois sur le même disque est inoffensif.La partie difficile est à l'étape 2 ci-dessus. Si possible, placez Grub (c'est-à-dire le
/boot/grub
répertoire) sur le disque de démarrage du BIOS (ou, en s'approchant de l'autre sens, dites à votre BIOS de démarrer à partir du disque où il se/boot/grub
trouve). C'est làdevice.map
qu'entre en jeu. Assurez-vous qu'il(hd0)
est mappé sur le disque qui contient/boot/grub
, puis exécutez-legrub-install
sur ce disque.Si vos deux disques sont dans une configuration logicielle RAID-1, vous aurez des secteurs de démarrage identiques. C'est le comportement souhaitable: si l'un des disques qui est le disque de démarrage du BIOS échoue, le démarrage à partir de l'autre fonctionnera simplement (car ils contiennent les mêmes octets aux mêmes emplacements pertinents). Si vous n'avez mis en miroir que certaines partitions, l'installation d'un secteur de démarrage n'affecte que l'un des disques. Vous devez réexécuter
grub-install
sur le deuxième disque, après avoir modifiédevice.map
pour associer(hd0)
au disque contenant la deuxième copie miroir de/boot/grub
.L'étape 3 est assez complexe, mais fonctionne généralement hors de la boîte. À l'étape 4, Grub localise les systèmes de fichiers par UUID ou recherche les fichiers nommés, vous n'avez donc plus à vous soucier des différentes façons de désigner les disques.
la source