diff --git a/src/core/file_sys/archive_extsavedata.cpp b/src/core/file_sys/archive_extsavedata.cpp
index 5de2aae4398e0ea0ae3890610e81c25399bdec9c..50ca878e292c6c7095e209bf759c9348edd551d1 100644
--- a/src/core/file_sys/archive_extsavedata.cpp
+++ b/src/core/file_sys/archive_extsavedata.cpp
@@ -27,9 +27,10 @@ static std::string GetExtSaveDataPath(const std::string& mount_point, const Path
 
 static std::string GetExtDataContainerPath(const std::string& mount_point, bool shared) {
     if (shared)
-        return Common::StringFromFormat("%sdata/%32x/extdata/", mount_point.c_str(), ID0);
+        return Common::StringFromFormat("%sdata/%s/extdata/", mount_point.c_str(), SYSTEM_ID.c_str());
     
-    return Common::StringFromFormat("%sNintendo 3DS/%32x/%32x/extdata/", mount_point.c_str(), ID0, ID1);
+    return Common::StringFromFormat("%sNintendo 3DS/%s/%s/extdata/", mount_point.c_str(), 
+            SYSTEM_ID.c_str(), SDCARD_ID.c_str());
 }
 
 Archive_ExtSaveData::Archive_ExtSaveData(const std::string& mount_location, bool shared)
diff --git a/src/core/file_sys/archive_savedata.cpp b/src/core/file_sys/archive_savedata.cpp
index f189692fa89341d3a5060c45d675aa879d4aaca0..ecce7c1053932049c33f831818fc6610b4c74d8d 100644
--- a/src/core/file_sys/archive_savedata.cpp
+++ b/src/core/file_sys/archive_savedata.cpp
@@ -18,7 +18,8 @@
 namespace FileSys {
 
 static std::string GetSaveDataContainerPath(const std::string& mount_point) {
-    return Common::StringFromFormat("%sNintendo 3DS/%32x/%32x/title/", mount_point.c_str(), ID0, ID1);
+    return Common::StringFromFormat("%sNintendo 3DS/%s/%s/title/", mount_point.c_str(), 
+            SYSTEM_ID.c_str(), SDCARD_ID.c_str());
 }
 
 static std::string GetSaveDataPath(const std::string& mount_point, u64 program_id) {
diff --git a/src/core/file_sys/archive_savedatacheck.cpp b/src/core/file_sys/archive_savedatacheck.cpp
index dcd563773c212754035abe17b0a2a13f2affbc68..6f45d13dd2a3b2076553d8e16c140dcda47a8850 100644
--- a/src/core/file_sys/archive_savedatacheck.cpp
+++ b/src/core/file_sys/archive_savedatacheck.cpp
@@ -13,7 +13,7 @@
 namespace FileSys {
 
 static std::string GetSaveDataCheckContainerPath(const std::string& mount_point) {
-    return Common::StringFromFormat("%stitle/", mount_point.c_str(), ID0);
+    return Common::StringFromFormat("%s%s/title", mount_point.c_str(), SYSTEM_ID.c_str());
 }
 
 static std::string GetSaveDataCheckPath(const std::string& mount_point, u32 high, u32 low) {
diff --git a/src/core/file_sys/archive_systemsavedata.cpp b/src/core/file_sys/archive_systemsavedata.cpp
index 615f50e20d576f4d5369d6b7f274dbc71f95f112..c2a5d641a8e7af99bb12b77ab3d689a88d94f774 100644
--- a/src/core/file_sys/archive_systemsavedata.cpp
+++ b/src/core/file_sys/archive_systemsavedata.cpp
@@ -24,7 +24,7 @@ static std::string GetSystemSaveDataPath(const std::string& mount_point, u64 sav
 }
 
 static std::string GetSystemSaveDataContainerPath(const std::string& mount_point) {
-    return Common::StringFromFormat("%sdata/%32x/sysdata/", mount_point.c_str(), ID0);
+    return Common::StringFromFormat("%sdata/%s/sysdata/", mount_point.c_str(), SYSTEM_ID.c_str());
 }
 
 Archive_SystemSaveData::Archive_SystemSaveData(const std::string& mount_point, u64 save_id)
diff --git a/src/core/hle/service/fs/archive.cpp b/src/core/hle/service/fs/archive.cpp
index f332d6f1f688479c30b2cc1963fc1d88ab153143..e627f1d64e1260090a8662ed63d7eb55269c8137 100644
--- a/src/core/hle/service/fs/archive.cpp
+++ b/src/core/hle/service/fs/archive.cpp
@@ -36,8 +36,8 @@ namespace std {
     };
 }
 
-const u32 SYSTEM_ID = 0;
-const u32 SDCARD_ID = 0;
+const std::string SYSTEM_ID = "00000000000000000000000000000000";
+const std::string SDCARD_ID = "00000000000000000000000000000000";
 
 namespace Service {
 namespace FS {
diff --git a/src/core/hle/service/fs/archive.h b/src/core/hle/service/fs/archive.h
index f91a3d5f441479877f019ac5cb49e0841b621ae9..b3f2134f2d0a93c8efd8e075a7d0959bdce0a434 100644
--- a/src/core/hle/service/fs/archive.h
+++ b/src/core/hle/service/fs/archive.h
@@ -11,9 +11,9 @@
 #include "core/hle/result.h"
 
 /// The unique system identifier hash, also known as ID0
-extern const u32 SYSTEM_ID;
+extern const std::string SYSTEM_ID;
 /// The scrambled SD card CID, also known as ID1
-extern const u32 SDCARD_ID;
+extern const std::string SDCARD_ID;
 
 namespace Service {
 namespace FS {