Skip to content

# Understanding Mounting, File Systems, and Choosing Between EXT4 vs NTFS

Before we connect our drives and get everything ready, it’s important to understand what mounting is, what a file system is, and why we choose either EXT4 or NTFS depending on how you'll use your storage.

This page explains these concepts in simple terms so beginners can follow with confidence.

## 🧩 What Does “Mounting” Mean?

On Linux, storage devices like HDDs, SSDs, or USB drives don’t automatically appear as folders when plugged in.
Instead, the operating system attaches or mounts them to a folder—meaning:

Mounting = attaching a drive to a folder in the filesystem

For example:

Text Only

    Device: /dev/sda1
    Mounted at: /mnt/omnissiah-vault

Once mounted:

- The drive is accessible through that folder path
- Applications can read/write files there
- You can organize your media, downloads, and settings

If the drive isn’t mounted, Linux can see the hardware but won’t be able to access the data stored on it.

## 📘 Why We Use `/mnt/…`

Linux organizes storage under specific folders:

Path | Purpose
--- | ---
`/home` | User’s personal files
`/root` | Root user’s files
`/etc` | System configuration files
`/mnt` | External drives mounted by the user

We typically mount drives in `/mnt` to keep things organized, for example:

Text Only

    /mnt/omnissiah-vault

This makes it clear that the drive is external storage, not part of the system root.

## 🔧 What Is a File System?

A file system determines how data is organized on a drive.

It controls:

- How files are stored
- How permissions work
- How large files can be
- How reliable and fast the storage is

Two major file systems matter for media management:

# 🆚 EXT4 vs NTFS — Which Should You Use?

Below is a simple, clear comparison.

Feature | EXT4 (Linux Native) | NTFS (Windows Native)
--- | --- | ---
Best OS support | Linux | Windows
Performance on Linux | ⭐⭐⭐⭐ Fast | ⭐ Slow (requires NTFS-3G driver)
Supports Linux permissions (chmod, chown) | ✔ Yes | ❌ No (emulated)
Good for Plex & ARR stack | ✔ Best choice | ✔ Works but slower
Reliability | ⭐⭐⭐⭐⭐ Excellent | ⭐⭐⭐ Good
4K/large drive support | ✔ Yes | ✔ Yes
Automatic mounting | Easy | Slightly more complex
Ideal use case | Permanent Linux storage | External drive shared with Windows

### ✔ Choose EXT4 if the drive stays connected to your Raspberry Pi/Linux system.

This is the recommended choice for media servers, Plex, and qBittorrent because:

- It’s faster
- Uses native permissions
- More stable
- Less CPU overhead
- Easier integration with Docker

### ✔ Choose NTFS only if the drive must also be used on Windows.

For example:

- You physically unplug the drive and connect it to a Windows PC
- You want to browse the media on Windows without a network share

## 🪟 Accessing an EXT4 Drive on Windows?

EXT4 cannot be read by Windows natively.

However, this is not a problem, because:

### You will access your media over the network using Samba (SMB).

This means:

- You keep the performance, safety, and permissions of EXT4
- Windows PCs can still browse the media like a shared network drive

We will configure Samba later in an optional section:

👉 “Accessing Your Media from Windows (Samba Setup)”

## 📥 Choose Your Mounting Ritual

Below are two scripts — pick one based on your file system choice.

### 🟦 EXT4 Mounting Ritual (Recommended)

Download:
👉 bind-machine-spirits-ext4.sh

(Use this if your drive is formatted as EXT4 and stays connected permanently.)

### 🟨 NTFS Mounting Ritual (Legacy/Optional)

Download:
👉 bind-machine-spirits-ntfs.sh

(Use this only if your drive must work on both Linux and Windows without Samba.)

## 🧭 What Happens Next?

Once you choose your file system and run the ritual script:

1. Your mount point will be created
2. `/etc/fstab` will be updated for automatic mounting
3. The drive will appear under `/mnt/omnissiah-vault`
4. Subdirectories (movies, tv-shows, downloads, etc.) will be generated

## ➡️ Next Step: Install Docker

Proceed to the Install Docker step to prepare docker for media management. Go to 👉 Install Docker