Errore "Risorsa occupata" quando si utilizza `dd` per copiare il disco img sulla scheda SD


31

Ho scaricato Raspbian wheezy dalla pagina dei download di Raspberry Pi e seguendo la pagina wiki di RPi Easy SD Card Setup .

Ho formattato la scheda SD cded ho inserito nella cartella contenente il file img di Raspbian, ma quando corro sudo dd if=2013-07-26-wheezy-raspbian.img of=/dev/disk2s1 bs=1m, questo è l'output che ottengo:

dd: /dev/disk2s1: Resource busy

L'ho provato di nuovo con /dev/disk2come file di output, ma ho ottenuto lo stesso errore. Non sono sicuro di cosa sto facendo di sbagliato / perché l'IMG non viene copiato.

Questo è l'output (rilevante) di $ 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

Oltre a $ df -h:

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

E questo è quello che vedo in 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

questo dovrebbe essere taggato con OSX o simili
Andre Holzner,

Risposte:


43

Ho trovato la mia risposta nella sezione successiva del wiki ; sciocco me. Ho scoperto che la soluzione non è andata molto nel dettaglio riguardo al tipo o ai messaggi di errore che vedi, e ho pensato che potrebbe essere utile avere l'esatto messaggio di errore "googleable". Ho anche trovato le istruzioni leggermente poco chiare (specialmente attorno al passaggio 8/9; non ero sicuro se la partizione doveva essere lasciata smontata), quindi ho provato a riformularne alcune:

[questo presuppone che la tua scheda SD sia già stata formattata]

  1. Esegui df -hper individuare la partizione della scheda SD, che sarà nello schema /dev/diskns1, dove nè un numero intero. In questo caso, è /dev/disk2s1(gli altri due sono dischi rigidi USB esterni). E sì, so di avergli dato un nome strano ...

    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. Smonta la partizione:

    ysim:/Volumes/Elements 1/Operating Systems/Raspberry Pi$ sudo diskutil unmount /dev/disk2s1
    Volume YQFORKLIFT on disk2s1 unmounted
    
  3. Verifica che sia stato smontato / che non venga più visualizzato quando esegui df -h(altrimenti è ciò che causa l' Resource busyerrore sopra - vedi qui ).

    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. Mentre è ancora smontato , esegui sudo dd bs=1m if=/path/to/extracted/raspberry-pi-img.img of=/dev/rdiskn, sostituendolo ncon Nin /dev/diskNs1dal passaggio 1. Assicurati di scrivere su /dev/rdiskN(il disco) e NOT /dev/diskNs1 (la partizione), che è qualcos'altro che causa l' Resource busyerrore.

    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. La scheda SD è ora rimontata e denominata 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
    

3
Grazie super utile. Ho dovuto usare sudo diskutil unmountDisk /dev/disk2invece (che in realtà è l'unico passo che dovevo fare per rieseguire il comando dd)
geotheory

Ho appena smontato il volume e poi ho usato ddrescue / dd direttamente sul disco, e ha funzionato bene. Non penso che gli altri passaggi siano davvero necessari.
RoyS,

Potresti spiegare perché dice /dev/rdisk2invece di /dev/disk2? Da dove rviene?
Oschlueter,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.