Unable To Lock Device. Make Sure You Do Not Have Open Files On This Device And Try Again «HD · FHD»
lsof /dev/sdb reveals a stale NFS lock or a process like gvfsd-trash holding the device.
1. Overview | Attribute | Details | |-----------|---------| | Error Message | Unable to lock device. Make sure you do not have open files on this device and try again. | | Commonly Occurs In | Disk utilities (e.g., fdisk , parted ), filesystem operations (e.g., mkfs , mount ), partition managers (GParted, Disk Utility), and virtualization tools (when accessing raw disks). | | Type | Resource busy / locking failure | | Typical OS | Linux, macOS, BSD, some Unix-like environments | 2. Root Cause The error indicates that the operating system’s device lock mechanism is active. A process or kernel subsystem has an open handle to the device (or a partition on it), preventing exclusive access. lsof /dev/sdb reveals a stale NFS lock or
fuser -km /dev/sdX1 # kill processes using the mount umount -l /dev/sdX1 # lazy unmount (detach now, clean up later) swapoff /dev/sdX2 # if a swap partition exists 4.3 Deactivate LVM or RAID components lvchange -an /dev/vg_name/lv_name # deactivate LVM mdadm --stop /dev/mdX # stop RAID array 4.4 Stop automount services (temporarily) systemctl stop udisks2 systemctl stop autofs 4.5 Force release (last resort – data unsafe) echo 1 > /sys/block/sdX/device/delete # SCSI device removal (re-scan required) hdparm --user-master u --security-unlock "" /dev/sdX # (not recommended) ⚠️ Force methods may cause data loss or system instability. 5. Prevention & Best Practices | Practice | Reason | |----------|--------| | Always unmount before partitioning/formatting | Prevents locks | | Use partprobe or blockdev --rereadpt after partitioning | Informs kernel without full unlock | | Avoid using -f (force) flags on mount commands arbitrarily | Masks underlying busy issues | | Check lsof / fuser habitually | Quick diagnosis | | Use wipefs carefully | Removes signatures without locking full device | 6. Example Scenario Symptom: User runs fdisk /dev/sdb and sees the error, even though mount | grep sdb shows nothing. Make sure you do not have open files
fuser -vm /dev/sdX1 swapon --show cat /proc/swaps 3.4 Check for LVM or RAID pvs | grep sdX mdadm --detail /dev/md* 4. Resolution Steps 4.1 Safely unmount all partitions umount /dev/sdX1 # repeat for each partition umount /dev/sdX # unmount the whole device if mounted directly If unmount fails with “target is busy”: Root Cause The error indicates that the operating
kill -9 <PID> fdisk /dev/sdb # now works | Similar error | Context | |---------------|---------| | Device or resource busy | Generic – often same cause | | Can't open /dev/sdX: Resource temporarily unavailable | Lock held by another process | | Failed to open device: Device or resource busy | Same, from mkfs or dd | 8. Conclusion The "unable to lock device" error is a protective mechanism preventing concurrent destructive access to a storage device. The solution is almost always to identify and release the holding process or mount, not to forcibly override the lock. Systematic checking with lsof , fuser , and mount will resolve nearly all cases safely.
lsblk | grep sdX mount | grep sdX lsof | grep '/dev/sdX' fuser -v /dev/sdX For a specific partition: