Skip to content

Shared Directories and Integration

Ben Fuhrmannek edited this page May 18, 2026 · 1 revision

Shared Directories and Integration

VirtualReactor offers four integration features that bridge host and guest, all driven by virtio devices. Each can be turned on or off independently in the Integration section of the Configuration sheet.

Directory Sharing (VirtioFS)

This is the main file-sharing mechanism. When enabled, the Shared Directories section appears and lets you add host folders that get exposed to the guest as VirtioFS mounts.

Adding a share

  1. Stop the VM (the list can be edited while running, but most guests need a remount to pick up changes).
  2. In the Configuration sheet, ensure Directory Sharing (virtio-fs) is on.
  3. Scroll to Shared Directories and click Add Directory….
  4. Pick the host folder in the file picker. VirtualReactor stores a security-scoped bookmark.
  5. Optionally rename the share (the Name field is the mount tag the guest will use) and tick Read-Only.

Mounting in a Linux guest

mount -t virtiofs <name> /mnt/<mountpoint>

Use the name you set in the configuration (defaults to shared). To mount at boot, add an /etc/fstab entry such as:

shared  /mnt/shared  virtiofs  defaults  0 0

Mounting in a macOS guest

macOS guests mount VirtioFS shares automatically. They appear under /Volumes/My Shared Files/<name>.

Bookmark caveats

Each share is a security-scoped bookmark. If you move or rename the host folder, the bookmark goes stale and the share will be marked as Path unavailable the next time you open the Configuration sheet. Delete the broken entry and add the folder again.

Clipboard Sharing

When enabled, the guest and host share a single clipboard. Copy in one, paste in the other.

  • macOS guests support clipboard sharing natively (macOS 13+).
  • Linux guests need spice-vdagent installed and running. The popover next to the toggle reminds you of the package name.

Memory Balloon (virtio-balloon)

The balloon driver lets the host ask the guest to give back unused memory. With this enabled, the Memory Balloon target slider appears while the VM is running and lets you set a target working set in 0.5 GB steps.

  • On by default.
  • Most modern Linux distributions and macOS guests have the balloon driver.
  • The slider is a request, not a guarantee — the guest decides how much it can actually release.

Rosetta x86_64 Emulation (Linux only)

When enabled (and supported by your Mac), VirtualReactor exposes the host's Rosetta translation environment to the Linux guest via a special VirtioFS tag named rosetta. The guest can then run x86_64 Linux binaries.

To use it inside the guest:

mkdir /mnt/rosetta
mount -t virtiofs rosetta /mnt/rosetta
update-binfmts --install rosetta /mnt/rosetta/rosetta \
  --magic "\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x3e\x00" \
  --mask  "\xff\xff\xff\xff\xff\xfe\xfe\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff" \
  --credentials yes --preserve no --fix-binary yes

(The exact command is also shown in a popover inside the Configuration sheet.)

The toggle's status indicators tell you whether Rosetta is supported by the host and whether it's installed. Install Rosetta on the host via softwareupdate --install-rosetta if necessary.

Clone this wiki locally