Skip to content

About

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.

Resources

Stars

3 stars

Watchers

0 watching

Forks

Latest commit

 

History

3 Commits

Folders and files

Repository files navigation

Peekaboo SD

Peekaboo SD banner

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.

What it does

  • 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 root for mount operations, so no Linux sudo password is required.
  • Leaves nothing installed inside the WSL distribution.

Requirements

  • 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

Quick start

  1. Download or clone this repository somewhere convenient.
  2. Double-click Launch Peekaboo SD.cmd.
  3. On first launch, select the USB card reader when prompted.
  4. Click Connect reader. Windows may ask for administrator permission the first time it shares the reader.
  5. Insert the SD card and click Mount card.
  6. Click Open card to browse the mounted filesystems in Explorer.
  7. Click Unmount card before changing cards.
  8. Click Detach reader when finished so Windows can use the reader again.
  9. 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.

Buttons

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.

Safe removal after detaching

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.

Selecting the reader

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.

USB card reader selection

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.

Selecting the SD card

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.

SD card selection

The zero-byte device in the example is not the card to mount; /dev/sdf is the actual 16 GB card.

Browsing the mounted 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.

Mounted card in Windows Explorer

The Windows path is exposed through the selected WSL distribution as:

\\wsl.localhost\<distribution>\mnt\sdcard

Filesystem safety

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.

Portability and configuration

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.

Project layout

PeekabooSD.ps1             Application
Launch Peekaboo SD.cmd    Windows launcher
docs/images/               README screenshots and banner

Troubleshooting

  • 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.

About

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.

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages