Configure Surface to use MicroSD as Primary Storage

So after about a week of excitement and playing around with features I decided it was time to start optimizing and making this thing run the way I wanted it to. The first thing I noticed was that I cannot use my SD card with my Libraries; so all my apps are going to by default save to the local SSD which is far from what I want. I knew there had to be a way around this so I started digging in. I feel I finally have it to the point where others should be doing the same thing and once it’s done you can forget about it.

  • Create a VHD and save it on the SD card
  • Create directories on this VHD for your specific libraries
    • Documents
    • Music
    • Video
    • Pictures
  • Configure the libraries
  • Enable Indexing on the VHD – This is important because the Photos app will not work right without it
  • Have a script automatically Attach the VHD on Boot

If you would like to know exact steps to take please continue reading.

Creating a VHD

  1. Open Charms Menu (Swipe in from right side of screen)
  2. Click Settings
  3. Click Tiles
  4. Change “Show administrative tools” to Yes
  5. Swipe from bottom of screen
  6. Click All apps
  7. Under “Administrative Tools” click Computer Management
  8. Click “Disk Management”
  9. Click “Action”
  10. Click “Create VHD”
  11. Browse to the SD Card’s storage and name the VHD whatever you want
  12. Allocate as much of the SD’s storage you want to this VHD,
  13. You can decide between Fixed or Dynamically expanding. I personally went with Dynamically expanding.
  14. Find the newly created disk in the lower panel, should be “Disk 2″
  15. Right click where it says “Disk 2″
  16. Click “Initialize Disk”
  17. Click OK
  18. Right click “Unallocated”
  19. Click “New Simple Volume…”
  20. Click “Next >”
  21. Click “Next >”
  22. Select the Drive letter you want (can be anything)
  23. Click “Next >”
  24. Name the Volume whatever you want
  25. Click “Next >”
  26. Click “Finish”

Create/Configure Library Directories on VHD

  1. Click the “Libraries” icon from the “Task Bar”
  2. Single click “Documents”
  3. Click “Manage under “Library Tools” from the ribbon
  4. Click “Manage library”
  5. Click “Add”
  6. Browse to the newly Attached VHD you just created
  7. Click “New Folder”
  8. Name it whatever you want (Eg: Documents)
  9. DO NOT OPEN THE FOLDER, select the folder and click “Include folder”
  10. Remove the Default Personal folder
  11. Click OK
  12. Click “Set save location”
  13. Select the newly created folder
  14. Repeat steps 1-13 for the following
    1. Music
    2. Pictures
    3. Videos

Enable Indexing on VHD – Very Important

  1. Open the “Charms Menu”
  2. Click “Search”
  3. Type “Indexing Options”
  4. Click Settings
  5. Open “Indexing Options”
  6. Click “Modify”
  7. Select the newly Attached VHD
  8. Click OK
  9. Click Close

Create Script to Auto Attach on Startup

  1. Open PowerShell as an Administrator
  2. Type “Set-ExecutionPolicy RemoteSigned”
  3. Press Enter
  4. Type “y”
  5. Press Enter
  6. Click Computer from the navigation bar on the left of the Libraries folder
  7. Open the C: Drive
  8. Create a new folder named “PoSH”
  9. Double click the new folder
  10. Right click in the white area and navigate to “New > Text Document”
  11. Name it Auto-Mount.ps1
  12. Open the new file with Notepad
  13. Paste the below code in, don’t forget to modify the red text to the path you saved the vhd file at
    1. “Mount-DiskImage D:\YourVHD.vhdx”
  14. Open the “Charms Menu”
  15. Click “Search”
  16. Type “Task Scheduler” and open it
  17. Click “Task Scheduler Library”
  18. Click “Action”
  19. Click “Create Task…”
    1. General Tab
      1. Name: Attach SD VHD
      2. Location: \
      3. Description: This is the Task that is going to automatically attach the VHD file on the SD card on system boot.
      4. “Click Change User or Group…” type in SYSTEM
      5. Check “Run with highest privileges”
    2. Triggers Tab
      1. Click “New…”
      2. Begin the task: At startup
      3. Click OK
    3. Action Tab
      1. Action: Start a program
      2. Program/script: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
      3. Add arguments: C:\PoSH\Auto-Mount.ps1
      4. Click “OK”
    4. Conditions Tab
      1. Under Power uncheck “Start the task only if the computer is on AC power
      2. Click “OK”
  20. Have fun testing, I recommend opening the Camera app and taking some pictures, making sure it index the new ones, try adding music to the folder make sure it shows up in the music app, same thing for Video app.

Update 12-30-2012: Thank you Don for reminding me you need to set the execution policy on the machine first.

Be Sociable, Share!
Leave a comment ?


  1. hi
    i’ve the same problem as Joe…
    on my Surface Pro with win 8.1! I followed each step exactly as you’ve laid it out, so I don’t know what the issue could be.
    Task Scheduler says that the operation completed successfully, but the VHD still isn’t mounted. When I try to run “Mount-DiskImage D:\Libraries.vhdx” in Powershell as Administrator to test it out, it tells me “Mount-DiskImage: Access is denied.” followed by some other text that I don’t really understand. I’m sure that this is the problem but I don’t know how to fix it. Anything that you can think of that might cause this to happen?

  2. Create a Custom Recovery Image - pingback on January 20, 2014 at 11:32 pm
  3. Micro SD card appear as a real drive to install DropBox etc - pingback on January 18, 2014 at 1:59 pm
  4. I have so many different methods of accomplishing this task and read more “That didn’t work when I tried it” comments than seems normal.
    Having tried multiple times I finally came across a post that had it RIGHT…and almost as important – SIMPLE. I wish I had made a note of the site but I was using a friends Ultrabook -so my apologies (and thanks) to the original creator.

    Set up automatic mounting on system startup. -Win+W, type Schedule Tasks, enter. In the tree on the left side,click on “Task Scheduler Library”
    -From the “Actions” pane, click on “Create Task”
    Enter “mount D:\disk.vhd” (or anything you’d like) as the task name. Likewise description is optional -Select “Run whether user is logged on or not” Check “Run with highest privileges” -In Triggers tab, click New, select “At startup” and press OK.
    -In Actions tab, click on New. Select “Start a program” as Action. In program/script, put “C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe.”
    In add arguments, write exactly
    “-command “mount-diskimage D:\disk.vhd””
    -In Conditions tab, uncheck everything. Press OK
    Enter your Windows password and press OK. That’s it!
    Restart the system and see if your new drive is visible after login.

    Set up Windows Indexing.
    Win+W, type Indexing Options, enter Click on modify, check the new vhd drive (probably E).
    OK, Close.
    You can now create folders in the mounted vhd and add them to library.
    I hope this help everyone else as much as it did me!

Leave a Comment

NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">


Trackbacks and Pingbacks: