How to Passthrough Physical SATA Drives to a Virtual Machine in VMware ESXi 8 Using RDM
Create and attach a physical-compatibility local Raw Device Mapping for a compatible SATA drive in VMware ESXi 8, with safety checks, limitations, and troubleshooting.
- Published
- Last updated
- Tested versions
- VMware ESXi 8.x
Overview
VMware ESXi normally presents storage to virtual machines through virtual disks (VMDKs) located on datastores. However, there are situations where you may want a virtual machine to access an actual physical SATA hard drive rather than a conventional virtual disk.
For example, you might want to:
- Attach existing SATA hard drives to a Linux or Windows virtual machine.
- Give a virtualized storage server access to individual physical disks.
- Access existing data on a disk without first copying it into a VMDK.
- Build a storage environment where the guest operating system manages physical disks.
One way to accomplish this is through Raw Device Mapping (RDM).
Although this method originated in older ESXi releases, it remains available in ESXi 8.x.
This guide walks through identifying a physical SATA disk, creating an RDM pointer using the ESXi command line, attaching it to a virtual machine, and verifying that the guest operating system recognizes it.
Important: Local RDM requires compatible storage hardware. Not every SATA controller or drive supports the device identification features ESXi requires. If your hardware does not support local RDM, consider passing through a dedicated SATA controller or HBA instead.
Data safety: Never select an ESXi boot drive or a disk containing an active datastore. Back up existing data before modifying disk mappings. Do not initialize, format, or repartition an existing disk unless you intend to erase its contents.
Understanding Raw Device Mapping (RDM)
A traditional VMware virtual disk is a VMDK file stored on an ESXi datastore.
For example:
Traditional virtual disk
Physical storage → VMFS datastore → VMDK → Virtual machine
With Raw Device Mapping, VMware creates a small mapping file that references an actual physical storage device.
Raw Device Mapping
Physical SATA drive → RDM pointer (.vmdk) → Virtual SCSI controller → Virtual machine
The RDM pointer contains metadata identifying the physical drive. It does not contain a full copy of the drive’s data.
When the guest operating system reads or writes to the RDM disk, its I/O is directed toward the mapped physical device.
RDM compatibility modes
VMware supports two RDM modes:
| Mode | Description |
|---|---|
Physical compatibility (-z) |
Provides minimal SCSI virtualization and greater access to underlying device commands. VMware snapshots are not supported for the mapped disk. |
Virtual compatibility (-r) |
Provides greater virtualization of the mapped device and supports VMware snapshot functionality under applicable configurations. |
This guide uses physical compatibility mode (-z).
Keep in mind that RDM is not the same as PCI passthrough. The virtual machine still communicates through a VMware virtual SCSI controller rather than directly owning the physical SATA controller.
Prerequisites
Before beginning, confirm that you have:
- An operational VMware ESXi 8.x host.
- Administrator/root access to the ESXi host.
- An existing virtual machine.
- An available physical SATA hard drive that is not being used by ESXi.
- An existing VMFS datastore with space for the RDM mapping files.
- Access to the ESXi Host Client.
- SSH access to the ESXi host.
The physical disk/controller must support SCSI Inquiry VPD page 0x83 and expose a globally unique identifier, as required by VMware.
Example environment used in this guide
| Component | Example |
|---|---|
| Hypervisor | VMware ESXi 8.x |
| Virtual machine | Ubuntu Storage |
| Datastore | datastore1 |
| Physical disk | HGST 5 TB SATA HDD |
| RDM pointer | SATA_RDM_1.vmdk |
| Guest OS | Ubuntu Linux |
The names shown here are examples. Replace them with the corresponding values from your environment.
Step 1 — Enable SSH on the ESXi Host
You need SSH access to create the RDM mapping file.
- Open your browser and navigate to the ESXi Host Client at
https://YOUR_ESXI_IP/ui. - Log in with your ESXi administrator credentials.
- Navigate to Host → Manage → Services.
- Locate the TSM-SSH service.
- Select the service and click Start.
SSH should now be available.
From a terminal or SSH client, connect to the host:
ssh root@YOUR_ESXI_IP
Replace YOUR_ESXI_IP with your ESXi host’s management IP address.
If your SSH service uses a nonstandard port, specify it with -p.
Once connected, you should see the ESXi shell prompt.
Security recommendation: Keep SSH disabled when it is not needed. Re-enable it only for administrative maintenance.
Step 2 — Identify the Physical SATA Drive
Before mapping a disk, you must identify its correct device path.
Run:
esxcli storage core device list
This command displays storage devices visible to ESXi, along with information such as:
- Device identifiers
- Manufacturer and model
- Capacity
- Device type
- Operational state
Carefully identify the SATA disk that you intend to attach to the VM.
You can also list storage device paths directly:
ls -l /vmfs/devices/disks/
Example device identifier:
t10.ATA_____HGST_HDN726050ALE610____________________NAG4P4YX____________
Device identifiers may begin with:
t10.naa.eui.- Another identifier recognized by ESXi
Not every device uses the same naming format.
Verify the disk
After finding the identifier, examine the disk in greater detail:
esxcli storage core device list -d "YOUR_DISK_ID"
Replace YOUR_DISK_ID with the complete identifier.
Verify the model, capacity, and available serial information. Cross-check against the ESXi Host Client under Storage → Devices.
Do not continue until you are confident that you have identified the correct physical drive.
Be particularly careful not to select the ESXi boot device, an active VMFS datastore disk, or a disk already in use by another system.
Step 3 — Locate Your VM’s Datastore Directory
The RDM pointer file must be stored on an existing datastore accessible to the virtual machine.
List the available datastores:
ls -l /vmfs/volumes/
Example output:
datastore1
datastore2
Navigate to your datastore:
cd /vmfs/volumes/datastore1/
List its contents:
ls -l
Locate the directory containing your virtual machine.
For example:
/vmfs/volumes/datastore1/Ubuntu Storage/
You should find files associated with the virtual machine, such as its configuration file (.vmx) and existing virtual disks (.vmdk).
We will place the new RDM mapping file in this directory.
Note: The RDM pointer is stored in a datastore directory, not inside another virtual disk. The VM folder is simply a convenient and organized location to store it.
Step 4 — Create the RDM Mapping File
Now that you have identified both the physical SATA drive and the datastore directory, create the RDM pointer.
Use the following command:
vmkfstools -z \
"/vmfs/devices/disks/YOUR_DISK_ID" \
"/vmfs/volumes/datastore1/Ubuntu Storage/SATA_RDM_1.vmdk"
Replace:
YOUR_DISK_IDwith the full physical disk identifier.datastore1with your actual datastore name.Ubuntu Storagewith your virtual machine’s directory.SATA_RDM_1.vmdkwith your preferred mapping filename.
What does this command do?
The vmkfstools utility manages VMware virtual disks and storage mappings.
The -z option creates a physical compatibility mode RDM.
For example:
vmkfstools -z \
"/vmfs/devices/disks/t10.ATA_____HGST_HDN726050ALE610____________________NAG4P4YX____________" \
"/vmfs/volumes/datastore1/Ubuntu Storage/HGST_RDM_1.vmdk"
ESXi attempts to create the mapping file within the VM’s directory.
This command does not format the physical drive or copy its contents.
If successful, the RDM pointer references the existing physical disk.
A successful command creates the mapping metadata, but it does not yet make the disk available to the virtual machine.
Verify the mapping file
List the VM directory:
ls -lh "/vmfs/volumes/datastore1/Ubuntu Storage/"
Look for files associated with the new mapping.
You can also inspect the mapping descriptor:
vmkfstools -q \
"/vmfs/volumes/datastore1/Ubuntu Storage/SATA_RDM_1.vmdk"
You should see information indicating the mapped disk.
An RDM may report the capacity of the physical drive even though the pointer itself occupies very little actual datastore space.
Step 5 — Attach the RDM to Your Virtual Machine
Return to the ESXi Host Client.
For a controlled hardware configuration change, shut down the virtual machine before attaching the disk.
- Navigate to Virtual Machines.
- Select the VM that will receive the physical SATA drive.
- Make sure the VM is powered off.
- Click Edit Settings.
- Select Add hard disk → Existing hard disk.
- Open the datastore browser.
- Navigate to the VM folder where you created the RDM pointer.
- Select
SATA_RDM_1.vmdk. - Confirm the selection.
The new disk should appear in your VM’s hardware configuration.
Configure the virtual SCSI controller
Expand the newly added hard disk’s settings.
Select an available SCSI controller and device address.
For example:
SCSI controller 0
SCSI (0:1)
If you prefer to keep RDM devices separate from your system disks, you can add another SCSI controller and attach the RDM there.
Example:
SCSI controller 1
SCSI (1:0)
Creating a separate controller is optional. Multiple RDM disks can share the same virtual SCSI controller, provided that the configuration remains within VMware’s supported controller and device limits.
Keep physical compatibility mode selected for this RDM.
Save the VM settings.
Step 6 — Power On the VM and Verify the Disk
Start the virtual machine.
The guest operating system should detect the newly attached physical disk as a SCSI device.
The steps for verification depend on the guest operating system.
Linux verification
For Ubuntu, Debian, or other Linux distributions, open a terminal and run:
lsblk -o NAME,SIZE,MODEL,TYPE,FSTYPE,MOUNTPOINTS
Example output:
NAME SIZE MODEL TYPE
sda 100G VMware Virtual disk
sdb 4.5T HGST disk
The model displayed inside the guest may be virtualized and may not exactly match the physical disk’s model.
For additional information, run:
sudo fdisk -l
This lists available disks and their partition layouts.
Important: If the physical drive already contains data, do not format it. Inspect the existing partitions and filesystems before attempting to mount anything.
If it is a new, empty disk, you can initialize and partition it using your preferred operating system tools.
Windows verification
For Windows Server or Windows desktop guests:
- Start the VM and log in.
- Right-click the Start menu and open Disk Management.
- Locate the newly attached physical disk.
- Verify that the reported capacity matches the expected drive.
If Windows asks to initialize an existing disk containing data, cancel the prompt until you have verified its contents.
Windows may display the physical disk as a VMware SCSI disk rather than identifying the original SATA model.
Step 7 — Verify the RDM in ESXi
After attaching the disk, you can inspect the VM configuration from ESXi.
First, list the registered virtual machines:
vim-cmd vmsvc/getallvms
Find the VMID corresponding to your virtual machine.
Then run:
vim-cmd vmsvc/device.getdevices VMID
Replace VMID with the numerical VM identifier.
Review the returned disk configuration for the RDM backing information.
You can also inspect the VM’s hardware configuration in the ESXi Host Client.
Depending on the client interface, the disk may be identified as a Mapped Raw LUN or an existing hard disk with RDM backing.
At this point, the physical SATA drive should be accessible from the guest operating system.
Step 8 — Add Additional Physical SATA Drives (Optional)
If you have multiple physical SATA drives, repeat the disk-identification and RDM-creation process for each drive.
Every physical disk requires its own RDM pointer.
Example:
vmkfstools -z \
"/vmfs/devices/disks/DISK_ID_1" \
"/vmfs/volumes/datastore1/Ubuntu Storage/SATA_RDM_1.vmdk"
vmkfstools -z \
"/vmfs/devices/disks/DISK_ID_2" \
"/vmfs/volumes/datastore1/Ubuntu Storage/SATA_RDM_2.vmdk"
vmkfstools -z \
"/vmfs/devices/disks/DISK_ID_3" \
"/vmfs/volumes/datastore1/Ubuntu Storage/SATA_RDM_3.vmdk"
After creating each mapping file, attach it to the VM as an existing hard disk.
For organizational purposes, you might use:
| Physical drive | RDM pointer | SCSI address |
|---|---|---|
| SATA Drive 1 | SATA_RDM_1.vmdk | SCSI (1:0) |
| SATA Drive 2 | SATA_RDM_2.vmdk | SCSI (1:1) |
| SATA Drive 3 | SATA_RDM_3.vmdk | SCSI (1:2) |
A separate controller is not required for every disk.
Tip: Maintain a record of each physical disk’s serial number, ESXi device identifier, RDM pointer, and VM SCSI address. This makes future drive replacements and troubleshooting much easier.
Troubleshooting
Error: Failed to create virtual disk — The system cannot find the file specified (25)
Possible cause: The destination datastore path or VM directory does not exist.
Solution: Verify the path:
ls -l "/vmfs/volumes/datastore1/"
Make sure the VM folder already exists and that the destination filename is correct.
Error: RDM mapping cannot be created
Possible cause: The SATA drive or controller does not expose the required device identification information.
Solution: Check the drive details using:
esxcli storage core device list -d "YOUR_DISK_ID"
Local RDM requires a suitable device identifier and support for SCSI Inquiry VPD page 0x83.
Not all storage devices or controllers meet these requirements.
If the hardware is incompatible, consider PCI passthrough of a dedicated SATA controller or HBA.
Error: Virtual SCSI or NVMe Devices — Value rejected
Possible cause: A problem with the RDM descriptor, filename, selected controller, or VM device configuration.
Solution: Confirm that you selected the actual RDM descriptor .vmdk, that the SCSI address is available, and that the mapping was created successfully.
Avoid manually modifying the RDM descriptor or using filenames that may conflict with VMware’s internally generated RDM naming conventions, such as names ending in -rdm.vmdk.
Disk does not appear inside the guest OS
Possible causes:
- RDM was not attached successfully.
- Incorrect SCSI controller or device assignment.
- Missing guest storage controller drivers.
- The disk is detected but offline or unmounted.
- The physical device is unavailable to the ESXi host.
Solution: Confirm the VM hardware settings and inspect the guest OS disk inventory.
On Linux, use lsblk or dmesg.
On Windows, check Disk Management and Device Manager.
Disk appears with the wrong model
This can be normal.
Although RDM maps the physical storage device, the guest operating system still accesses it through the VMware storage virtualization layer.
The guest may report a VMware disk model rather than the underlying SATA drive’s actual model.
VMware snapshots or backups fail
Physical compatibility RDMs do not support VMware-native snapshots of the mapped disk.
Snapshot-based backup software may also reject the disk or VM configuration.
Solution: Back up data from inside the guest operating system or use another backup method that explicitly supports your storage configuration. Do not rely on ordinary VMware snapshots to protect the physical RDM data.
Important Limitations
Before deploying this configuration in production, understand the following limitations.
1. Limited VMware snapshot functionality
Physical compatibility RDMs are not supported by VMware-native snapshots. This can affect backup workflows and operations that depend on snapshot creation.
2. Hardware compatibility is not guaranteed
Local SATA RDM depends on the ability of the controller and attached device to expose suitable identification information.
3. No normal vMotion portability for host-local disks
A VM using a local RDM depends on the physical storage device attached to that ESXi host. You cannot treat it like a normal shared-storage VMDK for migration between hosts.
4. The VM does not directly own the SATA controller
RDM provides access to a physical storage device, but it does not grant the VM complete control over the SATA controller.
5. Hardware monitoring can be limited
Depending on the controller, guest operating system, and drivers, the VM may not receive complete SMART information or support all drive management commands.
6. The RDM mapping is not a backup
If the underlying physical drive fails, the RDM pointer does not provide redundancy or data protection.
RDM vs. PCI Passthrough: Which Should You Use?
RDM and PCI passthrough solve similar problems but operate differently.
| Feature | SATA RDM | PCI/HBA passthrough |
|---|---|---|
| Access individual physical disks | Yes | Yes, through assigned controller |
| Requires dedicated controller | No | Usually recommended |
| ESXi controls the storage controller | Yes | No, for the assigned controller |
| Direct controller access from VM | No | Yes |
| SMART and low-level disk commands | Limited or hardware-dependent | Usually better supported |
| Suitable for a Linux storage VM | Yes, with caveats | Yes |
| Preferred for ZFS/TrueNAS | Generally not | Generally recommended |
For a simple Linux or Windows VM that needs access to an individual SATA disk, RDM may be sufficient.
For a dedicated NAS or ZFS-based storage environment, passing through an entire compatible HBA is generally the better choice.
PCI/HBA passthrough gives the guest operating system more direct control over the drives, including low-level storage operations that may be important for disk health monitoring and fault management.
Frequently Asked Questions
Does this still work in ESXi 8?
Yes. Broadcom continues to document local RDM configuration using vmkfstools -z for ESXi, including ESXi 8.
However, successful configuration depends on compatible storage hardware.
Does creating an RDM erase the physical disk?
No. Creating the RDM pointer does not format or erase the physical drive.
However, operations performed inside the guest operating system can modify or erase data on that drive.
Can I attach multiple physical disks to a single VM?
Yes. Create one RDM pointer per physical disk and attach each pointer as an existing hard disk.
Multiple mappings can share a virtual SCSI controller.
Do I need to create a new SCSI controller for every drive?
No.
You can attach multiple RDM disks to the same controller, assuming the configured controller has available device addresses.
Can I move an RDM disk to another VM?
Yes, provided the mapping remains valid and the other VM can access the underlying physical device.
Shut down the original VM, detach the RDM without deleting the physical disk’s contents, and attach the existing mapping to the destination VM.
If necessary, recreate the RDM pointer for the new VM directory.
Never make a writable local disk simultaneously available to multiple unrelated VMs without a supported shared-storage configuration. Doing so can cause filesystem corruption.
Can I use an RDM disk with VMware snapshots?
Physical compatibility RDMs do not support VMware-native snapshots of the mapped device.
Virtual compatibility mode supports more VMware virtualization features, including snapshots, subject to configuration requirements.
Is RDM the same as passing through a SATA controller?
No.
An RDM maps an individual physical storage device through the VMware storage stack.
PCI passthrough assigns a physical controller to the VM, allowing the guest to communicate with that controller more directly.
Conclusion
Raw Device Mapping remains a useful option in VMware ESXi 8 for attaching physical SATA storage devices directly to virtual machines without converting their contents into traditional VMDK virtual disks.
The procedure is straightforward:
- Enable SSH on the ESXi host.
- Identify the physical SATA disk.
- Locate the VM’s datastore directory.
- Create the RDM mapping using
vmkfstools -z. - Attach the RDM pointer as an existing hard disk.
- Power on the VM and verify the disk.
- Repeat for additional drives if needed.
The most important considerations are hardware compatibility, identifying the correct physical disk, and understanding the limitations of physical compatibility RDMs.
For individual drive access, RDM can be a practical solution. For dedicated storage servers requiring full hardware control, a compatible HBA with PCI passthrough may provide a more robust architecture.
References
- Broadcom KB 344431 — Configuring Raw Device Mapping for Local Storage
- Broadcom KB 323064 — Difference Between Physical and Virtual Compatibility RDMs
- Broadcom KB 332510 — Identifying Virtual Machines with Raw Device Mappings
- Broadcom KB 413842 — Physical RDM Backup Limitations
Last reviewed: November 2026
Platform: VMware ESXi 8.x
Guide type: Troubleshooting / How-to / Virtualization
Sources & credits
- Broadcom KB 344431 — Configuring Raw Device Mapping (RDM) for local storage ↗
- Broadcom KB 323064 — Physical and virtual compatibility RDMs ↗
- Broadcom KB 413842 — Physical RDM backup limitations ↗
- Written and curated by E Vang for The Binary Report.