I initially installed Linux Mint 17.1 on a ext4 partition, with the /home on a different partition. The intention is to be able to multi-boot and share the /home data.

I'm planning to copy it to a btrfs partition, keeping the original (as it is now) as an emergency fall-back I can boot from. I plan to use the snapshot ability of btrfs to assist with daily backups (make an atomic copy then copy to NAS) and rolling back problems caused by installing or configuring, like snapshots on a VM.

Before I do it, I want to make sure I have a detailed plan and know what kinks to watch out for.

Here is what I have so far.

  1. Create a partition, formatted as btrfs. One partition is enough to start and I can add another for mirroring later. Give it a suitable label ("mintBtr").

  2. Mount it as /mnt/mintBtr. Do it using mount as root, as I don't want to alter the fstab that I'm going to copy.

  3. I understand that snapshots apply to subvolumes and not the top-level default volume, as it must have a parent to install the snapshot in as a sibling to the original. So, create a subvolume called root. This will appear as a subdirectory named root as the only contents of the filesystem.

    • Correction: It is no longer true, and it is indeed possible to make a snapshot of the root subvolume.
  4. Duplicate the current filesystem. The best thing appears to be rsync, using parameters -a, -H, and -x. Is that right, or do I need to further consider dev or anything else?

  5. rEFInd auto-discovers the various partitions that can boot. Setting the default root to the root subvolume is something that sticks with the filesystem and should make that transparent, right? How do I do that? Will rEFInd see the GUID of the as-mounted partition it noticed the boot files on, and thus use the right value in the initrd line? Just in case, how do I note the subvolume GUID so I may edit the boot line manually?

    • Update: This is not working. rEFInd does not see the new copy, and altering the boot line for the correct UUID does not boot. I'm stuck.
    • Since it is not necessary to use a /root subvolume, I plan to try again without that complication.
  6. Everything in fstab uses GUID syntax. The root partition is also named, so I should edit that in the copy. Also, add a line (for the real main root) of /mnt/mintBtr in the current instance, for future maintenance.

Meanwhile, to tell them apart easily, I named the partitions differently, and will edit icons in the refind partition and name them based on the partition, withnthe documented naming convention.

  • Did I miss anything?
  • Any other tips for me?

(After the operation, I'll edit it into a tutorial)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.