我正在按照如何在 OS X 上创建可启动的 USB 盘在 USB 上安装 Ubuntu,但我一直收到错误:
dd: /dev/disk4: Permission denied
当我尝试运行步骤 8 时,即使我使用sudo
并输入我的密码。
我知道这可能是一个愚蠢的小错误,但我对终端不够熟悉,无法自己解决这个问题。有谁能帮忙吗?(顺便说一下,我使用的是 OSX。)
答案1
造成这种情况的一个常见原因是 SD 卡“锁定”。不幸的是,MacBook Pro 和 Air 中的传感器似乎会卡住。它可以用一罐压缩空气固定。
我们很多人都遇到过这是尝试为 Raspberry Pi 映像 SD 卡。使用该设备时,您别无选择,只能从 SD 启动。
这引出了一个有趣的事实。锁开关似乎是一个纯机械的“意图指示器”必须由主机设备感知。这类似于 3.5 英寸软盘驱动器上的锁定开关的工作方式,因此对于我们这些年龄足够大的人来说,必须在 5.25 英寸软盘上打一个洞才能使其可写入,这应该并不令人震惊。(并用胶带盖住洞以使其变为只读!)但是,因为它被称为安全数字并且是固态的,您会期望卡能够自我保护,而不是依赖主机。
答案2
我也遇到过这种情况。使用“diskutil”检查 SD 卡的设备,结果显示为:
diskutil list
然后卸载它(不要使用‘Finder’卸载,它不起作用):
diskutil unmountDisk /dev/disk_4
现在使用‘dd’命令加载您的图像:
sudo bash -c 'gzip -dc the_image_file.img.gz | dd of=/dev/disk_4'
我希望这有帮助。
答案3
由于 sudo(本质上是“root”)无法使用 dd 访问设备,因此似乎错误消息“权限被拒绝”实际上并不意味着 root 存在权限问题。换句话说,这是一个转移注意力的幌子。
再次检查设备是否仍然处于挂载状态 - 按照步骤 7 再次运行卸载命令,并再次检查它是否确实是已卸载但仍可作为设备访问。
我在制作 USB 启动设备时遇到的一个常见问题Linux的是分区表不一致。彻底删除分区表并重新创建,然后创建新分区为 FAT 并格式化。我在 Linux 下遇到的错误与此错误没有任何关系,所以我希望这就是你的问题所在。
我将尝试在 OSX 下删除分区表。请注意,我是 Linux 用户,因此我依赖于 OSX 是相似的,并且在 Google 搜索中似乎也发现了针对 OSX 的相同内容。
首先,我们将使用 dd 清除 USB 驱动器上的分区表。在终端中输入:
sudo dd if=/dev/zero of=/dev/disk4 bs=512 count=1
这应该会覆盖设备的前 512 个字节,从而破坏分区表。我找到了以下说明这里似乎表明
sudo dd if=/dev/zero of=/dev/disk4 bs=1 count=1024
但对于 OSX 来说,差异很小,我相信最终结果应该相同。对于任何 dd 操作,请确保您有正确的分区,因为按下 后设备上将不会剩下任何数据enter。
接下来,我认为您应该使用磁盘实用程序重新创建分区表和新分区,并将其格式化为 FAT。我是 Linux 用户,所以恐怕我无法更具体,但我认为磁盘实用程序应该会抱怨没有分区表,要么为您创建一个,要么提示您这样做。
答案4
在 dd 命令前使用 sudo
sudo dd if=/Users/JPurcell/Downloads/Fedora-18-x86_64-Live-Desktop.iso of=/dev/disk2
警告:不当使用 sudo 命令可能会导致数据丢失或删除重要的系统文件。使用 sudo 时请仔细检查您的输入。输入“man sudo”可了解更多信息。
这为我解决了权限被拒绝的问题。它现在似乎可以正常工作了。
并且我之前是 root。我还做了
sudo dd if=/dev/zero of=/dev/disk4 bs=1 count=1024 before sudo dd if=/Users/JPurcell/Downloads/Fedora-18-x86_64-Live-Desktop.iso of=/dev/disk2
我直接做了,没有重新格式化 USB 驱动器。我不知道它是否成功,但驱动器和终端上的指示灯闪烁,没有显示任何错误。