dd on Catalina gives “Permission denied” error even after grant it Full Disk Access in Security and Privacy
-
27-05-2021 - |
Question
date; sudo dd bs=1M if=2020-02-13-raspbian-buster-full.img of=/dev/rdisk3; date
Thu Apr 23 20:22:45 PDT 2020
Password:
dd: failed to open '/dev/rdisk3': Permission denied
Thu Apr 23 20:22:54 PDT 2020
I've tried giving Full Disk Access to all of these, but to no avail:
/usr/local/bin/gdd
/usr/local/bin/dd
/usr/local/opt/coreutils/libexec/gnubin/gdd
/usr/local/opt/coreutils/libexec/gnubin/dd
The device exists:
diskutil list
/dev/disk0 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *1.0 TB disk0
1: EFI EFI 209.7 MB disk0s1
2: Apple_APFS Container disk1 1.0 TB disk0s2
/dev/disk1 (synthesized):
#: TYPE NAME SIZE IDENTIFIER
0: APFS Container Scheme - +1.0 TB disk1
Physical Store disk0s2
1: APFS Volume d - Data 638.3 GB disk1s1
2: APFS Volume Preboot 81.1 MB disk1s2
3: APFS Volume Recovery 526.9 MB disk1s3
4: APFS Volume VM 3.2 GB disk1s4
5: APFS Volume d 11.1 GB disk1s5
/dev/disk2 (external, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *8.0 TB disk2
1: EFI EFI 209.7 MB disk2s1
2: Apple_HFS time-machine2 2.0 TB disk2s2
3: Apple_HFS data2 6.0 TB disk2s3
/dev/disk3 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER
0: FDisk_partition_scheme *31.9 GB disk3
1: Windows_FAT_32 NO NAME 31.9 GB disk3s1
I'm not sure what the problem is?
Solution
My bad. If this happens to you, you might want to check the switch on your SD card to see if it is set to read-only. :)
OTHER TIPS
Catalina mounts system directory's in apfs containers (think linux lvm volume) explicitly as read-only, yet another security feature.
To access raw block devices you need to remount with explicitly adding rw
options:
bsd mount: mount -uw /
or
mount -X /
, try to add -o remount
I think, look at man mount
and diskutil help
I don't recall bsd mount opts now exactly but starting macOS in single mode will give you a warning about read-only and how to remount in rw, so try booting holding cmd - s
and take a look what it says, type exit
to start launched default session ergo normal start.
using gnu mount:
mount /dev/diskXsX -o remount,rw,force
What does df -H
and mount
shows in terminal? Check if mount points are flagged as ro
only.
Update: disable this "feature" (SIP) in recovery mode:
csrutil enable --without fs
, then you can remount with rw access without disabling SIP completely - although I always disable all SIP stuff including gatekeeper sudo spctl --master-disable
but it's not recommended by apple 😀
Most probably you are using an SD card adapter. Many are defective. The best solution: use a micro SD to USB adaptor (1€ on eBay) it has no switch, it will work.
Before that try to touch the switch or reinsert, it might work.
This is bad quality contacts, even if the micro SD itself is good.