How do I easily/reliably move data from my boot to a newly installed HDD?


Kernel: 5.18.6-zen1-1-zen arch: x86_64 bits: 64 compiler: gcc v: 12.1.0
parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-zen
root=UUID=f804392e-73e1-4ffc-a1db-992c2a164db7 rw [email protected]
quiet quiet splash rd.udev.log_priority=3 vt.global_cursor_default=0
Desktop: KDE Plasma v: 5.25.1 tk: Qt v: 5.15.5 info: latte-dock
wm: kwin_x11 vt: 1 dm: SDDM Distro: Garuda Linux base: Arch Linux
Type: Desktop System: Hewlett-Packard product: p7-1037c v: N/A
serial: <superuser required> Chassis: type: 3 serial: <superuser required>
Mobo: FOXCONN model: 2AB1 v: 1.00 serial: <superuser required>
BIOS: American Megatrends v: 6.07 date: 05/04/2011
Info: model: AMD Athlon II X4 645 bits: 64 type: MCP arch: K10
built: 2007-14 process: AMD 32-65nm family: 0x10 (16) model-id: 5
stepping: 3 microcode: 0x10000C8
Topology: cpus: 1x cores: 4 smt: <unsupported> cache: L1: 512 KiB
desc: d-4x64 KiB; i-4x64 KiB L2: 2 MiB desc: 4x512 KiB
Speed (MHz): avg: 3100 min/max: 800/3100 boost: disabled scaling:
driver: acpi-cpufreq governor: performance cores: 1: 3100 2: 3100 3: 3100
4: 3100 bogomips: 24801
Flags: ht lm nx pae sse sse2 sse3 sse4a svm
Type: itlb_multihit status: Not affected
Type: l1tf status: Not affected
Type: mds status: Not affected
Type: meltdown status: Not affected
Type: mmio_stale_data status: Not affected
Type: spec_store_bypass status: Not affected
Type: spectre_v1
mitigation: usercopy/swapgs barriers and __user pointer sanitization
Type: spectre_v2 mitigation: Retpolines, STIBP: disabled, RSB filling
Type: srbds status: Not affected
Type: tsx_async_abort status: Not affected
Device-1: AMD Cape Verde PRO / Venus LE Tropo PRO-L [Radeon HD 8830M R7 250
vendor: Hewlett-Packard driver: radeon v: kernel alternate: amdgpu
arch: GCN 1 process: TSMC 28nm built: 2011-20 pcie: gen: 2 speed: 5 GT/s
lanes: 16 link-max: gen: 3 speed: 8 GT/s ports: active: DVI-I-1
empty: DP-1,DP-2 bus-ID: 01:00.0 chip-ID: 1002:682b class-ID: 0300
Display: x11 server: X.Org v: 21.1.3 with: Xwayland v: 22.1.2
compositor: kwin_x11 driver: X: loaded: radeon unloaded: modesetting
alternate: fbdev,vesa gpu: radeon display-ID: :0 screens: 1
Screen-1: 0 s-res: 1366x768 s-dpi: 96 s-size: 361x203mm (14.21x7.99")
s-diag: 414mm (16.31")
Monitor-1: DVI-I-1 mapped: DVI-0 model: HP w1858 serial: <filter>
built: 2009 res: 1366x768 hz: 60 dpi: 84 gamma: 1.2
size: 413x234mm (16.26x9.21") diag: 475mm (18.7") ratio: 16:9 modes:
max: 1366x768 min: 720x400
OpenGL: renderer: AMD VERDE (LLVM 13.0.1 DRM 2.50 5.18.6-zen1-1-zen)
v: 4.5 Mesa 22.1.2 direct render: Yes
Device-1: AMD SBx00 Azalia vendor: Hewlett-Packard driver: snd_hda_intel
v: kernel bus-ID: 00:14.2 chip-ID: 1002:4383 class-ID: 0403
Device-2: AMD Oland/Hainan/Cape Verde/Pitcairn HDMI Audio [Radeon HD 7000
vendor: Hewlett-Packard driver: snd_hda_intel v: kernel pcie: gen: 2
speed: 5 GT/s lanes: 16 link-max: gen: 3 speed: 8 GT/s bus-ID: 01:00.1
chip-ID: 1002:aab0 class-ID: 0403
Sound Server-1: ALSA v: k5.18.6-zen1-1-zen running: yes
Sound Server-2: PulseAudio v: 16.1 running: no
Sound Server-3: PipeWire v: 0.3.52 running: yes
Device-1: Intel Wi-Fi 6 AX200 driver: iwlwifi v: kernel pcie: gen: 1
speed: 2.5 GT/s lanes: 1 link-max: gen: 2 speed: 5 GT/s bus-ID: 02:00.0
chip-ID: 8086:2723 class-ID: 0280
IF: wlp2s0 state: up mac: <filter>
Device-2: Realtek RTL810xE PCI Express Fast Ethernet
vendor: Hewlett-Packard Pavilion p6774 driver: r8169 v: kernel pcie: gen: 1
speed: 2.5 GT/s lanes: 1 port: e800 bus-ID: 03:00.0 chip-ID: 10ec:8136
class-ID: 0200
IF: enp3s0 state: down mac: <filter>
Device-1: Intel AX200 Bluetooth type: USB driver: btusb v: 0.8
bus-ID: 4-2:3 chip-ID: 8087:0029 class-ID: e001
Report: bt-adapter ID: hci0 rfk-id: 0 state: up address: <filter>
Local Storage: total: 704.24 GiB used: 53.48 GiB (7.6%)
SMART Message: Unable to run smartctl. Root privileges required.
ID-1: /dev/sda maj-min: 8:0 vendor: Seagate model: ST500DM002-1BD142
size: 465.76 GiB block-size: physical: 4096 B logical: 512 B
speed: 3.0 Gb/s type: HDD rpm: 7200 serial: <filter> rev: HP74
scheme: MBR
ID-2: /dev/sdb maj-min: 8:16 vendor: Micron
model: MTFDDAK256MAY-1AH12ABHA size: 238.47 GiB block-size:
physical: 4096 B logical: 512 B speed: 3.0 Gb/s type: SSD
serial: <filter> rev: M5T4 scheme: MBR
ID-1: / raw-size: 238.47 GiB size: 238.47 GiB (100.00%)
used: 53.48 GiB (22.4%) fs: btrfs dev: /dev/sdb1 maj-min: 8:17
ID-2: /home raw-size: 238.47 GiB size: 238.47 GiB (100.00%)
used: 53.48 GiB (22.4%) fs: btrfs dev: /dev/sdb1 maj-min: 8:17
ID-3: /var/log raw-size: 238.47 GiB size: 238.47 GiB (100.00%)
used: 53.48 GiB (22.4%) fs: btrfs dev: /dev/sdb1 maj-min: 8:17
ID-4: /var/tmp raw-size: 238.47 GiB size: 238.47 GiB (100.00%)
used: 53.48 GiB (22.4%) fs: btrfs dev: /dev/sdb1 maj-min: 8:17
Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default)
ID-1: swap-1 type: zram size: 7.76 GiB used: 768 KiB (0.0%) priority: 100
dev: /dev/zram0
System Temperatures: cpu: 29.5 C mobo: N/A gpu: radeon temp: 48.0 C
Fan Speeds (RPM): N/A
Processes: 212 Uptime: 46m wakeups: 0 Memory: 7.76 GiB
used: 1.83 GiB (23.6%) Init: systemd v: 251 default: graphical
tool: systemctl Compilers: gcc: 12.1.0 Packages: pacman: 1432 lib: 332
Shell: fish v: 3.4.1 default: Bash v: 5.1.16 running-in: konsole
inxi: 3.3.19
Garuda (2.6.4-2):
System install date:     2022-06-23
Last full system update: 2022-06-26
Is partially upgraded:   No
Relevant software:       NetworkManager
Windows dual boot:       <superuser required>
Snapshots:               Snapper
Failed units:

So I'm sort of a Linux newbie, I know basic BASH commands [even those I forget half the time and need to look it up.] So I am undergoing a project where I'm turning an old HP into a network attached storage. Really my base needs are covered software wise, Syncthing for file sharing is mostly what I'm using at the moment. As well as Syncthing I'm also using Krfb/VNC APIs to remote in using RealVNC from my primary Windows gaming machine.

I looked at LOTS of Linux distros, the "just works" kind; Mint, Manjaro, Ubuntu, but I settled on Garuda "Talon" KDE Dragonized edition. Now mostly I LOVE Garuda, how it looks, how it feels, the customization you get at your fingertips, it's amazing, HOWEVER, I've hit a roadblock in my project. I can't for the damn life of me figure out how the file system exactly works in Arch/Garuda. Like I said, I know basic BASH commands. I know how to use a terminal to change directory, mkdir, touch, ect. All the noob stuffs that I thought would help me with this, doesn't look like it.

Since this is my NAS machine. I NEED to be able to put stuff on mass storage drives I install into the machine. I just added a 2TB NAS grade WD HDD to the machine, and I can use GParted to format the disk and have it pick up as an actual drive. However the problems arise when I need to actually move files on to that newly formatted but blank HDD. I think how Arch/Garuda paths out new drives is what is really confusing me here. See the Windows NTFS system is extremely simple in this regard which might be my issue. Want to navigate towards a newly formatted, installed drive on Windows? Say it's the 'F' drive. Simply enter "name of PC"/F/ and that's literally it

Garuda/Arch seems far more complex and all I really want to do is reliably create new folders and copy/move files from the 250GB boot SSD over to the HDD. Thanks in advance for helping this Linux noob out, I know what I'm asking is probably the most basic of stuff for a veteran user. I've looked this up and I couldn't find anything on it really, probably something extremely simple I'm overlooking.

EDIT: I had NO CLUE Linux supported NTFS, as my drives in the linux machine has to be able to share with Windows PCs in a bidirectional manner. I had no clue you can't make folders [at least KDE/Dolphin wouldn't let me.] the normal way while using Ext4, but once reformatted to NTFS I can create directories and move files at will. Issue solved but as always thanks for being willing to take time out to give me suggestions!

Welcome to the Forum! :smiley:

It's not how Garuda does it but how Linux does it.
I am totally positive there are tutorials on Youtube for people adding a NAS, formatting, mounting and using it.
The very high advantage of seeing it on Youtube is you actually, well, "see" the guy doing it step by step.

EDIT: My understanding is you want to know how to setup a NAS in Linux.

1 Like

Yes. I've read various tutorials, I already have Docker set up, as well as Syncthing and remote ability with VNC. I just didn't fully understand Linux's file systems, now knowing that Linux supports NTFS that's what I'm sticking to since files have to be supported on both Linux and Windows.

You need to chown a Linux ext4 drive to be able to create directories and copy files onto it.

man chown


Thank you for that info! I formatted it as NTFS as files & folders need to be cross compatible between my Windows machines and the Linux NAS. I didn't know Linux supported NTFS til about 30 minutes ago, it fixed my entire issue lol.

Unless you use special flags for mounting NTFS drives, I wouldn't exactly consider things fixed. NTFS drives are prone to corruption unless you use the windows_names option in fstab.

man fstab


So I read the manual in the terminal, as well as googled it and what all that means. Still not sure I fully get it, Windows hates some file/directory names Linux uses due to Linux using a larger lib of characters right?

Uh, looks like I got to learn how to use fstab, oh boy. You wouldn't happen to know it's commands off hand would you? If not I'll manage, thanks!

I no longer use NTFS. However, if you search the forum you will find many examples of the correct generic NTFS load line to use in fstab.

Windows has a much longer list of restricted characters. Even one misnamed file could potentially render a drive corrupt and unreadable. NTFS & Windows naming conventions are far more restrictive than Linux.


This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.