diff --git a/src/borg/helpers.py b/src/borg/helpers.py
index 89b557e5..5d05b3ce 100644
--- a/src/borg/helpers.py
+++ b/src/borg/helpers.py
@@ -1004,10 +1004,17 @@ class Location:
 
     # path must not contain :: (it ends at :: or string end), but may contain single colons.
     # to avoid ambiguities with other regexes, it must also not start with ":" nor with "//" nor with "ssh://".
-    path_re = r"""
+    scp_path_re = r"""
         (?!(:|//|ssh://))                                   # not starting with ":" or // or ssh://
         (?P<path>([^:]|(:(?!:)))+)                          # any chars, but no "::"
         """
+
+    # file_path must not contain :: (it ends at :: or string end), but may contain single colons.
+    # it must start with a / and that slash is part of the path.
+    file_path_re = r"""
+        (?P<path>(([^/]*)/([^:]|(:(?!:)))+))                # start opt. servername, then /, then any chars, but no "::"
+        """
+
     # abs_path must not contain :: (it ends at :: or string end), but may contain single colons.
     # it must start with a / and that slash is part of the path.
     abs_path_re = r"""
@@ -1032,7 +1039,7 @@ class Location:
 
     file_re = re.compile(r"""
         (?P<proto>file)://                                  # file://
-        """ + path_re + optional_archive_re, re.VERBOSE)    # path or path::archive
+        """ + file_path_re + optional_archive_re, re.VERBOSE)  # servername/path, path or path::archive
 
     # note: scp_re is also use for local pathes
     scp_re = re.compile(r"""
@@ -1040,7 +1047,7 @@ class Location:
             """ + optional_user_re + r"""                   # user@  (optional)
             (?P<host>[^:/]+):                               # host: (don't match / in host to disambiguate from file:)
         )?                                                  # user@host: part is optional
-        """ + path_re + optional_archive_re, re.VERBOSE)    # path with optional archive
+        """ + scp_path_re + optional_archive_re, re.VERBOSE)  # path with optional archive
 
     # get the repo from BORG_REPO env and the optional archive from param.
     # if the syntax requires giving REPOSITORY (see "borg mount"),

Borg (cygwin) 1.0.10 don't like smb paths
I know that cygwin is not really supported, but it worked with smb paths with no problems until version 1.0.10. 
I also tested the cygwin version from billyc [https://github.com/borgbackup/borg/issues/440](https://github.com/borgbackup/borg/issues/440)
Same result.

/cygdrive/x/abc still works

> borg list //synology/Backups/My-PC/Borg
> 
> usage: borg list [-h] [--critical] [--error] [--warning] [--info] [--debug]
> [--lock-wait N] [--show-rc] [--no-files-cache] [--umask M]
> [--remote-path PATH] [--short] [--list-format LISTFORMAT]
> [-P PREFIX]
> [REPOSITORY_OR_ARCHIVE]
> 
> borg list: error: argument REPOSITORY_OR_ARCHIVE: Invalid location format: "//synology/Backups/My-PC/Borg"
diff --git a/src/borg/testsuite/helpers.py b/src/borg/testsuite/helpers.py
index 8dca6a39..57bf0175 100644
--- a/src/borg/testsuite/helpers.py
+++ b/src/borg/testsuite/helpers.py
@@ -60,6 +60,11 @@ def test_scp(self, monkeypatch):
         assert repr(Location('user@host:/some/path')) == \
             "Location(proto='ssh', user='user', host='host', port=None, path='/some/path', archive=None)"
 
+    def test_smb(self, monkeypatch):
+        monkeypatch.delenv('BORG_REPO', raising=False)
+        assert repr(Location('file:////server/share/path::archive')) == \
+            "Location(proto='file', user=None, host=None, port=None, path='//server/share/path', archive='archive')"
+
     def test_folder(self, monkeypatch):
         monkeypatch.delenv('BORG_REPO', raising=False)
         assert repr(Location('path::archive')) == \

pip install -e .[fuse]
parse_log_pytest
requirements.txt
pytest pytest-xdist pytest-cov pytest-benchmark
apt-get update apt-get install -y gcc python3-dev libssl-dev libacl1-dev liblz4-dev libfuse-dev fuse pkg-config
3.9
requirements.d/development.txt
pytest --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning
-e git+https://github.com/borgbackup/borg.git@4862efe718797e9fff6ca0dbfa24e8af8491be09#egg=borgbackup
cachetools==5.5.2
chardet==5.2.0
colorama==0.4.6
coverage==7.8.0
Cython==3.0.12
distlib==0.3.9
exceptiongroup==1.2.2
execnet==2.1.1
filelock==3.18.0
iniconfig==2.1.0
llfuse==1.5.1
msgpack-python==0.5.6
packaging==24.2
platformdirs==4.3.7
pluggy==1.5.0
py-cpuinfo==9.0.0
pyproject-api==1.9.0
pytest==8.3.5
pytest-benchmark==5.1.0
pytest-cov==6.0.0
pytest-xdist==3.6.1
tomli==2.2.1
tox==4.25.0
typing_extensions==4.13.0
virtualenv==20.29.3

name: borg
channels:
  - defaults
  - https://repo.anaconda.com/pkgs/main
  - https://repo.anaconda.com/pkgs/r
  - conda-forge
dependencies:
  - _libgcc_mutex=0.1=main
  - _openmp_mutex=5.1=1_gnu
  - ca-certificates=2025.2.25=h06a4308_0
  - ld_impl_linux-64=2.40=h12ee557_0
  - libffi=3.4.4=h6a678d5_1
  - libgcc-ng=11.2.0=h1234567_1
  - libgomp=11.2.0=h1234567_1
  - libstdcxx-ng=11.2.0=h1234567_1
  - ncurses=6.4=h6a678d5_0
  - openssl=3.0.16=h5eee18b_0
  - pip=25.0=py39h06a4308_0
  - python=3.9.21=he870216_1
  - readline=8.2=h5eee18b_0
  - setuptools=75.8.0=py39h06a4308_0
  - sqlite=3.45.3=h5eee18b_0
  - tk=8.6.14=h39e8969_0
  - tzdata=2025a=h04d1e81_0
  - wheel=0.45.1=py39h06a4308_0
  - xz=5.6.4=h5eee18b_1
  - zlib=1.2.13=h5eee18b_1
  - pip:
      - cachetools==5.5.2
      - chardet==5.2.0
      - colorama==0.4.6
      - coverage==7.8.0
      - cython==3.0.12
      - distlib==0.3.9
      - exceptiongroup==1.2.2
      - execnet==2.1.1
      - filelock==3.18.0
      - iniconfig==2.1.0
      - llfuse==1.5.1
      - msgpack-python==0.5.6
      - packaging==24.2
      - platformdirs==4.3.7
      - pluggy==1.5.0
      - py-cpuinfo==9.0.0
      - pyproject-api==1.9.0
      - pytest==8.3.5
      - pytest-benchmark==5.1.0
      - pytest-cov==6.0.0
      - pytest-xdist==3.6.1
      - tomli==2.2.1
      - tox==4.25.0
      - typing-extensions==4.13.0
      - virtualenv==20.29.3
prefix: /opt/conda/envs/borg

src/borg/testsuite/helpers.py::TestLocationWithoutEnv::test_smb
src/borg/testsuite/helpers.py::test_is_slow_msgpack
src/borg/testsuite/helpers.py::test_bin_to_hex src/borg/testsuite/helpers.py::TestLocationWithoutEnv::test_ssh src/borg/testsuite/helpers.py::TestLocationWithoutEnv::test_file src/borg/testsuite/helpers.py::TestLocationWithoutEnv::test_scp src/borg/testsuite/helpers.py::TestLocationWithoutEnv::test_folder src/borg/testsuite/helpers.py::TestLocationWithoutEnv::test_abspath src/borg/testsuite/helpers.py::TestLocationWithoutEnv::test_relpath src/borg/testsuite/helpers.py::TestLocationWithoutEnv::test_with_colons src/borg/testsuite/helpers.py::TestLocationWithoutEnv::test_user_parsing src/borg/testsuite/helpers.py::TestLocationWithoutEnv::test_underspecified src/borg/testsuite/helpers.py::TestLocationWithoutEnv::test_no_slashes src/borg/testsuite/helpers.py::TestLocationWithoutEnv::test_canonical_path src/borg/testsuite/helpers.py::TestLocationWithoutEnv::test_format_path src/borg/testsuite/helpers.py::TestLocationWithoutEnv::test_bad_syntax src/borg/testsuite/helpers.py::TestLocationWithEnv::test_ssh src/borg/testsuite/helpers.py::TestLocationWithEnv::test_file src/borg/testsuite/helpers.py::TestLocationWithEnv::test_scp src/borg/testsuite/helpers.py::TestLocationWithEnv::test_folder src/borg/testsuite/helpers.py::TestLocationWithEnv::test_abspath src/borg/testsuite/helpers.py::TestLocationWithEnv::test_relpath src/borg/testsuite/helpers.py::TestLocationWithEnv::test_with_colons src/borg/testsuite/helpers.py::TestLocationWithEnv::test_no_slashes src/borg/testsuite/helpers.py::FormatTimedeltaTestCase::test src/borg/testsuite/helpers.py::test_patterns_prefix[/-None] src/borg/testsuite/helpers.py::test_patterns_prefix[/./-None] src/borg/testsuite/helpers.py::test_patterns_prefix[-expected2] src/borg/testsuite/helpers.py::test_patterns_prefix[/home/u-expected3] src/borg/testsuite/helpers.py::test_patterns_prefix[/home/user-expected4] src/borg/testsuite/helpers.py::test_patterns_prefix[/etc-expected5] src/borg/testsuite/helpers.py::test_patterns_prefix[///etc//////-expected6] src/borg/testsuite/helpers.py::test_patterns_prefix[/./home//..//home/user2-expected7] src/borg/testsuite/helpers.py::test_patterns_prefix[/srv-expected8] src/borg/testsuite/helpers.py::test_patterns_prefix_relative[-expected0] src/borg/testsuite/helpers.py::test_patterns_prefix_relative[foo-expected1] src/borg/testsuite/helpers.py::test_patterns_prefix_relative[relative-expected2] src/borg/testsuite/helpers.py::test_patterns_prefix_relative[more-expected3] src/borg/testsuite/helpers.py::test_patterns_fnmatch[/*-None] src/borg/testsuite/helpers.py::test_patterns_fnmatch[/./*-None] src/borg/testsuite/helpers.py::test_patterns_fnmatch[*-None] src/borg/testsuite/helpers.py::test_patterns_fnmatch[*/*-None] src/borg/testsuite/helpers.py::test_patterns_fnmatch[*///*-None] src/borg/testsuite/helpers.py::test_patterns_fnmatch[/home/u-expected5] src/borg/testsuite/helpers.py::test_patterns_fnmatch[/home/*-expected6] src/borg/testsuite/helpers.py::test_patterns_fnmatch[/home/user/*-expected7] src/borg/testsuite/helpers.py::test_patterns_fnmatch[/etc/*-expected8] src/borg/testsuite/helpers.py::test_patterns_fnmatch[*/.pr????e-expected9] src/borg/testsuite/helpers.py::test_patterns_fnmatch[///etc//////*-expected10] src/borg/testsuite/helpers.py::test_patterns_fnmatch[/./home//..//home/user2/*-expected11] src/borg/testsuite/helpers.py::test_patterns_fnmatch[/srv*-expected12] src/borg/testsuite/helpers.py::test_patterns_fnmatch[/home/*/.thumbnails-expected13] src/borg/testsuite/helpers.py::test_patterns_shell[*-None] src/borg/testsuite/helpers.py::test_patterns_shell[**/*-None] src/borg/testsuite/helpers.py::test_patterns_shell[/**/*-None] src/borg/testsuite/helpers.py::test_patterns_shell[/./*-None] src/borg/testsuite/helpers.py::test_patterns_shell[*/*-None] src/borg/testsuite/helpers.py::test_patterns_shell[*///*-None] src/borg/testsuite/helpers.py::test_patterns_shell[/home/u-expected6] src/borg/testsuite/helpers.py::test_patterns_shell[/home/*-expected7] src/borg/testsuite/helpers.py::test_patterns_shell[/home/user/*-expected8] src/borg/testsuite/helpers.py::test_patterns_shell[/etc/*/*-expected9] src/borg/testsuite/helpers.py::test_patterns_shell[/etc/**/*-expected10] src/borg/testsuite/helpers.py::test_patterns_shell[/etc/**/*/*-expected11] src/borg/testsuite/helpers.py::test_patterns_shell[*/.pr????e-expected12] src/borg/testsuite/helpers.py::test_patterns_shell[**/.pr????e-expected13] src/borg/testsuite/helpers.py::test_patterns_shell[///etc//////*-expected14] src/borg/testsuite/helpers.py::test_patterns_shell[/./home//..//home/user2/-expected15] src/borg/testsuite/helpers.py::test_patterns_shell[/./home//..//home/user2/**/*-expected16] src/borg/testsuite/helpers.py::test_patterns_shell[/srv*/-expected17] src/borg/testsuite/helpers.py::test_patterns_shell[/srv*-expected18] src/borg/testsuite/helpers.py::test_patterns_shell[/srv/*-expected19] src/borg/testsuite/helpers.py::test_patterns_shell[/srv2/**-expected20] src/borg/testsuite/helpers.py::test_patterns_shell[/srv2/**/-expected21] src/borg/testsuite/helpers.py::test_patterns_shell[/home/*/.thumbnails-expected22] src/borg/testsuite/helpers.py::test_patterns_shell[/home/*/*/.thumbnails-expected23] src/borg/testsuite/helpers.py::test_patterns_regex[-None] src/borg/testsuite/helpers.py::test_patterns_regex[.*-None] src/borg/testsuite/helpers.py::test_patterns_regex[^/-None] src/borg/testsuite/helpers.py::test_patterns_regex[^abc$-expected3] src/borg/testsuite/helpers.py::test_patterns_regex[^[^/]-expected4] src/borg/testsuite/helpers.py::test_patterns_regex[^(?!/srv|/foo|/opt)-expected5] src/borg/testsuite/helpers.py::test_regex_pattern src/borg/testsuite/helpers.py::test_composed_unicode_pattern[pattern0] src/borg/testsuite/helpers.py::test_composed_unicode_pattern[pattern1] src/borg/testsuite/helpers.py::test_composed_unicode_pattern[pattern2] src/borg/testsuite/helpers.py::test_composed_unicode_pattern[pattern3] src/borg/testsuite/helpers.py::test_decomposed_unicode_pattern[pattern0] src/borg/testsuite/helpers.py::test_decomposed_unicode_pattern[pattern1] src/borg/testsuite/helpers.py::test_decomposed_unicode_pattern[pattern2] src/borg/testsuite/helpers.py::test_decomposed_unicode_pattern[pattern3] src/borg/testsuite/helpers.py::test_invalid_unicode_pattern[pattern0] src/borg/testsuite/helpers.py::test_invalid_unicode_pattern[pattern1] src/borg/testsuite/helpers.py::test_invalid_unicode_pattern[pattern2] src/borg/testsuite/helpers.py::test_invalid_unicode_pattern[pattern3] src/borg/testsuite/helpers.py::test_exclude_patterns_from_file[lines0-None] src/borg/testsuite/helpers.py::test_exclude_patterns_from_file[lines1-None] src/borg/testsuite/helpers.py::test_exclude_patterns_from_file[lines2-expected2] src/borg/testsuite/helpers.py::test_exclude_patterns_from_file[lines3-expected3] src/borg/testsuite/helpers.py::test_exclude_patterns_from_file[lines4-expected4] src/borg/testsuite/helpers.py::test_exclude_patterns_from_file[lines5-expected5] src/borg/testsuite/helpers.py::test_exclude_patterns_from_file[lines6-expected6] src/borg/testsuite/helpers.py::test_exclude_patterns_from_file[lines7-expected7] src/borg/testsuite/helpers.py::test_exclude_patterns_from_file[lines8-expected8] src/borg/testsuite/helpers.py::test_exclude_patterns_from_file[lines9-expected9] src/borg/testsuite/helpers.py::test_exclude_patterns_from_file[lines10-None] src/borg/testsuite/helpers.py::test_exclude_patterns_from_file[lines11-expected11] src/borg/testsuite/helpers.py::test_exclude_patterns_from_file[lines12-None] src/borg/testsuite/helpers.py::test_exclude_patterns_from_file[lines13-expected13] src/borg/testsuite/helpers.py::test_exclude_patterns_from_file[lines14-expected14] src/borg/testsuite/helpers.py::test_exclude_patterns_from_file[lines15-expected15] src/borg/testsuite/helpers.py::test_load_patterns_from_file[lines0-expected_roots0-0] src/borg/testsuite/helpers.py::test_load_patterns_from_file[lines1-expected_roots1-0] src/borg/testsuite/helpers.py::test_load_patterns_from_file[lines2-expected_roots2-1] src/borg/testsuite/helpers.py::test_load_patterns_from_file[lines3-expected_roots3-2] src/borg/testsuite/helpers.py::test_load_patterns_from_file[lines4-expected_roots4-0] src/borg/testsuite/helpers.py::test_load_patterns_from_file[lines5-expected_roots5-0] src/borg/testsuite/helpers.py::test_load_patterns_from_file[lines6-expected_roots6-1] src/borg/testsuite/helpers.py::test_load_invalid_patterns_from_file[lines0] src/borg/testsuite/helpers.py::test_load_invalid_patterns_from_file[lines1] src/borg/testsuite/helpers.py::test_inclexcl_patterns_from_file[lines0-None] src/borg/testsuite/helpers.py::test_inclexcl_patterns_from_file[lines1-None] src/borg/testsuite/helpers.py::test_inclexcl_patterns_from_file[lines2-expected2] src/borg/testsuite/helpers.py::test_inclexcl_patterns_from_file[lines3-expected3] src/borg/testsuite/helpers.py::test_inclexcl_patterns_from_file[lines4-expected4] src/borg/testsuite/helpers.py::test_inclexcl_patterns_from_file[lines5-expected5] src/borg/testsuite/helpers.py::test_inclexcl_patterns_from_file[lines6-expected6] src/borg/testsuite/helpers.py::test_inclexcl_patterns_from_file[lines7-expected7] src/borg/testsuite/helpers.py::test_inclexcl_patterns_from_file[lines8-expected8] src/borg/testsuite/helpers.py::test_inclexcl_patterns_from_file[lines9-expected9] src/borg/testsuite/helpers.py::test_inclexcl_patterns_from_file[lines10-expected10] src/borg/testsuite/helpers.py::test_parse_pattern[-FnmatchPattern] src/borg/testsuite/helpers.py::test_parse_pattern[*-FnmatchPattern] src/borg/testsuite/helpers.py::test_parse_pattern[/data/*-FnmatchPattern] src/borg/testsuite/helpers.py::test_parse_pattern[fm:-FnmatchPattern] src/borg/testsuite/helpers.py::test_parse_pattern[fm:*-FnmatchPattern] src/borg/testsuite/helpers.py::test_parse_pattern[fm:/data/*-FnmatchPattern] src/borg/testsuite/helpers.py::test_parse_pattern[fm:fm:/data/*-FnmatchPattern] src/borg/testsuite/helpers.py::test_parse_pattern[re:-RegexPattern] src/borg/testsuite/helpers.py::test_parse_pattern[re:.*-RegexPattern] src/borg/testsuite/helpers.py::test_parse_pattern[re:^/something/-RegexPattern] src/borg/testsuite/helpers.py::test_parse_pattern[re:re:^/something/-RegexPattern] src/borg/testsuite/helpers.py::test_parse_pattern[pp:-PathPrefixPattern] src/borg/testsuite/helpers.py::test_parse_pattern[pp:/-PathPrefixPattern] src/borg/testsuite/helpers.py::test_parse_pattern[pp:/data/-PathPrefixPattern] src/borg/testsuite/helpers.py::test_parse_pattern[pp:pp:/data/-PathPrefixPattern] src/borg/testsuite/helpers.py::test_parse_pattern[sh:-ShellPattern] src/borg/testsuite/helpers.py::test_parse_pattern[sh:*-ShellPattern] src/borg/testsuite/helpers.py::test_parse_pattern[sh:/data/*-ShellPattern] src/borg/testsuite/helpers.py::test_parse_pattern[sh:sh:/data/*-ShellPattern] src/borg/testsuite/helpers.py::test_parse_pattern_error[aa:] src/borg/testsuite/helpers.py::test_parse_pattern_error[fo:*] src/borg/testsuite/helpers.py::test_parse_pattern_error[00:] src/borg/testsuite/helpers.py::test_parse_pattern_error[x1:abc] src/borg/testsuite/helpers.py::test_pattern_matcher src/borg/testsuite/helpers.py::test_compression_specs src/borg/testsuite/helpers.py::test_chunkerparams src/borg/testsuite/helpers.py::MakePathSafeTestCase::test src/borg/testsuite/helpers.py::PruneSplitTestCase::test src/borg/testsuite/helpers.py::PruneWithinTestCase::test src/borg/testsuite/helpers.py::StableDictTestCase::test src/borg/testsuite/helpers.py::TestParseTimestamp::test src/borg/testsuite/helpers.py::test_get_cache_dir src/borg/testsuite/helpers.py::test_get_keys_dir src/borg/testsuite/helpers.py::test_get_security_dir src/borg/testsuite/helpers.py::test_file_size src/borg/testsuite/helpers.py::test_file_size_precision src/borg/testsuite/helpers.py::test_file_size_sign src/borg/testsuite/helpers.py::test_parse_file_size[1-1] src/borg/testsuite/helpers.py::test_parse_file_size[20-20] src/borg/testsuite/helpers.py::test_parse_file_size[5K-5000] src/borg/testsuite/helpers.py::test_parse_file_size[1.75M-1750000] src/borg/testsuite/helpers.py::test_parse_file_size[1e+9-1000000000.0] src/borg/testsuite/helpers.py::test_parse_file_size[-1T--1000000000000.0] src/borg/testsuite/helpers.py::test_parse_file_size_invalid[] src/borg/testsuite/helpers.py::test_parse_file_size_invalid[5 src/borg/testsuite/helpers.py::test_parse_file_size_invalid[4E] src/borg/testsuite/helpers.py::test_parse_file_size_invalid[2229 src/borg/testsuite/helpers.py::test_parse_file_size_invalid[1B] src/borg/testsuite/helpers.py::TestBuffer::test_type src/borg/testsuite/helpers.py::TestBuffer::test_len src/borg/testsuite/helpers.py::TestBuffer::test_resize src/borg/testsuite/helpers.py::TestBuffer::test_limit src/borg/testsuite/helpers.py::TestBuffer::test_get src/borg/testsuite/helpers.py::test_yes_input src/borg/testsuite/helpers.py::test_yes_input_defaults src/borg/testsuite/helpers.py::test_yes_input_custom src/borg/testsuite/helpers.py::test_yes_env src/borg/testsuite/helpers.py::test_yes_env_default src/borg/testsuite/helpers.py::test_yes_defaults src/borg/testsuite/helpers.py::test_yes_retry src/borg/testsuite/helpers.py::test_yes_no_retry src/borg/testsuite/helpers.py::test_yes_output src/borg/testsuite/helpers.py::test_yes_env_output src/borg/testsuite/helpers.py::test_progress_percentage_sameline src/borg/testsuite/helpers.py::test_progress_percentage_step src/borg/testsuite/helpers.py::test_progress_percentage_quiet src/borg/testsuite/helpers.py::test_progress_endless src/borg/testsuite/helpers.py::test_progress_endless_step src/borg/testsuite/helpers.py::test_partial_format src/borg/testsuite/helpers.py::test_chunk_file_wrapper src/borg/testsuite/helpers.py::test_chunkit src/borg/testsuite/helpers.py::test_clean_lines src/borg/testsuite/helpers.py::test_compression_decider1 src/borg/testsuite/helpers.py::test_compression_decider2 src/borg/testsuite/helpers.py::test_format_line src/borg/testsuite/helpers.py::test_format_line_erroneous src/borg/testsuite/helpers.py::test_replace_placeholders src/borg/testsuite/helpers.py::test_swidth_slice src/borg/testsuite/helpers.py::test_swidth_slice_mixed_characters
src/borg/helpers.py
src/borg/helpers.py