Erreur «ressource occupée» lors de l'utilisation de «dd» pour copier le disque img sur la carte SD


31

J'ai téléchargé Raspbian Wheezy à partir de la page de téléchargement de Raspberry Pi et à la suite de la page wiki RPi Easy SD Card Setup .

J'ai formaté la carte SD et l'ai cdédité dans le dossier contenant le fichier img Raspbian, mais lorsque je lance sudo dd if=2013-07-26-wheezy-raspbian.img of=/dev/disk2s1 bs=1m, voici la sortie que j'obtiens:

dd: /dev/disk2s1: Resource busy

Je l'ai réessayé avec /dev/disk2comme fichier de sortie, mais j'obtiens la même erreur. Je ne sais pas ce que je fais mal / pourquoi l'img n'est pas copié.

Il s'agit de la sortie (pertinente) de $ 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

Ainsi que $ df -h:

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

Et voici ce que je vois sous 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

cela devrait être étiqueté avec OSX ou similaire
Andre Holzner

Réponses:


43

J'ai trouvé ma réponse dans la toute prochaine section du wiki ; que je suis bête. J'ai trouvé que la solution ne donnait pas beaucoup de détails sur le type ou les messages d'erreur que vous voyez, et j'ai pensé qu'il pourrait être utile d'avoir le message d'erreur exact "googleable". J'ai également trouvé les instructions légèrement floues (en particulier autour de l'étape 8/9; je ne savais pas si la partition devait être laissée démontée), j'ai donc essayé de reformuler certaines d'entre elles:

[cela suppose que votre carte SD a déjà été formatée]

  1. Exécutez df -hpour localiser la partition de la carte SD, qui sera dans le modèle /dev/diskns1, où nest un entier. Dans ce cas, c'est /dev/disk2s1(les deux autres sont des disques durs USB externes). Et oui, je sais que je lui ai donné un nom étrange ...

    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. Démontez la partition:

    ysim:/Volumes/Elements 1/Operating Systems/Raspberry Pi$ sudo diskutil unmount /dev/disk2s1
    Volume YQFORKLIFT on disk2s1 unmounted
    
  3. Vérifiez qu'il a été démonté / il n'apparaît plus lorsque vous exécutez df -h(sinon c'est ce qui provoque l' Resource busyerreur ci-dessus - voir ici ).

    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. Bien qu'il soit encore démonté , courir sudo dd bs=1m if=/path/to/extracted/raspberry-pi-img.img of=/dev/rdiskn, en remplaçant nle Nà /dev/diskNs1partir de l' étape 1. Assurez - vous d'écrire /dev/rdiskN(le disque) et PAS /dev/diskNs1 (la partition), ce qui est quelque chose d' autre qui provoque l' Resource busyerreur.

    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 carte SD est maintenant remontée et nommée 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
Merci super utile. J'ai dû utiliser à la sudo diskutil unmountDisk /dev/disk2place (ce qui est en fait la seule étape que je devais prendre pour réexécuter la commande dd)
geotheory

Je viens de démonter le volume, puis j'ai utilisé le ddrescue / dd directement sur le disque, et cela a très bien fonctionné. Je ne pense pas que les autres étapes soient vraiment nécessaires.
RoyS

Pourriez-vous expliquer pourquoi il est dit /dev/rdisk2au lieu de /dev/disk2? D'où rvient-il?
oschlueter
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.