Помилка "ресурс зайнятий" при використанні `dd` для копіювання дискового img на SD-карту


31

Я завантажив програму Raspbian wheezy зі сторінки завантажень програми Raspberry Pi і слідкуйте за вікі-сторінкою RPi Easy SD Setup .

Я відформатував SD-карту і cdввійшов у папку, що містить файл img Raspbian, але коли я запускаю sudo dd if=2013-07-26-wheezy-raspbian.img of=/dev/disk2s1 bs=1m, це результат, який я отримую:

dd: /dev/disk2s1: Resource busy

Я спробував це знову з /dev/disk2вихідним файлом, але отримав таку ж помилку. Я не впевнений, що я роблю неправильно / чому малюнок не копіюється.

Це (відповідний) вихід $ 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

А також $ df -h:

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

І це те, що я бачу в System Profiler -> 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

це має бути позначено OSX або подібним
Andre Holzner

Відповіді:


43

Я знайшов свою відповідь у наступному розділі вікі ; дурний мене. Я виявив, що рішення не надто детально розглядає інформацію про тип чи повідомлення про помилки, і подумав, що може бути корисним повідомлення про помилку "googleable". Я також виявив інструкції дещо незрозумілими (особливо на етапі 8/9; я не був впевнений, чи потрібно розділ залишити без змін), тому я спробував перефразувати деякі з них:

[це передбачає, що ваша SD-карта вже відформатована]

  1. Запустіть, df -hщоб знайти розділ SD-карти, який буде за шаблоном /dev/diskns1, де nє ціле число. У цьому випадку це /dev/disk2s1(інші два - це зовнішні жорсткі диски USB). І так, я знаю, що я назвав це дивне ім'я ...

    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. Демонтуйте розділ:

    ysim:/Volumes/Elements 1/Operating Systems/Raspberry Pi$ sudo diskutil unmount /dev/disk2s1
    Volume YQFORKLIFT on disk2s1 unmounted
    
  3. Переконайтесь, що він відключений / він більше не з’являється під час запуску df -h(інакше саме це спричиняє Resource busyпомилку вище - дивіться тут ).

    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. Поки це все ще не відключено , запустіть sudo dd bs=1m if=/path/to/extracted/raspberry-pi-img.img of=/dev/rdiskn, замінивши nна Nвхід /dev/diskNs1з кроку 1. Переконайтеся, що записати на /dev/rdiskN(диск) та НЕ /dev/diskNs1 (на розділ), що є чимось іншим, що викликає Resource busyпомилку.

    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. SD-карта тепер встановлена ​​та названа 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
Супер корисна подяка Мені довелося використовувати sudo diskutil unmountDisk /dev/disk2натомість (що насправді єдиний крок, який мені потрібно було зробити, щоб повторно запустити команду dd)
geotheory

Я просто відключив гучність, а потім використав ddrescue / dd прямо на диску, і він спрацював чудово. Я не думаю, що інші кроки дійсно необхідні.
RoyS

Чи можете ви пояснити, чому це говорить /dev/rdisk2замість /dev/disk2? Звідки береться r?
oschlueter
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.