"Resource busy" -Fehler beim Kopieren der Festplatte auf die SD-Karte mit "dd"

31

Ich habe Raspbian wheezy von der Raspberry Pi-Downloadseite heruntergeladen und folge der Wiki-Seite zum Einrichten der RPi Easy SD-Karte .

Ich habe die SD-Karte formatiert und cdin den Ordner mit der Raspbian-IMG-Datei verschoben. Beim Ausführen sudo dd if=2013-07-26-wheezy-raspbian.img of=/dev/disk2s1 bs=1merhalte ich jedoch die folgende Ausgabe:

dd: /dev/disk2s1: Resource busy

Ich habe es nochmal mit /dev/disk2als Ausgabedatei versucht, bekomme aber den gleichen Fehler. Ich bin nicht sicher, was ich falsch mache / warum das Bild nicht kopiert wird.

Dies ist die (relevante) Ausgabe von $ diskutil list:

/dev/disk2
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *32.5 GB    disk2
   1:             Windows_FAT_32 YQFORKLIFT              32.5 GB    disk2s1

Sowie $ df -h:

ysim:~$ df -h
Filesystem      Size   Used  Avail Capacity  Mounted on
...
/dev/disk2s1    30Gi  1.7Mi   30Gi     1%    /Volumes/YQFORKLIFT

Und das sehe ich unter System Profiler -> Card Reader :

Built in SD Card Reader:

  Vendor ID:    0x05ac
  Product ID:   0x8403
  Revision: 1.00
  Serial Number:    000000009833

SDHC Card:

  Capacity: 32.48 GB (32,479,641,600 bytes)
  Removable Media:  Yes
  BSD Name: disk2
  Partition Map Type:   MBR (Master Boot Record)
  S.M.A.R.T. status:    Not Supported
  Volumes:
YQFORKLIFT:
  Available:    32.47 GB (32,465,321,984 bytes)
  Capacity: 32.48 GB (32,475,447,296 bytes)
  Writable: Yes
  File System:  MS-DOS FAT32
  BSD Name: disk2s1
  Mount Point:  /Volumes/YQFORKLIFT
3cheesewheel
quelle
Dies sollte mit OSX oder ähnlichem getaggt werden
Andre Holzner

Antworten:

43

Ich habe meine Antwort im nächsten Abschnitt des Wikis gefunden . wie dumm von mir. Ich stellte fest, dass die Lösung nicht sehr detailliert darauf einging, welche Art von Fehlermeldungen Sie sehen, und dachte, dass es hilfreich sein könnte, die genaue Fehlermeldung "googleable" zu haben. Ich fand die Anweisungen auch etwas unklar (insbesondere um Schritt 8/9 herum; ich war mir nicht sicher, ob die Partition nicht gemountet werden musste), also versuchte ich, einige davon neu zu formulieren:

[Dies setzt voraus, dass Ihre SD-Karte bereits formatiert wurde]

  1. Führen Sie df -hden Befehl aus, um die Partition der SD-Karte zu suchen, die sich im Muster /dev/diskns1befindet. Dabei nhandelt es sich um eine Ganzzahl. In diesem Fall ist es /dev/disk2s1(die anderen beiden sind externe USB-Festplatten). Und ja, ich weiß, ich habe ihm einen komischen Namen gegeben ...

    ysim:/Volumes/Elements 1/Operating Systems/Raspberry Pi$ df -h
    Filesystem      Size   Used  Avail Capacity  Mounted on
    /dev/disk0s2   233Gi  125Gi  108Gi    54%    /
    devfs          114Ki  114Ki    0Bi   100%    /dev
    map -hosts       0Bi    0Bi    0Bi   100%    /net
    map auto_home    0Bi    0Bi    0Bi   100%    /home
    /dev/disk1s1   466Gi  351Gi  115Gi    76%    /Volumes/Elements
    /dev/disk3s1   466Gi  276Gi  189Gi    60%    /Volumes/Elements 1
    /dev/disk2s1    30Gi  1.7Mi   30Gi     1%    /Volumes/YQFORKLIFT
    
  2. Hängen Sie die Partition aus:

    ysim:/Volumes/Elements 1/Operating Systems/Raspberry Pi$ sudo diskutil unmount /dev/disk2s1
    Volume YQFORKLIFT on disk2s1 unmounted
    
  3. Vergewissern Sie sich, dass es nicht eingehängt ist bzw. beim Ausführen nicht mehr angezeigt wird df -h(andernfalls wird der Resource busyobige Fehler dadurch verursacht - siehe hier ).

    ysim:/Volumes/Elements 1/Operating Systems/Raspberry Pi$ df -h
    Filesystem      Size   Used  Avail Capacity  Mounted on
    /dev/disk0s2   233Gi  125Gi  108Gi    54%    /
    devfs          114Ki  114Ki    0Bi   100%    /dev
    map -hosts       0Bi    0Bi    0Bi   100%    /net
    map auto_home    0Bi    0Bi    0Bi   100%    /home
    /dev/disk1s1   466Gi  351Gi  115Gi    76%    /Volumes/Elements
    /dev/disk3s1   466Gi  276Gi  189Gi    60%    /Volumes/Elements 1
    
  4. Führen Sie das Programm aus , während es noch nicht gemountet ist , sudo dd bs=1m if=/path/to/extracted/raspberry-pi-img.img of=/dev/rdisknund ersetzen Sie es ndurch das Nin /dev/diskNs1aus Schritt 1. Stellen Sie sicher, dass Sie auf /dev/rdiskN(den Datenträger) und NICHT /dev/diskNs1 (die Partition) schreiben. Dies ist etwas anderes, das den Resource busyFehler verursacht.

    ysim:/Volumes/Elements 1/Operating Systems/Raspberry Pi$ sudo dd bs=1m if=2013-07-26-wheezy-raspbian.img of=/dev/rdisk2
    1850+0 records in
    1850+0 records out
    1939865600 bytes transferred in 151.663501 secs (12790590 bytes/sec)
    
  5. Die SD-Karte ist jetzt neu montiert und benannt boot!

    ysim:/Volumes/Elements 1/Operating Systems/Raspberry Pi$ df -h
    Filesystem      Size   Used  Avail Capacity  Mounted on
    /dev/disk0s2   233Gi  125Gi  108Gi    54%    /
    devfs          115Ki  115Ki    0Bi   100%    /dev
    map -hosts       0Bi    0Bi    0Bi   100%    /net
    map auto_home    0Bi    0Bi    0Bi   100%    /home
    /dev/disk1s1   466Gi  351Gi  115Gi    76%    /Volumes/Elements
    /dev/disk3s1   466Gi  276Gi  189Gi    60%    /Volumes/Elements 1
    /dev/disk2s1    56Mi   18Mi   37Mi    34%    /Volumes/boot
    
3cheesewheel
quelle
3
Super hilfsbereit danke. Ich musste sudo diskutil unmountDisk /dev/disk2stattdessen (das ist in der Tat der einzige Schritt, den ich ausführen musste, um den Befehl dd erneut auszuführen)
Geotheory
Ich habe gerade das Volume abgehängt und dann das ddrescue / dd direkt auf der Festplatte verwendet, und es hat einwandfrei funktioniert. Ich denke nicht, dass die anderen Schritte wirklich notwendig sind.
RoyS
Könnten Sie erklären , warum es sagt /dev/rdisk2statt /dev/disk2? Woher kommt der r?
Boschlueter