diff --git a/Lib/tarfile.py b/Lib/tarfile.py
index 4839eb1..aca934a 100644
--- a/Lib/tarfile.py
+++ b/Lib/tarfile.py
@@ -2273,7 +2273,7 @@
           (platform limitation), we try to make a copy of the referenced file
           instead of a link.
         """
-        if hasattr(os, "symlink") and hasattr(os, "link"):
+        try:
             # For systems that support symbolic and hard links.
             if tarinfo.issym():
                 os.symlink(tarinfo.linkname, targetpath)
@@ -2282,7 +2282,15 @@
                 if os.path.exists(tarinfo._link_target):
                     os.link(tarinfo._link_target, targetpath)
                 else:
-                    self._extract_member(self._find_link_target(tarinfo), targetpath)
+                    self._extract_mem
+        except (AttributeError, NotImplementedError, WindowsError):
+            # AttributeError if no os.symlink
+            # NotImplementedError if on Windows XP
+            # WindowsError (1314) if the required privilege is not held by the client
+            if tarinfo.issym():
+                linkpath = os.path.join(os.path.dirname(tarinfo.name),tarinfo.linkname)
+            else:
+                linkpath = tarinfo.linkname
         else:
             try:
                 self._extract_member(self._find_link_target(tarinfo), targetpath)
