Jellyfin Forum
Moving libraries to a different disk - Printable Version

+- Jellyfin Forum (https://forum.jellyfin.org)
+-- Forum: Support (https://forum.jellyfin.org/f-support)
+--- Forum: General Questions (https://forum.jellyfin.org/f-general-questions)
+--- Thread: Moving libraries to a different disk (/t-moving-libraries-to-a-different-disk)

Pages: 1 2


RE: Moving libraries to a different disk - TheDreadPirate - 2024-11-23

Did you create a NEW library with the new paths? Or did you add the new paths to the EXISTING library? If I was not clear in my directions, you should be adding the new path to the EXISTING library. Libraries can have more than one folder in them.


RE: Moving libraries to a different disk - jellyfin - 2024-11-23

It starts up fine, but rescanning does doubles the movies.
Very strange.


RE: Moving libraries to a different disk - jellyfin - 2024-11-23

(2024-11-23, 04:26 PM)TheDreadPirate Wrote: Did you create a NEW library with the new paths?  Or did you add the new paths to the EXISTING library?  If I was not clear in my directions, you should be adding the new path to the EXISTING library.  Libraries can have more than one folder in them.

Oh.
No.
I did not get this.
I was adding new folders as new libraries ...

Thanks a again, I will retry :-)


RE: Moving libraries to a different disk - jellyfin - 2024-11-23

(2024-11-23, 04:26 PM)TheDreadPirate Wrote: Did you create a NEW library with the new paths?  Or did you add the new paths to the EXISTING library?  If I was not clear in my directions, you should be adding the new path to the EXISTING library.  Libraries can have more than one folder in them.

OMG, it worked!

:-)
:-)
:-)

Here, also all movies were doubled after the scanning, but removing the original (and empty) Library folders cleaned that up!

I am up and running on the new disk!

I am very grateful :-)


RE: Moving libraries to a different disk - jellyfin - 2024-11-24

(2024-11-23, 07:15 PM)jellyfin Wrote:
(2024-11-23, 04:26 PM)TheDreadPirate Wrote: Did you create a NEW library with the new paths?  Or did you add the new paths to the EXISTING library?  If I was not clear in my directions, you should be adding the new path to the EXISTING library.  Libraries can have more than one folder in them.

OMG, it worked!

:-)
:-)
:-)

Here, also all movies were doubled after the scanning, but removing the original (and empty) Library folders cleaned that up!

I am up and running on the new disk!

I am very grateful :-)

I was a bit in hurry and didn't check enough movies...

Now I see that metadata is still broken, see screenshot.

   

Sadly, I am fully moved now and added more movies and stuff.

I am forced to redo everything: Identify movies and shows, give them better names.
I very much hate this.

A migration really should not be impossible like it is now.
I even wanted to try Plex, but I cannot even try the software without creating an account. And don't use software that requires an account creation, so that is out too.


RE: Moving libraries to a different disk - TheDreadPirate - 2024-11-24

Is this a mixed library?


RE: Moving libraries to a different disk - jellyfin - 2024-11-24

(2024-11-24, 01:36 AM)TheDreadPirate Wrote: Is this a mixed library?

I have two separate Movie, one Show, one Home video and now one Music video Library.

I only configured lots of detail in one of the Movie Libraries.

Don't worry anymore, I will try around a bit more ...
Thanks for you help!

This is something only the developers could do and it seems they have no interests in migrations to new storage, which is irritating.
But it is as it is.


RE: Moving libraries to a different disk - jellyfin - 2024-11-24

I now also tried https://github.com/jellyfin/jellyfin/discussions/6924 with the given SQlite commands, but I still get all movies doubled, and the new entries are clearly from a fresh scan, as they have no changes done by me to the metadata and often point to a wrong movie, title or image.

I am short before giving up.

It is like the developers tried really hard to make migrations impossible!
But they implemented an easy way to change the location for the Jellyfin configuration itself ..

Unbelievable.


RE: Moving libraries to a different disk - jellyfin - 2024-11-24

I found out more!

Code:
sqlite> SELECT Name,Path,HEX(guid) as guid,HEX(ParentId) as parentid,TopParentId,PresentationUniqueKey,UserDataKey FROM typedbaseitems WHERE hex(ParentId) = (SELECT hex(guid) FROM typedbaseitems WHERE type = 'MediaBrowser.Controller.Entities.AggregateFolder') ORDER BY Name ;

INTERNET|/Volumes/XTRMQ/MEDIA/INTERNET|F17B5FB1A7A65125BCFF69C95D57F289|37AA7CF214E52522CCEDED48F6553502|b15f7bf1a6a72551bcff69c95d57f289|b15f7bf1a6a72551bcff69c95d57f289|b15f7bf1-a6a7-2551-bcff-69c95d57f289
INTERNET|/Volumes/XTRMQ/MEDIA/INTERNET|E7624A7F08ADAD3B05693ACDAC81F61A|37AA7CF214E52522CCEDED48F6553502|7f4a62e7ad083bad05693acdac81f61a|7f4a62e7ad083bad05693acdac81f61a|7f4a62e7-ad08-3bad-0569-3acdac81f61a

MOVIES|/Volumes/XTRMQ/MEDIA/MOVIES|BDFFC07943EEECE12ABC61E3FADDF700|37AA7CF214E52522CCEDED48F6553502|79c0ffbdee43e1ec2abc61e3faddf700|79c0ffbdee43e1ec2abc61e3faddf700|79c0ffbd-ee43-e1ec-2abc-61e3faddf700
MOVIES|/Volumes/XTRMQ/MEDIA/MOVIES|E6026DCC3C642CEB1C17AB4A881FE7DA|37AA7CF214E52522CCEDED48F6553502|cc6d02e6643ceb2c1c17ab4a881fe7da|cc6d02e6643ceb2c1c17ab4a881fe7da|cc6d02e6-643c-eb2c-1c17-ab4a881fe7da

PRIVATE|/Volumes/XTRMQ/MEDIA/PRIVATE|A6EC99ABFD114741DCAB49F0D087A2C9|37AA7CF214E52522CCEDED48F6553502|ab99eca611fd4147dcab49f0d087a2c9|ab99eca611fd4147dcab49f0d087a2c9|ab99eca6-11fd-4147-dcab-49f0d087a2c9
PRIVATE|/Volumes/XTRMQ/MEDIA/PRIVATE|19EAA92527086AE320FE1AFC3EEFD57D|37AA7CF214E52522CCEDED48F6553502|25a9ea190827e36a20fe1afc3eefd57d|25a9ea190827e36a20fe1afc3eefd57d|25a9ea19-0827-e36a-20fe-1afc3eefd57d

SERIES|/Volumes/XTRMQ/MEDIA/SERIES|EAB3D01034C1B9E26F88B0336B3D681C|37AA7CF214E52522CCEDED48F6553502|10d0b3eac134e2b96f88b0336b3d681c|10d0b3eac134e2b96f88b0336b3d681c|10d0b3ea-c134-e2b9-6f88-b0336b3d681c
SERIES|/Volumes/XTRMQ/MEDIA/SERIES|CB97ECCF0EE8608C61CDAE4EEC30703F|37AA7CF214E52522CCEDED48F6553502|cfec97cbe80e8c6061cdae4eec30703f|cfec97cbe80e8c6061cdae4eec30703f|cfec97cb-e80e-8c60-61cd-ae4eec30703f



This is the root for the doubled entries!

In the link mentioned above, there is a second set of commands for such a migration and here, the problem is mentioned.

Sadly, the given syntax to remove the doubled entries does not work:

Code:
sqlite> UPDATE TypedBaseItems Set ParentId=x'destGUID', TopParentId=x'destTopParentID' WHERE ParentId = x'sourceGUID';
Parse error: unrecognized token: "x'destGUID'"
  UPDATE TypedBaseItems Set ParentId=x'destGUID', TopParentId=x'destTopParentID'
                      error here ---^



RE: Moving libraries to a different disk - huevosolo - 2025-08-01

This thread is a year old, but I found a very easy way to do this for users that run a Linux distro that worked on my first attempt.

1) Make sure that you shutdown your Jellyfin server. Easiest way is to use the command

killall jellyfin

2) Create a copy of your current (old) HDD to the new HDD that you want to use. Make sure you preserve: Time, Permissions, Owner and Group.

I use Grsync, which is a very simple rsync GUI, where you can use these rsync options very easily.
I also just check in Verbose and Show transfer progress, but it's not necessary for the files in anyway.

3) After it is done, unmount and switch the drives.

4) Then you can create a Symlink (Symbolic Link) with the following command:

sudo ln -s "/media/{username}/{name of new drive}" "/media/{username}/{name of old drive}"

This will make it so that everything that tries to access your old drive will instead be redirected by your operating system to fetch the same files from the new drive (assuming of course that the directories and files inside are identical).

An example:

sudo ln -s "/media/user/Ironwolf Pro 8TB" "/media/user/HGST 1TB"

In this example, Ironwolf Pro 8TB is my new drive that I am going to use and the HGST 1TB is the old drive that I want to replace.

5) You can test it out that it works by simply using an ls command for the old drive that is no longer mounted on your system. But it should still list the directories as in this example below because of the Symlink.

ls "/media/user/HGST 1TB"

lost+found Movies Music 'Music Videos' TV

6) If it shows the directories that are now actually on the Ironwolf Pro 8TB drive, then the Symlink has been set up successfully and you can restart the Jellyfin server. I have it installed as a Flatpak.

flatpak run org.jellyfin.JellyfinServer

You should then see in the terminal that the server successfully finds your old drive, despite not being mounted anymore. It's a very easy workaround.