Déplacer une installation Linux à l'aide de btrfs sur le sous-volume par défaut (subvolid = 0) vers un autre sous-volume


15

Lors d'une installation sur un système de fichiers racine btrfs, de nombreuses distributions Linux s'installent sur le sous-volume par défaut. Si elle n'est pas modifiée, cette disposition forcera la création de tous les instantanés ou sous-volumes dans le système de fichiers racine, ce qui peut être indésirable. Une autre disposition possible serait que le sous-volume par défaut contienne un snapshotsrépertoire et un rootfssous - volume, qui est le système de fichiers racine. Comment puis-je changer l'installation de btrfs par défaut pour utiliser cette disposition de sous-volume sans démarrer à partir d'un livecd?

Réponses:


15

Tout d'abord, nous allons créer la mise en page que nous voulons dans le sous-volume par défaut:

btrfs subvolume snapshot / /rootfs
mkdir /snapshots

Notez que ce /rootfssera notre nouveau système de fichiers racine, donc ne modifiez pas le système actuel après cette étape.

Modifiez /rootfs/etc/fstabpour que le système utilise le nouveau sous-volume rootfs comme système de fichiers racine. Pour cela, vous devrez le modifier pour inclure l' subvol=rootfsoption.

montez notre nouveau système de fichiers racine quelque part, montez les systèmes de fichiers appropriés (dev, sys, proc, boot si vous l'avez), chrootez-le et mettez à jour grub:

mount -o subvol=rootfs /dev/sdXX /media/temporary
cd /media/temporary
mount -o bind /dev  dev
mount -o bind /sys  sys
mount -o bind /proc proc
mount -o bind /boot boot
chroot .
update-grub
exit

C'est ça. Redémarrez et votre système de fichiers racine devrait être le sous-volume rootfs. Si cela réussit, il ne devrait pas y avoir de répertoire / snapshots. Vous pouvez maintenant supprimer le contenu de l'ancien système de fichiers racine dans le sous-volume par défaut.

Si vous le souhaitez, vous pouvez créer un point de montage permanent pour le sous-volume par défaut:

mkdir /media/btrfs/root

alors vous pouvez mount -o subvolid=0 /dev/sdXX /media/btrfs/rootet créer vos instantanés / sous-volumes.


1
Notez également qu'au lieu de monter, chrooter et mettre à jour grub, vous pouvez simplement définir le sous-volume par défaut avec rootfs btrfs subvolume set-default ID /. IDpeut être trouvé en utilisant `btrfs subvolume list /
— goncalopp

J'ai ajouté subvol=/rootfs(notez le /) fstabcar cela semble être la manière «correcte» décrite dans le (btrfs wiki) [ btrfs.wiki.kernel.org/index.php/Mount_options] .
— go2null

@ go2null Le problème de l'utilisation subvol=/rootfsest que tout programme qui ne connaît pas votre disposition (les installateurs de distribution, par exemple) montera le sous-volume par défaut à la place. Si le programme s'attend à ce que le système de fichiers ressemble à un système de fichiers Linux, s'il échouera, ou pire - remplissez votre sous-volume par défaut de choses que vous ne voulez pas
— goncalopp

hmm, aurait pensé que les progs qui dérangent les systèmes de fichiers vérifieraient au moins la fstabconfiguration du bootloader.
— go2null
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.