Convert from ext4 to btrfs (yet another post)

The more involved I get with my installation, the more aware I am of the need to have a backup system in place. I’ve never “riced” an installation as much as I have :enos: and I’m terrified of someday breaking things.

I know timeshift has been mentioned here plenty of times, as has borg. QUESTION #1: I’ve yet to decide which to go with and am open to suggestions?!

With my investigation of a backup system, I learned about btrfs. So I checked my filesystem, and I’m running ext4. WHY? I guess that’s what I have been using for years - why change what ain’t broke, right?


I’ve done plenty of reading tonight :point_right: https://forum.endeavouros.com/search?q=convert%20btrfs

Everyone has their own requirements, so I made a new post.

I did read through this carefully https://wiki.archlinux.org/title/Btrfs#Ext3/4_to_Btrfs_conversion
And this kinda scared me:

There are many reports on the btrfs mailing list about incomplete/corrupt/broken conversions.

I also read this https://amireslampanah.com/2021/09/complete-conversion-from-ext4-to-btrfs-on-arch-linux-and-other-linux-distros/ Which is perfect, as I like the depth of guides like that and seems pretty straight forward. I still do have my installer ISO on USB. I knew it would come in handy :slight_smile:

My web dev projects folder ~/www has almost 225,000 files - the high count is due to lots of git and node_modules. I’ve used rsync in the past, but never for that many files. I’m sure I could go through and just delete the node_modules folders to conserve space, and reinstall as needed. But I need help writing the proper rsync command to get everything in .git folders, and tons of hiddenfiles. QUESTION #2: Can someone help with that?

www-files


Final section: If I were to successfully convert from ext4 to btrfs, I have read that some features would be lacking. As compared to having the filesystem as btrfs from the start. QUESTION #3: What would I be missing? If it’s a significant feature set, I could reinstall?!

I am NOT opposed at all to starting fresh with the new Atlantis release. My ~/www and ~/.config will be safe. QUESTION #5: Can I export a list of all the packages I installed manually that DIDN’T come preinstalled?

Apologies for the length. Just wanna be sure I cover all my bases :wink:

If I was to change a filesystem on an installation, I would always prefer a new installation. Too many things can go wrong during the process of converting. If everything runs fine, it’s more convenient and faster. If things break, you’ll loose a lot of time. Another benefit of a new installation is, that you can get rid of a lot of trash piling up over time in hidden configs etc.

3 Likes

Even rsync -a should suffice, I think. I use some variants of -aAXvHh --info=progress2 for my backups; that preserves about everything that can be.

Don’t forget to do a --dry-run if you have some --exclude-from=… or worse if you want to use --delete to update a backup.

Can I export a list of all the packages I installed manually that DIDN’T come preinstalled?

pacman -Qm for a start; unfortunately Qe also lists default system packages;

A non trivial solution that no longer works has been proposed in

I’m curious to know if there is a simple way to get that list.

It depends what you mean by backups. Timeshift is tool for taking snapshots to be used in system recovery. borg is a fully featured deduplicating backup solution.

If you want to make a replica of a system or directory preserving things exactly, I use rsync -aAXHv for that purpose. If you are trying to copy the data I would usually use rsync -avhW

Mostly compression of existing data and subvolumes. Compression can be applied after the fact. Subvolumes can also be created after and then use the above rsync command to move the data. I have done this many times.

My biggest warning about the conversion process is it takes time and you need to have more than 50% free space on the disk for it to work.

To do that you need to compare the output of pacman -Qe to the package list from the ISO which can be found here.

As a side note, your question numbering scheme seems flawed to me. :rofl:

1 Like

Can’t really answer your questions but I can tell you that Timeshift is great! It saved me a few times when I was on Manjaro. And I think the only difference between using it with Ext4 vs using it with BTRFS is the speed / the time it takes to create the snapshot.

And that’s just my opinion, but I would never try to convert a filesystem. If I really wanted another one, I would do it from scratch.

3 Likes

DUDE! I had to re-read my questions and it took me FAR too long to realize, bwahahahaa.

1 Like

:point_up_2: Sound precisely what I want.

rsynced all the needed things.

dd Atlantis.ISO /dev/sdb

I should be on my way to reinstallation within 5-10 minutes.

I’m having problems unforeseen :frowning:

Got the ISO and sha512sum -c EndeavourOS_Atlantis-21_4.iso.sha512sum came out fine.

Did this
sudo mkfs.ntfs /dev/sdb1

Then cd into Downloads and did this
sudo dd if=EndeavourOS_Atlantis-21_4.iso of=/dev/sdb bs=1M status=progress

I reboot but it’s NOT picking up the USB?!
Am stumped. Probably something simple I am overlooking.

I recommend using Ventoy or something similar to simplify the handling of ISOs:

It’s a live saver for people who like to test a lot of distros :wink:

Also, I’ve had some unbootable USB keys, and some computers that could boot on one USB port but not another… so it’s not always an exact science


as an aside your mkfs.ntfs /dev/sdb1 is useless since you overwrite the entire device with dd just after.

As for the rest; did you go to the BIOS to check boot order and everything? BIOS/compatibility mode vs UEFI is also a potential problem.

Yup :+1:

Since I have two SSDs, (one Win, other Lin) I prefer to change the boot order instead of dealing with editing grub. Quick entry into BIOS, select disk and deselect the other, done in 10 seconds :wink:

Available in AUR, nice! Thanks amigo. Will get that done tonight. Let you know how this goes.

What does this have to do with the topic subject? NTFS??? :face_with_head_bandage:

The topic is supposed to request advice for FS conversion and relevant caveats.

Anyway, if you read the basics (Archwiki on relevant questions), ask about anything you don’t understand or confuse you.

On the main question, if it is a good idea to go from ext4 to btrfs,

if you are using your system for professional reasons, I would strongly recommend against BTRFS, for the shake of trustworthiness. I am sure you wouldn’t like to lose your latest work of many hours. In my personal experience, btrfs is not professional grade yet. Strictly personal opinion :man_shrugging:

I always format my USB before use.

Annnd that is why I am on these Community Forums, asking for help on something I don’t understand and confusing me.


I have read through https://btrfs.wiki.kernel.org/index.php/Main_Page and also https://btrfs.wiki.kernel.org/index.php/Production_Users

Development of Btrfs started in 2007. Since that time, Btrfs is a part of the Linux kernel and is under active development.

You’re telling me that I SHOULDN’T use it?!

I git all the things.

Now perhaps you have some useful information to share with me and help me achieve my goal?!


Screenshot 2021-12-13 at 20-53-18 Convert from ext4 to btrfs (yet another post) - Lounge EndeavourOS pub - EndeavourOS

BTW it’s hard to take you seriously when your profile is hidden.

Yeah but, as I pointed out before, it doesn’t make sense in that context, because immediately after, you nuke the whole device with dd; so your partition table and your new ntfs partition go byebye.

Is the goal to check the device for defects? I just checked the man, mkntfs zeroes everything by default, whether mkfs.ext4 doesn’t, so that might make some sense… what that your intention?

1 Like

dd overwrites everything, including the format so it shouldn’t hurt anything but it is also a pointless step.

Either way, I don’t think that has anything to do with your issue.

1 Like

Yeah, it’s pointless… There is no hidden, deep reason behind it. :sweat_smile:

2 Likes

Yes, if you trust my personal opinion, but your workflow and priorities can probably be different from mine. And I am a mysterious random person on the internets :grinning_face_with_smiling_eyes:

Archwiki btrfs article has several warnings about the development state of btrfs. They don’t say “Don’t use it”, as they respect each user’s freedom to take whatever risk they want, providing as many credible info they can.
On this, “active development” means “they have several things to improve (and probably to fix)”. OTOH, ext4 is proven as a golden choice.
The decision is on the user, that’s why I tried to add my own experience, in case you wanted. Disregard it … freely. :grinning_face_with_smiling_eyes:

I am not sure what this means exactly, but make sure you git them on another partition or drive :stuck_out_tongue_winking_eye: .

You are right and I apologize. I started incognito, as I am a secret agent, also known as Agent S! I will change my settings when possible.

On a side note regarding packages installed: is true that pacman -Qe will also list core packages but you can always reinstall use --needed with the generated list so that actually only missing packages are installed. :wink:

ok :confounded: so now i feel dumb, i guess it’s just an old habit? Back in my Windows Days i would format a USB before writing to it :+1:

I feel like such a dope!