Peekaboo SD is a small, portable Windows application for inspecting Linux filesystems on an SD card through WSL 2. It attaches a USB card reader to WSL, mounts recognised filesystems read-only, and opens them in Windows Explorer.
- Finds the selected USB card reader through
usbipd-win, even when its BUSID changes. - Mounts ext2/ext3/ext4, XFS, FAT, exFAT, and other recognised filesystems read-only.
- Presents multiple partitions below
/mnt/sdcard. - Uses
wsl.exe -u rootfor mount operations, so no Linux sudo password is required. - Leaves nothing installed inside the WSL distribution.
- Windows with WSL 2 enabled and at least one Linux distribution installed.
- usbipd-win installed and available as
usbipd.exe. - A USB card reader supported by usbipd-win.
Install usbipd-win from an administrator PowerShell prompt if needed:
winget install usbipd- Download or clone this repository somewhere convenient.
- Double-click Launch Peekaboo SD.cmd.
- On first launch, select the USB card reader when prompted.
- Click Connect reader. Windows may ask for administrator permission the first time it shares the reader.
- Insert the SD card and click Mount card.
- Click Open card to browse the mounted filesystems in Explorer.
- Click Unmount card before changing cards.
- Click Detach reader when finished so Windows can use the reader again.
- If Windows mounts or exposes the card, eject it using the normal Windows Safely Remove Hardware / Eject action before physically removing it.
The reader selection is saved in PeekabooSD.config.json beside the application. Delete that file to choose a different reader on the next launch. If the saved reader is not present, Connect reader opens the picker again.
| Button | Purpose |
|---|---|
| Connect reader | Shares and attaches the selected USB reader to WSL. This is optional before mounting because Mount card connects automatically, but it is useful as a visible pre-flight step. |
| Mount card | Finds removable disks and partitions in WSL, then mounts recognised filesystems read-only below /mnt/sdcard. |
| Open card | Opens the mount root (or the conventional Linux rootfs mount) in Windows Explorer. |
| Unmount card | Unmounts all Peekaboo SD filesystems. Use it before removing or replacing the card. |
| Detach reader | Unmounts the card and detaches the USB reader from WSL, returning it to Windows. Windows may then detect and mount the card normally. |
Peekaboo's Unmount card button only unmounts the card's Linux filesystems inside WSL. Detach reader then releases the USB device so Windows can use it again; it does not replace Windows' own eject process.
After detaching, wait for Windows to detect the reader. If the card appears in Explorer or receives drive letters, use Eject in Explorer or Safely Remove Hardware and Eject Media in the Windows taskbar. Only remove the physical card after Windows reports that it is safe.
On first launch, Peekaboo SD lists the USB devices reported by usbipd-win. Select the entry that represents the card reader; the BUSID may differ between computers or USB ports, so the application stores the reader's VID:PID and discovers the current BUSID each time.
Names vary by hardware. A common example is Realtek USB 3.0 Card Reader (0bda:0306), sometimes shown with a description such as USB3.0 CRW -SD. Select the entry matching the reader you plugged in, not an unrelated camera, Bluetooth adapter, keyboard, or input device.
If WSL exposes more than one removable disk, Peekaboo SD asks you to choose one. Compare the device path, reported size, and model. A nominal 16 GB card commonly appears as approximately 14.84 GB in Linux because manufacturers advertise decimal capacity and some space is reserved for partitioning and metadata.
The zero-byte device in the example is not the card to mount; /dev/sdf is the actual 16 GB card.
Each recognised partition receives a safe directory name under /mnt/sdcard. Labels are preferred; ext filesystems conventionally use rootfs, and FAT/exFAT filesystems conventionally use boot when those names are available.
The Windows path is exposed through the selected WSL distribution as:
\\wsl.localhost\<distribution>\mnt\sdcard
Mounts are read-only by design:
- ext2/ext3/ext4:
ro,noload - XFS:
ro,norecovery - Other recognised filesystems:
ro
Read-only mounting reduces the chance of modifying a card while inspecting it. It is not a substitute for a verified backup.
The application itself is portable; the host prerequisites are not bundled. Each computer needs WSL 2, a Linux distribution, and usbipd-win. USB sharing is also host-specific and may require one administrator confirmation per computer.
The app automatically chooses the default WSL distribution. The reader choice is stored locally in PeekabooSD.config.json; this file is ignored by Git so personal hardware selections are not committed.
PeekabooSD.ps1 Application
Launch Peekaboo SD.cmd Windows launcher
docs/images/ README screenshots and banner
- usbipd-win was not found: install it and restart the launcher.
- No USB reader is selected: connect the reader and choose it in the picker.
- Reader not found: check that the reader appears in
usbipd list; use Connect reader to select it again. - No removable disk is visible: insert the card, wait for the reader to settle, and click Mount card again.
- Windows cannot use the reader: click Unmount card, then Detach reader.
- The card appears in Windows after detaching: use Windows Eject or Safely Remove Hardware before removing the physical card.



