Migrating from Windows to Linux. Need guidance on mounting NTFS on Linux

I previously had Plex Media Server on Windows 10 computer. I erased the OS disk and installed Proxmox for homelab purposes. I am trying to my server on Linux up and running but not sure how to best mount the NTFS drives with media in it.

I used this guide to do PCIe passthrough and install PMS on Ubuntu Server 24.04.1:

echo deb https://downloads.plex.tv/repo/deb public main | sudo tee /etc/apt/sources.list.d/plexmediaserver.list

curl https://downloads.plex.tv/plex-keys/PlexSign.key | sudo apt-key add -

sudo apt update

sudo apt install plexmediaserver

In Proxmox Host, I am passing the entire drives to the Ubuntu VM and can see them via lsblk.

I installed ntfs-3g on the VM.
I then created /mnt/plex using sudo mkdir /mnt/plex. ls -ld shows ownership of the directory as root.

I am not really sure what options and permissions I need to give to mount command to temporarily mount the drive and what to put in /etc/fstab for mount to survive reboot. I can get UUID from blkid output but what about the rest of line?

Two objectives: 1) Plex Media Server should be able to play the media, and I should be able to delete media from the web console of PMS. That would probably require the plex user to have read write privileges ?

  1. I want my own user to be able to write to the drive to upload new content.

Player Version#: Version 1.107.1.293-575aed08 on a Windows 11 machine for testing.

I’m sure @ChuckPa will hop on to provide some guidance, but in the meantime have a look at their Tips & Tricks article addressing this question:

It doesn’t discuss passing through hard disks to a VM guest, but it does address how to mount foreign disks in Linux using static mounts.

# Mount Chuck-2T (NTFS) at /disks/chuck2t for Plex
UUID=56EA5848EA582691                     /disks/chuck2t ntfs  defaults,auto,rw,nofail 0 1

I wonder if this allows only my user rw privileges or plex user or both?

Please read the entire how-to

You will see where the mount point directories have permissions which allow Plex to read (755)

NTFS only suports 777 permissions

In my example, I show the name of the directory to use which is independent of the username

Please also note there is no username= referenced in the /etc/fstab entry.
The means root will perform the mount, control the mount.

You only need to :

  1. `sudo mkdir /some/path (as long as it’s not a reserved path
  2. Make your linux username the owner
    sudo chown myusername:myusernane /some /some/path
  3. now test the mount
  4. fix errors

To show you a working example, while these are XFS, they work with NTFS
(you don’t need the NTFS-3g in most cases)

These are SSDs in USB enclosures

# SATA
UUID=a44499a2-abc5-4dd4-a1fa-7b7a4cd1ae3d                      /sata      xfs     defaults,auto,noatime    0   3

# USB
UUID=3995eb4f-032a-47bc-86a7-55489ff9e6c5                      /usb       xfs     defaults,auto,noatime    0   4

Thanks. plex user can read and write to the mounted drive now. In the tutorial you linked there is a section about systemd. Ubuntu 24 server is systemd based and many Linux distros have been systemd based for a while now. Do I need to do anything regarding that part? What’s the purpose of this section?

Customizing your Plex configuration on systemd based systems

The post you should read is post #2.
Post #3 refers to customizing the config

Post #2 title: Using other hard drives (Windows or Linux) with PMS

Yeah I understand. I read Post #2 and got NTFS drives mounted. What does customizing the config mean practically?. That’s what I am trying to understand and especially it refers to systemd Linux distros which I have.

Ah, my apologies

Yes, as of Ubuntu 16, systemd became the standard.
There are still systems out there which use init.d .

The FAQ / Linux Tips speaks to both control mechanisms

The DEB and RPM installer still supports init.d installations even though init.d
usage is quickly fading away.

Example:

  • Synology uses their version of systemd for host control
  • QNAP still uses init.d

So in my case of Ubuntu Server 24.04.1, I can start and stop the plexmediaserver.service using systemctl command. Do I need to make any modifications that are in Post#3 customizing the config?

  1. Starting and stopping PMS on Ubuntu →
    systemctl start/stop plexmediaserver
  • You can make a symlink to make life easier if you want.
sudo bash
cd /lib/systemd/system
ln -s plexmediaserver.service plex.service
systemctl daemon-reload
  • now you can use systemctl start/stop plex :wink:
  1. If you want to change the runtime username or the location of the metadata
    (/var/lib is very small on some machines), you would create something like this which uses the systemd override.conf file.
[chuck@lizum shared.2051]$ cd /etc/systemd/system/plexmediaserver.service.d/
[chuck@lizum plexmediaserver.service.d.2052]$ cat override.conf 
[Service]
Environment="PLEX_MEDIA_SERVER_APPLICATION_SUPPORT_DIR=/usb/plex"
User=chuck
Group=chuck
[chuck@lizum plexmediaserver.service.d.2053]$ 

On this machine, PMS runs as my username with metadata on the /usb/plex filesystem (/usb is actually a USB 3.2 type C - NVMe SSD in a portable carrier)

What the symlink looks like in use.

[chuck@lizum ~.2054]$ sudo systemctl status plex
● plexmediaserver.service - Plex Media Server
     Loaded: loaded (/lib/systemd/system/plexmediaserver.service; disabled; vendor preset: enabled)
    Drop-In: /etc/systemd/system/plexmediaserver.service.d
             └─override.conf
     Active: active (running) since Sun 2025-01-26 21:34:05 EST; 2 days ago
   Main PID: 33574 (Plex Media Serv)
      Tasks: 75 (limit: 76549)
     Memory: 30.8G
        CPU: 1h 46min 45.261s
     CGroup: /system.slice/plexmediaserver.service
             ├─ 33574 "/usr/lib/plexmediaserver/Plex Media Server"
             ├─ 33606 "Plex Plug-in [com.plexapp.system]" /usr/lib/plexmediaserver/Resources/Plug-ins-a0bfb8370/Framework.bundle/Contents/Resources/Versions/2/Python/bootstrap.py --server-version 1.41.3.9314-a0bfb>
             ├─ 33646 "/usr/lib/plexmediaserver/Plex Tuner Service" /usr/lib/plexmediaserver/Resources/Tuner/Private /usr/lib/plexmediaserver/Resources/Tuner/Shared 1.41.3.9314-a0bfb8370 32600
             └─134144 "Plex EAE Service"

Jan 26 21:34:05 lizum systemd[1]: Starting Plex Media Server...
Jan 26 21:34:05 lizum systemd[1]: Started Plex Media Server.
Jan 27 11:55:34 lizum Plex Media Server[134144]: Dolby, Dolby Digital, Dolby Digital Plus, Dolby TrueHD and the double D symbol are trademarks of Dolby Laboratories.
lines 1-18/18 (END)

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