macOS Sierra:dd到USB非常慢,似乎无法使用/ dev / rdisk


6

(txs都是为了你的帮助和建议,但现在暂停这一点,同时我追踪那个SD上的格式错误。如果我不能让它工作,没有理由期待 dd 工作,即使其他人在osx上遇到类似的问题)。

作为root用户,我正在尝试写入micro SD来加载Raspberry Pi的Linux:

W$dd bs=1m if=/Users/jluc/Downloads/2017-01-11-raspbian-jessie.img of=/dev/disk2

这是非常慢的,它已经运行了8-9个小时,并且当我杀掉-9它时写得不多。

301989888 bytes transferred in 23103.442503 secs (13071 bytes/sec)

现在,在这样的写作中 解决方案:在Mac OS X上dd太慢了 ,他建议使用 的/ dev / rdisk中 ,因为它的处理方式不同。

但每次我都用过 / rdiskN中 代替 / diskN的 ,我得到:

dd: /dev/rdisk2: Input/output error

这是在塞拉利昂,但如果我没记错的话,它对约塞米蒂有效。

在MAC OS上安装操作系统映像 提到/ rdisk不起作用的可能性,建议你改用/ disk。

是什么赋予了?与早期版本相比,这对Sierra来说是新的吗?

更新:根据@oa尝试建议并仍然得到相同的错误。

搜索``让我这样: https://stackoverflow.com/questions/37232109/how-to-fix-bad-dd-img-write-to-sdcard 。现在,那篇文章是关于一个对SD而言太大的img文件。我有一个4.1Gb的img,这是一个32Gb的文件,因此不适用。

但是......我注意到的是 diskutil list 该磁盘有很多东西。

jluc@node_modules$ diskutil list /dev/disk2
/dev/disk2 (external, physical):
#:                       TYPE NAME                    SIZE         IDENTIFIER
 0:     FDisk_partition_scheme                        *32.1 GB    disk2
 1:             Windows_FAT_32 boot                    66.1 MB    disk2s1
 2:                      Linux                         32.0 GB    disk2s2

看看第一个分区,FAT32启动如何显示@ 66.MB?

再看一些:

jluc@node_modules$ df -h | egrep "disk2|Filesystem"
Filesystem                          Size   Used  Avail Capacity iused      ifree %iused  Mounted on
 /dev/disk2s1                        63Mi   21Mi   42Mi    33%     512          0  100%   /Volumes/boot

所以,想知道是不是因为启动而没有将/ dev / disk2解释为仅60 MB,因此我收到容量错误。将尝试首先重新分配它。


micro SD的写入速度等级是多少?无论您选择何种系统或块大小,都会受到严格限制。
bmike

第10类。有趣的是......之前我使用过这个完全相同的SD,但是使用El Capitan或Yosemite(不确定我使用的笔记本电脑)作为mac OS。啊......还有一点信息。我必须重新成像的原因是我(愚蠢的我),做了一个 rm -rf pi3 虽然我使用sshfs安装了pi3。所以,基本上,我 rm -f / 跑步时在pi3上。注意到,我拔掉了pi3以阻止损坏。
JL Peyret

它不能“解释为只有60 MB”。 dd 不了解磁盘结构,也不在乎;它只是复制原始块。实际上,无论卡是否格式化都没有区别。
Milliways

@Milliways。是的,那也是我所期待的。但就像我进一步提到的那样,我遇到了格式化错误,所以我可能已经对SD进行了修改。怎么样?我确定 rm -rf / 是强大的破坏性,特别是一个中途因拔掉而中断。但硬件破坏性???我将在我的笔记本电脑上安装Linux,看看我是否可以强制它以某种方式重新格式化整个SD。如果有效,我会回到osx和 dd - 只是因为我想让这个工作在osx上。如果没有,新SD。
JL Peyret

@JLPeyret您可以尝试格式化,但这也会写原始块,因此不太可能有任何区别。
Milliways

Answers:


7

我昨晚在RPi3上安装了相同的图像。

您需要先卸载磁盘。然后你可以使用sudo写入磁盘。

diskutil unmountDisk /dev/rdisk2
sudo dd bs=1m if=~/Downloads/your_image.img of=/dev/rdisk2
diskutil unmountDisk /dev/disk2

我也在macOS Sierra上。


真的试过了。同样的问题。我知道你的命令没有错。但是在SD,适配器或Mac上都会出现问题。
JL Peyret

使用上面的命令你会得到什么错误?相同的'dd:/ dev / rdisk2:输入/输出错误'?
oa-

实际上,我在磁盘本身上遇到了格式化错误。所以我可能会以某种方式腐败SD。如果情况确实如此,我会根据需要删除或更新此问题。
JL Peyret

如果仍然安装,它很可能甚至不会运行。这个答案是正确的原因是它使用rdisk2而不是disk2 - rdisk2是原始版本: daoyuan.li/solution-dd-too-slow-on-mac-os-x
Willem van Ketwich

2

这个对我有用!您可能对我使用的脚本感兴趣,该脚本可以复制图像和压缩备份。

它包括检查以防止您无意中覆盖其他内容并自动卸载SD卡。

您需要使用自定义脚本 磁盘 图片

#!/bin/bash
# script to restore backup to Pi SD card
# 2016-10-24

DSK='disk3'

# Image name (no ext)
IMG='ubuntu-standard-16.04-server-armhf-raspberry-pi'

# Check for sensible disk
export PTYPE=$(diskutil list  /dev/$DSK | awk '/GUID_partition_scheme/ {print $2}; /Apple/ {print $2}; /Windows_NTFS/ {print $2}' )
if [ "$PTYPE" ]; then
    echo "Disk not a SD Card - Contains "$PTYPE
    exit
elif [ ! /dev/$DSK ]; then
    echo "/dev/$DSK not found"
    exit
fi

echo Ensure SD partitions are unmounted!
diskutil unmountDisk /dev/$DSK

# Check if image exists - else try to uncompress
if [ -s $IMG.img ]; then
echo $IMG.img exists
elif [ -s $IMG.img.gz ]; then
echo Uncompressing $IMG.img.gz
echo Ctl+T to show progress!
time  gunzip -k $IMG.img.gz
fi

echo please wait - This takes some time
echo Ctl+T to show progress!
time sudo dd if=$IMG.img of=/dev/r$DSK bs=1m

exit

使用此脚本可以达到什么速度?它与相关SD媒体的理论速度相比如何?
bmike

@bmike复制8GB图像需要不到15分钟。我实际上还没有计时一段时间。这大约是32MB /秒。脚本中没有什么特别的,只是正常 dd。当我不使用原料时,可能需要很长时间。
Milliways

谢谢!这与我的经验相当 - 在该范围内编写系统需要15到20分钟。具体将有助于人们知道他们正在看别人是谁。
bmike
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.