So after I got my first Microsoft Surface Pro, I realized it didn’t have enough storage. I then set out to find a solution to solve this issue, short of strapping an external HDD to the backside of the screen.
I first realized that if you attempt to use a SD card as storage, it will not utilize the recycle bin and also without some tinkering you couldn’t get OneDrive, back then called Skydrive, to store your stuff on there either.
This guide will work for Windows 8, 8.1 and 10
On to the tutorial 🙂
Warning: Before proceeding, please make sure to backup your sdcard. As these steps will have you format the card.
This tutorial will cover:
1. Creating a VHD and saving it on the SD card
2. Creating directories on this VHD for your specific libraries
• Documents
• Music
• Video
• Pictures
• Downloads
• Onedrive
3. Enable Indexing on the VHD
4. Creating a script to automatically attach the VHD on Boot (pre-created scripts attached for this step)
5. Creating unmount and mount scripts to manually mount and remount the vhd (pre-created scripts attached for this step)
Creating a VHD
- Open start menu
- type “Disk Management” and click “create and format hard disk partitions”
- right click the sdcard in the list and click format
- set file system to “ntfs” and set the allocation unit size to “default”
- check off quick format and hit ok, let it finish and proceed
- Click “More actions” on the right side
- Click “Create VHD”
- Browse to the SD Card’s storage and name the VHD whatever you want
- Allocate as much of the SD’s storage you want to this VHD,
- You can decide between Fixed or Dynamically expanding. I personally went with Dynamically expanding.
- Find the newly created disk in the lower panel, should be “Disk 2”
- Right click where it says “Disk 2”
- Click “Initialize Disk”
- Click OK
- Right click “Unallocated”
- Click “New Simple Volume…”
- Click “Next >”
- Click “Next >”
- Select the Drive letter you want (can be anything)
- Click “Next >”
- Name the Volume whatever you want
- Click “Next >”
- Click “Finish”
- right click the drive letter for the sdcard
- click on “change drive letters and paths”
- click “add”
- click on the c drive
- click “browse”
- click “new folder”
- name it “sdcard”
- hit “ok”
- right click that drive again and return to the “change drive letters and paths”
- remove the drive letter
- hit “ok”
- close the window
Create/Configure Library Directories on VHD
- Open start menu
- type “this pc” and click on it
- Create new folders named “Documents”, “Downloads”, “Pictures”, “Videos”, “Onedrive”.. In my case since I have my library folders stored on onedrive, I have those within the onedrive folder
- Optionally create folders named “Dropbox”, “google drive”
- Close current window
- Open start menu
- type “this pc”
- Right click on “Documents” and click on properties
- Go to the “location” tab
- Click the “move” button and navigate to the newly created location
- click “select folder” on the new location
- click “ok” and if asked if you want to move the current contents of the folder, click “yes”
- Repeat steps 8-12 for the following:
- Music
- Pictures
- Videos
- Downloads
Enable Indexing on VHD – Very Important
- Open start menu
- Type “Indexing Options”
- Click on “Indexing Options”
- Click “Modify”
- Select the newly Attached VHD
- Click OK
- Click Close
Create Script to Auto Attach on Startup
download this zip file and extract the contents to that newly created folder on the c drive
- Open the start menu
- Type “this pc” and open it
- Open the c drive
- Open that newly created folder called “sdcard”
- open each of those script files in notepad and make sure the paths are pointing to the correct path for your vhd file, and also the programs in the “mount” and “unmount” scripts. the program paths are so that the cloud programs will launch after the vhd is mounted, if you like me want to have them stored on there.
- Open the start menu
- Type “Task Scheduler” and open it
- Click “Task Scheduler Library”
- Click “Action”
- Click “Create Task…”
General Tab
- Name: Attach SD VHD
- Location: \
- Description: This is the Task that is going to automatically attach the VHD file on the SD card on system boot.
- “Click Change User or Group…” type in SYSTEM
- Check “Run with highest privileges”
Triggers Tab
- Click “New…”
- Begin the task: At startup
- Click OK
Action Tab
- Action: Start a program
- Program/script: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
- Add arguments: C:\sdcard\Auto-Mount.ps1
- Click “OK”
Conditions Tab
- Under Power uncheck “Start the task only if the computer is on AC power
- Click “OK”
Manual unmount and mount scripts
Since the Sdcard slot is built into the screen part of most of the Surfaces (Surface Pro 1-4 and surface 3, currently), this part of the tutorial isn’t required for them. This is mostly for the Surface Book; because the card slot is in the keyboard. When the keyboard is detached, if you don’t use this part of the tutorial, you will not safely unmount your data and could face data loss or corruption, and issues with cloud services.
- Create shortcuts to the bat files on your desktop, so that you can use them to mount and unmount the vhd at will
- make sure the paths in the bat files are pointing to the vhd and cloud programs (onedrive, dropbox,google drive) you can also add any other programs to those bat files to launch and quit.. just copy the format for the currently included paths
- please always run the unmount script before safely removing the sd card, this is not necessary if rebooting or shutting down windows though