# Fastest copy method

**URL:** <https://forum.endeavouros.com/t/fastest-copy-method/14257>\
**Category:** Lounge\
**Created:** [May 7, 2021, 1:31pm UTC](https://forum.endeavouros.com/t/fastest-copy-method/14257 "2021-05-07T13:31:02Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![keybreak](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/keybreak/32/9257_2.png) [@keybreak](https://forum.endeavouros.com/u/keybreak)\
**Post date:** [May 7, 2021, 1:31pm UTC](https://forum.endeavouros.com/t/fastest-copy-method/14257/1 "2021-05-07T13:31:02Z")

</div>

What is absolute fastest recursive copy method on Linux?  
🏎 🐎  
For something like copy of whole 4 Tb HDD, mixed files

---

<div class="post-metadata">

**Author:** ![dalto](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/dalto/32/5577_2.png) [@dalto](https://forum.endeavouros.com/u/dalto)\
**Post date:** [May 7, 2021, 1:37pm UTC](https://forum.endeavouros.com/t/fastest-copy-method/14257/2 "2021-05-07T13:37:50Z")

</div>

It depends on a lot of factors including how both drives are connected, if the disk is encrypted, the performance of both drives , what the underlying filesystems are, how large the files are and how full the partitions are.

I almost always use `rsync` to copy/move files between devices because it is fast, easy to resume if it fails in the middle and, most importantly, if it is capable of copying almost anything completely and accurately.

On the other hand, if you are cloning an entire partition, it might be faster to `dd` it, especially if you have lots of small files.

---

<div class="post-metadata">

**Author:** ![keybreak](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/keybreak/32/9257_2.png) [@keybreak](https://forum.endeavouros.com/u/keybreak)\
**Post date:** [May 7, 2021, 2:01pm UTC](https://forum.endeavouros.com/t/fastest-copy-method/14257/3 "2021-05-07T14:01:53Z")

</div>

Hmm…Well let’s say something like

- Both HDD drives connected via SATA 3 same motherboard
- Both not ecrypted
- **ext4** is the 👑
- Mixed files from 200 Gb per file, to small text files / pictures etc

* * *

> [@dalto](#):
>
> On the other hand, if you are cloning an entire partition, it might be faster to `dd` it, especially if you have lots of small files.

I’m not feeling safe with dd, if you catch my drift 🤣 But yeah…It’s powerful no doubt.

Let’s stick to `rsync`, i’ve heard good things but have never used it.

Can you please give me an example command of how would i move whole drive recursively to another one (preferably with some feedback like % or ETA, if it doesn’t hurt performance)?

P.S. Oh, and also i wonder how `rsync` goes about symlinks, i’d like them to be just mirrored as same symlinks (not followed / copied as original files, like some tools do)

---

<div class="post-metadata">

**Author:** ![dalto](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/dalto/32/5577_2.png) [@dalto](https://forum.endeavouros.com/u/dalto)\
**Post date:** [May 7, 2021, 2:13pm UTC](https://forum.endeavouros.com/t/fastest-copy-method/14257/4 "2021-05-07T14:13:27Z")

</div>

> [@keybreak](#):
>
> Can you please give me an example command of how would i move whole drive recursively to another one (preferably with some feedback like % or ETA, if it doesn’t hurt performance)?

In general use for backups I use `rsync -avhW source destination`

This produces a good copy preserving the things I care about. You might want to replace `v` with `P` to show progress.

The Arch wiki recommends this for file system cloning

```auto
rsync -qaHAXS SOURCE_DIR DESTINATION_DIR

```

That should copy almost anything exactly. It will even copy things like device files and hard links. This is probably more like what you want. Replacing `q` with `P` or `--progress` should give you some feedback.

---

<div class="post-metadata">

**Author:** ![pebcak](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/pebcak/32/100472_2.png) [@pebcak](https://forum.endeavouros.com/u/pebcak)\
**Post date:** [May 7, 2021, 2:13pm UTC](https://forum.endeavouros.com/t/fastest-copy-method/14257/5 "2021-05-07T14:13:41Z")

</div>

There is always Grsync…oooops, that’s a GUI 🤭

---

<div class="post-metadata">

**Author:** ![keybreak](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/keybreak/32/9257_2.png) [@keybreak](https://forum.endeavouros.com/u/keybreak)\
**Post date:** [May 7, 2021, 2:21pm UTC](https://forum.endeavouros.com/t/fastest-copy-method/14257/6 "2021-05-07T14:21:15Z")

</div>

Thx a lot!

I really appreciate it, since `man rsync` is a real mess, and time is of the essence 🙃  
One more question, what if i want exclude couple of dirs from source?  
Let’s say `./temp ` and `./VM`

P.S. Other suggestions are still welcome, but god forbid NO GUI!!!11 IT’S BLOAT!!! 😱 🙂

---

<div class="post-metadata">

**Author:** ![dalto](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/dalto/32/5577_2.png) [@dalto](https://forum.endeavouros.com/u/dalto)\
**Post date:** [May 7, 2021, 2:23pm UTC](https://forum.endeavouros.com/t/fastest-copy-method/14257/7 "2021-05-07T14:23:25Z")

</div>

> [@keybreak](#):
>
> One more question, what if i want exclude couple of dirs from source?  
> Let’s say `./temp ` and `./VM`

Use `--exclude`. It accepts a pattern and can be added to the command line more than once.

---

<div class="post-metadata">

**Author:** ![freebird54](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/freebird54/32/83106_2.png) [@freebird54](https://forum.endeavouros.com/u/freebird54)\
**Post date:** [May 7, 2021, 2:25pm UTC](https://forum.endeavouros.com/t/fastest-copy-method/14257/8 "2021-05-07T14:25:25Z")

</div>

If you have _ **tldr** _ installed - it has a short form suggestion or 2…

BTW - one of the neat features of rsync is that you can give a ‘trial run’ to make sure you have the command right before launching the final version of the command - and that applies even to the GUI version grsync too 🦆

---

<div class="post-metadata">

**Author:** ![pebcak](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/pebcak/32/100472_2.png) [@pebcak](https://forum.endeavouros.com/u/pebcak)\
**Post date:** [May 7, 2021, 2:26pm UTC](https://forum.endeavouros.com/t/fastest-copy-method/14257/9 "2021-05-07T14:26:21Z")

</div>

Sorry for the /OT/

@dalto, do you know if dd supports btrfs. I tried to clone my system partition the other day and I ended up with a an empty partition on the target disk.

---

<div class="post-metadata">

**Author:** ![dalto](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/dalto/32/5577_2.png) [@dalto](https://forum.endeavouros.com/u/dalto)\
**Post date:** [May 7, 2021, 2:29pm UTC](https://forum.endeavouros.com/t/fastest-copy-method/14257/10 "2021-05-07T14:29:17Z")

</div>

> [@pebcak](#):
>
> do you know if dd supports btrfs.

I have never tried it. I would think if you clone a whole disk, it definitely should work. However, I am not sure where btrfs stores it’s metadata. If you only clone a single partition and that excludes the metadata that might be a problem. Keep in mind, that is just speculation. It should be pretty easy to find that out though.

---

<div class="post-metadata">

**Author:** ![pebcak](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/pebcak/32/100472_2.png) [@pebcak](https://forum.endeavouros.com/u/pebcak)\
**Post date:** [May 7, 2021, 2:32pm UTC](https://forum.endeavouros.com/t/fastest-copy-method/14257/11 "2021-05-07T14:32:35Z")

</div>

> [@dalto](#):
>
> If you only clone a single partition and that excludes the metadata that might be a problem.

This was what I did so it might be that the metadata is stored somewhere else. Thanks for the explanation! I will have to do some research about it to see if I find something.

---

<div class="post-metadata">

**Author:** ![keybreak](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/keybreak/32/9257_2.png) [@keybreak](https://forum.endeavouros.com/u/keybreak)\
**Post date:** [May 7, 2021, 2:45pm UTC](https://forum.endeavouros.com/t/fastest-copy-method/14257/12 "2021-05-07T14:45:32Z")

</div>

> [@freebird54](#):
>
> you can give a ‘trial run’ to make sure you have the command right before launching the final version of the command

Wow, that’s actually pretty cool 🥳

---

<div class="post-metadata">

**Author:** ![keybreak](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/keybreak/32/9257_2.png) [@keybreak](https://forum.endeavouros.com/u/keybreak)\
**Post date:** [May 8, 2021, 8:19am UTC](https://forum.endeavouros.com/t/fastest-copy-method/14257/13 "2021-05-08T08:19:53Z")

</div>

Since you’ve listed it as one of factors - what changes when disk is encrypted?

---

<div class="post-metadata">

**Author:** ![dalto](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/dalto/32/5577_2.png) [@dalto](https://forum.endeavouros.com/u/dalto)\
**Post date:** [May 8, 2021, 11:45am UTC](https://forum.endeavouros.com/t/fastest-copy-method/14257/14 "2021-05-08T11:45:41Z")

</div>

> [@keybreak](#):
>
> what changes when disk is encrypted?

With a method like rsync it won’t make much difference outside of the encryption overhead.

With some disk/partition cloning methods it can make a difference because it often means there is no way to optimize for free space in a partition.

---

<div class="post-metadata">

**Author:** ![LizziAS](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/lizzias/32/11692_2.png) [@LizziAS](https://forum.endeavouros.com/u/LizziAS)\
**Post date:** [May 8, 2021, 2:06pm UTC](https://forum.endeavouros.com/t/fastest-copy-method/14257/15 "2021-05-08T14:06:00Z")

</div>

i use gparted copy and paste one partition from one drive to another. only thing is after the copy you’ll want to change the uuid on the new drive of the just copied partition so as not to confuse your system…

---

<div class="post-metadata">

**Author:** ![keybreak](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/keybreak/32/9257_2.png) [@keybreak](https://forum.endeavouros.com/u/keybreak)\
**Post date:** [May 8, 2021, 2:33pm UTC](https://forum.endeavouros.com/t/fastest-copy-method/14257/16 "2021-05-08T14:33:17Z")

</div>

Sounds more like disk cloning, than copy 🙃

---

<div class="post-metadata">

**Author:** ![LizziAS](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/lizzias/32/11692_2.png) [@LizziAS](https://forum.endeavouros.com/u/LizziAS)\
**Post date:** [May 8, 2021, 4:50pm UTC](https://forum.endeavouros.com/t/fastest-copy-method/14257/17 "2021-05-08T16:50:07Z")

</div>

easy peasy

---

<div class="post-metadata">

**Author:** ![pebcak](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/pebcak/32/100472_2.png) [@pebcak](https://forum.endeavouros.com/u/pebcak)\
**Post date:** [May 8, 2021, 8:42pm UTC](https://forum.endeavouros.com/t/fastest-copy-method/14257/18 "2021-05-08T20:42:32Z")

</div>

> [@LizziAS](#):
>
> change the uuid on the new drive

I might not remember it correctly but I think copy-paste partitions in Gparted would copy the UUID of the source to the target as well.

---

<div class="post-metadata">

**Author:** ![LizziAS](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/lizzias/32/11692_2.png) [@LizziAS](https://forum.endeavouros.com/u/LizziAS)\
**Post date:** [May 8, 2021, 8:57pm UTC](https://forum.endeavouros.com/t/fastest-copy-method/14257/19 "2021-05-08T20:57:55Z")

</div>

Hence the directive to change it after you finish copying.

---

<div class="post-metadata">

**Author:** ![pebcak](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/pebcak/32/100472_2.png) [@pebcak](https://forum.endeavouros.com/u/pebcak)\
**Post date:** [May 8, 2021, 8:58pm UTC](https://forum.endeavouros.com/t/fastest-copy-method/14257/20 "2021-05-08T20:58:15Z")

</div>

Looks like I misread your post!  
😊

[Next page](https://forum.endeavouros.com/t/fastest-copy-method/14257.md?page=2)
