Using Dropbox on a Surface Book SD Card

I’m mostly posting this here for myself. If you’re looking for a way to move Dropbox to an always-fixed SD Card in a Surface Book, it does work.

You have to create a symbolic link from Dropbox to the card, which isn’t hard. It’s best if you can do this with an empty card (just in case), but I did it with a bunch of data running and it was fine.

Here are the steps to move Dropbox to an SD Card and insert a symbolic link with mklink

  1. Install Dropbox as usual. It created my Dropbox folder in C:\Users\justi\
  2. Stop the Dropbox process
  3. Cut and Paste the Dropbox folder from C:\Users\justi\ and Paste on SD Card. In my case, this was D:\Dropbox
  4. Make sure the Dropbox folder in C:\Users\justi\ does not contain anything anymore and that the root Dropbox folder is no longer there.
  5. Open cmd as Administrator by right-clicking the Start menu icon in Windows 10 and selecting “Command Prompt (Admin)” (typing “cmd” in the Run dialog won’t work, most likely).
  6. Type mklink /D C:\Users\justi\Dropbox D:\Dropbox  [Note that the /D at the start of this command is for Director, not the D: drive your SD card may be on. Just as point of reference.]
  7. Start Dropbox and test that it syncs to new location on D:\Dropbox

Removing a symbolic link

If you need to remove this symbolic link later, be careful. Using the command mklink /d will remove the link AND the files in the linked destination. Which would be bad.

Instead, use rmdir, which only deletes the directory link. I’d make a backup just in case. I haven’t tested this:

  1. Stop Dropbox
  2. Run cmd as an Administrator (right click Start > Command Prompt (this doesn’t need Admin rights)
  3. Type:  rmdir C:\Users\justi\Dropbox
  4. Restart Dropbox and, I assume, allow it to index everything again.

So far I have not had a problem where Dropbox threatens to delete my files like some people have stated when the Surface Book’s screen is detached. It seems to behave exactly like OneDrive did when it was on my “embedded” SD card. It simply stops checking and won’t resume until the drive is restored.

 

5 Comments

  1. Justin, Thank you so much for these directions. There’s one piece that was missing for me. The SD card must be formatted to NTFS. It won’t work if the SD card is formatted in the FAT file system.

  2. Can I have more clarity about step 2. Stop the Dropbox process
    How do I do that exactly?

  3. Hit Ctrl+alt+delete to bring up the task manager. Then look for the Dropbox app and service running. It may be in one or two processes. Just click on it then hit the stop button. You’ll notice Dropbox’s icon go away from the taskbar and any files that were syncing will stop (so make sure you do it when it’s idle).

  4. Hi I’ve tried this and getting an error when I restart Dropbox. Here are the details from the error log:

    bn.BUILD_KEY: Dropbox
    bn.VERSION: 80.4.127
    bn.DROPBOXEXT_VERSION: 27.0
    bn.is_frozen: True
    machine_id: 0f92fade-2f33-4373-a899-879e425744f6
    pid: 10264
    cwd: ‘C:\\Windows\\SysWOW64′
    real_path=’C:\\Windows\\SysWOW64’
    mode=0o40777 uid=0 gid=0
    parent mode=0o40777 uid=0 gid=0
    HOME: None
    appdata: ‘C:\\Users\\berge\\AppData\\Local\\Dropbox\\instance2′
    real_path=’C:\\Users\\berge\\AppData\\Local\\Dropbox\\instance2’
    mode=0o40777 uid=0 gid=0
    parent mode=0o40777 uid=0 gid=0
    dropbox_path: ‘C:\\Users\\berge\\Dropbox’
    real_path=’C:\\Users\\berge\\Dropbox’
    mode=0o40555 uid=0 gid=0
    parent mode=0o40777 uid=0 gid=0
    sys_executable: ‘C:\\Program Files (x86)\\Dropbox\\Client\\Dropbox.exe’
    real_path=’C:\\Program Files (x86)\\Dropbox\\Client\\Dropbox.exe’
    mode=0o100777 uid=0 gid=0
    parent mode=0o40777 uid=0 gid=0
    trace.__file__: ‘C:\\Program Files (x86)\\Dropbox\\Client\\80.4.127\\python-packages-37.zip\\dropbox\\client\\ui\\common\\boot_error.pyc’
    real_path=’C:\\Program Files (x86)\\Dropbox\\Client\\80.4.127\\python-packages-37.zip\\dropbox\\client\\ui\\common\\boot_error.pyc’
    not found
    parent not found
    TMP: C:\Users\berge\AppData\Local\Temp
    TEMP: C:\Users\berge\AppData\Local\Temp
    tempdir: ‘C:\\Users\\berge\\AppData\\Local\\Temp’
    real_path=’C:\\Users\\berge\\AppData\\Local\\Temp’
    mode=0o40777 uid=0 gid=0
    parent mode=0o40777 uid=0 gid=0
    Traceback (most recent call last):
    File “dropbox\client\main.pyc”, line 782, in wrapper
    File “dropbox\client\main.pyc”, line 6249, in finish_dropbox_boot
    File “dropbox\client\main.pyc”, line 5767, in _init_components_for_account
    File “dropbox\sync_engine_boundary\factory.pyc”, line 328, in make_sync_engine
    File “dropbox\sync_engine\nucleus\classic_client\sync_engine.pyc”, line 363, in __init__
    File “dropbox\sync_engine\nucleus\classic_client\thin_adapter\in_proc.pyc”, line 205, in __init__
    File “dropbox\sync_engine\nucleus\classic_client\thin_adapter\in_proc.pyc”, line 563, in _init_new_engine_locked
    File “dropbox\sync_engine\nucleus\thin_client\client.pyc”, line 126, in __init__
    File “nucleus_python.pyx”, line 83, in nucleus_python.NucleusSyncEngine.__cinit__
    nucleus_python.SyncEngineError: Initializing engine |>> Initializing filesystem |>> Getting handle to root |>> Not a directory

Leave a Reply

Your email address will not be published.