---
title: "Apple Silicon — USB Passthrough to VMs (UTM vs OrbStack)"
aliases: [apple-silicon-usb, utm-usb-passthrough, orbstack-usb, usb-passthrough-macos]
tags: [apple-silicon, macos, usb, passthrough, utm, orbstack, qemu, windows]
sources:
  - "daily/2026-05-08.md"
created: 2026-05-08
updated: 2026-05-08
---

# Apple Silicon — USB Passthrough to VMs (UTM vs OrbStack)

OrbStack does **not** support USB passthrough on Apple Silicon. UTM (free, QEMU-based) does. The primary use case is accessing a USB device from a Windows or Linux guest when macOS cannot interact with it natively — for example, resetting a hardware read-only lock on a Kingston USB drive using Windows `diskpart`.

## Key Points

- **OrbStack**: no USB passthrough; USB devices attached to the Mac are invisible to OrbStack VMs.
- **UTM**: full USB passthrough on Apple Silicon via QEMU USB host controller emulation.
- Use case: Kingston DataTraveler (and similar drives) lock themselves read-only after a `dd` write; macOS cannot clear this — requires `diskpart` in Windows.
- UTM is free; available via Homebrew or direct download.

## Installing UTM

```bash
brew install --cask utm
```

Or download from: https://mac.getutm.app

## Creating a Windows VM in UTM for USB Passthrough

1. Open UTM → **Create a New Virtual Machine** → **Virtualize** → **Windows**
2. Enable **"Import VHDX / VHD"** or use an ISO (ARM Windows for Apple Silicon)
3. After the VM is created, go to **VM Settings → USB** → enable USB sharing
4. Start the VM — a USB icon appears in the toolbar
5. Click the USB icon → select the target drive to pass through

## Resetting a Kingston Read-Only USB in Windows (diskpart)

Once the USB is passed through to Windows:

```cmd
diskpart
DISKPART> list disk
DISKPART> select disk N        (N = the USB disk number)
DISKPART> attributes disk clear readonly
DISKPART> clean
DISKPART> create partition primary
DISKPART> format fs=fat32 quick
DISKPART> assign
DISKPART> exit
```

`attributes disk clear readonly` clears the hardware read-only flag that Kingston's controller set. `clean` wipes the partition table. After this the drive is writable from macOS again.

## Why macOS Cannot Clear the Read-Only Lock

Kingston DataTraveler drives use a hardware read-only controller that macOS cannot override. `diskutil info` shows:

```
Media Read-Only: Yes
```

macOS has no equivalent of `diskpart attributes disk clear readonly`. The drive must be accessed from Windows (or Linux with `hdparm`).

## Diagnosing a Hardware Read-Only USB on macOS

```bash
diskutil info /dev/disk4 | grep -i "read.only"
# Media Read-Only:           Yes  ← hardware lock (not filesystem)
# Volume Read-Only:          Yes  ← filesystem flag (different issue)

# Attempt to write — will fail with "Resource busy" or "Operation not permitted"
sudo dd if=/dev/zero of=/dev/disk4 bs=1m count=1
```

## Related Concepts

- [[wiki/concepts/macos-windows-usb-wimlib]] — how to create a bootable Windows 11 USB on macOS (the operation that can trigger the read-only lock)

## Sources

- [[daily/2026-05-08.md]] — Kingston DataTraveler entered read-only state after `dd` write of Windows ISO on macOS Apple Silicon; OrbStack confirmed as lacking USB passthrough; UTM recommended as the fix path via `diskpart`
