Kesalahan "Sumberdaya sibuk" saat menggunakan `dd` untuk menyalin disk img ke kartu SD

31

Saya telah mengunduh wheezy Raspbian dari halaman unduhan Raspberry Pi dan mengikuti halaman wiki Pengaturan Kartu SD RPi .

Saya memformat kartu SD, dan cdmenyunting ke dalam folder yang berisi file img Raspbian, tetapi ketika saya menjalankan sudo dd if=2013-07-26-wheezy-raspbian.img of=/dev/disk2s1 bs=1m, ini adalah output yang saya dapatkan:

dd: /dev/disk2s1: Resource busy

Saya mencobanya lagi dengan /dev/disk2sebagai file output, tetapi mendapatkan kesalahan yang sama. Saya tidak yakin apa yang saya lakukan salah / mengapa img tidak disalin.

Ini adalah output (relevan) dari $ 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

Dan juga $ df -h:

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

Dan inilah yang saya lihat di bawah 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
sumber
ini harus ditandai dengan OSX atau serupa
Andre Holzner

Jawaban:

43

Saya menemukan jawaban saya di bagian wiki berikutnya ; saya konyol. Saya menemukan bahwa solusinya tidak terlalu merinci tentang jenis atau pesan kesalahan apa yang Anda lihat, dan saya pikir mungkin membantu untuk memiliki pesan kesalahan yang tepat "googleable". Saya juga menemukan instruksi sedikit tidak jelas (terutama sekitar langkah 8/9; Saya tidak yakin apakah partisi harus dibiarkan tidak terpasang), jadi saya mencoba untuk mengulangi beberapa di antaranya:

[ini mengasumsikan bahwa kartu SD Anda telah diformat]

  1. Jalankan df -huntuk menemukan partisi kartu SD, yang akan berada dalam pola /dev/diskns1, di mana nbilangan bulat. Dalam hal ini, itu /dev/disk2s1(dua lainnya adalah hard drive USB eksternal). Dan ya, saya tahu saya memberinya nama yang aneh ...

    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. Lepaskan partisi:

    ysim:/Volumes/Elements 1/Operating Systems/Raspberry Pi$ sudo diskutil unmount /dev/disk2s1
    Volume YQFORKLIFT on disk2s1 unmounted
    
  3. Periksa apakah sudah di-unmount / tidak lagi muncul ketika Anda menjalankan df -h(jika tidak itulah yang menyebabkan Resource busykesalahan di atas - lihat di sini ).

    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. Sementara itu masih dilepas , jalankan sudo dd bs=1m if=/path/to/extracted/raspberry-pi-img.img of=/dev/rdiskn, ganti ndengan Nin /dev/diskNs1dari langkah 1. Pastikan untuk menulis ke /dev/rdiskN(disk) dan BUKAN /dev/diskNs1 (partisi), yang merupakan hal lain yang menyebabkan Resource busykesalahan.

    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. Kartu SD sekarang dipasang kembali dan dinamai 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
sumber
3
Terima kasih banyak membantu. Saya harus menggunakan sudo diskutil unmountDisk /dev/disk2sebagai gantinya (yang sebenarnya satu-satunya langkah yang saya perlukan untuk menjalankan kembali perintah dd)
geotheory
Saya baru saja melepas volume dan kemudian menggunakan ddrescue / dd langsung pada disk, dan itu berfungsi dengan baik. Saya tidak berpikir langkah lain, benar-benar diperlukan.
RoyS
Bisakah Anda menjelaskan mengapa dikatakan /dev/rdisk2bukan /dev/disk2? Dari mana datangnya r?
oschlueter