9 votes

Puis-je avoir deux distros sur la même partition en utilisant btrfs ?

J'utilise btrfs avec succès et j'ai heureusement des partitions maison et système séparées.

J'utilise Ubuntu 13.10 et je veux tester 14.04. Comment puis-je faire cela en utilisant le système de fichiers btrfs ?

Le système possède une partition EFI, mais pas de partition de démarrage supplémentaire. /boot est à l'intérieur de la partition système ( /@/boot ).

12voto

RoarG Points 1356

Oui, vous pouvez le faire. C'est ce que j'utilise en ce moment même. L'autre truc cool, c'est que vous pouvez bedup la partition après avoir installé de nombreux systèmes d'exploitation similaires (comme Ubuntu et Linux Mint) pour conserver beaucoup d'espace sur le disque dur.

L'astuce consiste à renommer les sous-volumes par défaut : @ y @home en quelque chose d'unique à l'installation de la distribution, par exemple @ -> @mint o @trusty y @home sur @homemint o @hometrusty .

Cela peut se faire à tout moment après l'installation du premier système, avant l'installation du second. Le moyen le plus sûr est de prendre un instantané des sous-volumes, par exemple comme ceci :

  1. monter le sous-volume racine de la partition btrfs du système (supposée être /dev/sda3) quelque part, par exemple dans /mnt : sudo mount btrfs /dev/sda3 /mnt
  2. Facultatif : listez les sous-volumes déjà existants - vérifiez simplement que vous ne créez pas de conflits de noms dans les étapes suivantes : sudo btrfs subvolume list /mnt
  3. Clonez le sous-volume principal @ : sudo btrfs subvolume snapshot /mnt/@ /mnt/@trusty
  4. Clonez le foyer. Je déconseille fortement de partager l'ensemble du sous-volume domestique entre différents systèmes. (Pour les documents partagés, créez un autre sous-volume, ou mieux encore une partition séparée, liez-la à ~/Documents, ~/Desktop etc. et partagez-la) : sudo btrfs subvolume snapshot /mnt/@home /mnt/@trustyhome
  5. Modifier /mnt/@trusty/etc/fstab sur la nouvelle racine @trusty pour refléter le changement du sous-volume @home -> @trustyhome (et @ -> @trusty, mais cette étape n'est pas strictement nécessaire, car au moment où le système lit @trusty/etc/fstab, il doit déjà avoir pris le bon sous-volume pour root).
  6. Modifier /boot/grub/grub.cfg : modifier toutes les lignes qui appellent le noyau actuel (elles ressemblent à ceci : linux /vmlinuz-3.16.0-50-generic.efi.signed root=UUID=9e571eab-4c88-4913-baa3-8d41d94f73d5 ro recovery nomodeset rootflags=subvol=@ ) et modifiez le rootflags=subvol=@ sur rootflags=subvol=@trusty pour que le noyau sache quoi démarrer. Assez miraculeusement, ce paramètre sera préservé lorsque vous faites update-grub .
  7. Redémarrer et faire sudo mount et vérifiez que les nouveaux sous-volumes corrects sont utilisés au lieu de @ y @home <- Cette étape est vraiment importante, sinon vous sera perdre vos données

Et une fois que vous avez renommé les sous-volumes, et que vous vous êtes assuré que le système démarre, et qu'il n'y a pas de @ y @home - installer le prochain OS, avec une modification : utiliser un /boot partition (800 Mo devraient suffire). Il est utile que vos partitions utilisent GPT plutôt que MBR, ce qui est heureusement devenu la norme. (Pour savoir rapidement si vous utilisez GPT, il suffit de voir si vous démarrez avec UEFI dans la configuration du BIOS de la carte mère. UEFI ne fonctionne qu'avec des partitions configurées au format GPT.

Si vous ne mettez pas en place le système séparé /boot partition - le système ne démarrera pas, mais vous pouvez le réparer si vous suivez le commentaire de @HullCityFan852 :

Si vous n'avez pas de partition /boot séparée, alors le redémarrage à l'étape 7 échouera et vous serez laissé à l'invite de secours Grub. À cette tapez set prefix=($root)/@mint/boot/grub (remplacer @mint avec le chemin d'accès au sous-volume de votre distribution), puis tapez insmod normal et enfin normal pour charger le menu Grub et démarrer votre distro. Une fois démarré, tapez sudo update-grub && sudo grub-install pour effectuer le changement permanent

Dans la boîte de dialogue de partitionnement, utilisez le partitionnement personnalisé et installez le système sur la même partition que le premier OS. Assurez-vous juste que vous dites à l'installateur ne pas formater cette partition !

Après l'installation, vous pouvez configurer le chargement en chaîne des grubs, de sorte que vous pouvez sélectionner le Grub d'une installation comme une entrée sur l'autre et vice versa (comment ? voir Quelle est la méthode recommandée pour charger en chaîne une partition Ubuntu /boot séparée ? ).

En ayant des /boot Je n'ai pas à m'inquiéter qu'un Linux gâche Grub pour l'autre Linux pendant la mise à jour automatique du noyau.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X