OS X: dd – создание загрузочного USB

By | 03/04/2016
 

OS_X_Mavericks_LogoНаходим подключенную флешку:

$ diskutil list
/dev/disk0
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *251.0 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:          Apple_CoreStorage                         250.1 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3
/dev/disk1
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                  Apple_HFS Macintosh HD           *249.8 GB   disk1
   ...

В данном случае она определяется как /dev/disk2:

...
/dev/disk2
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *15.6 GB    disk2
   1:                      Linux                         15.6 GB    disk2s1
...

Отмонтируем ее:

$ diskutil unmountDisk /dev/disk2
Unmount of all volumes on disk2 was successful

Записывать будем Slackware:

$ ls -l slackware64-14.1-install-dvd.iso 
-rw-r--r--@ 1 username  staff  2438987776 Feb 29 10:28 slackware64-14.1-install-dvd.iso

Конвертируем .iso в .img:

$ hdiutil convert -format UDRW -o slackware64-14.1-install-dvd.img slackware64-14.1-install-dvd.iso 
...
created: /Users/username/Downloads/slackware64-14.1-install-dvd.img.dmg

hdiutil добавляет расширение .dmg к созданному файлу, поэтому переименовываем:

$ mv slackware64-14.1-install-dvd.img.dmg slackware64-14.1-install-dvd.img

Запускаем dd с опциями:

  • bs=4096block size, размер блока в байтах, которыми будет переноситься информация:
    $ diskutil info / | grep "Block Size"
       Device Block Size:        512 Bytes
       Allocation Block Size:    4096 Bytes
    
  • ifinput file (slackware64-14.1-install-dvd.iso в данном случае)
  • ofout file (/dev/disk2 в данном случае)

Для ускорения записи мы будем использовать файл /dev/rdisk2, а не /dev/disk2 (тут>>> детали):

$ file /dev/disk2
/dev/disk2: block special
$ file /dev/rdisk2
/dev/rdisk2: character special

Для наглядности – устанавливаем pv:

$ brew install pv

Перед выполнением следующего шага – замечание: после завершения копирования – появится окно:

Screen Shot 2016-03-01 at 15.58.03

Проигнорируйте его и ничего не нажимайте, а выполните eject (см. ниже).

Выполняем:

$ sudo pv -tpreb slackware64-14.1-install-dvd.img | sudo dd bs=4m of=/dev/rdisk2
2.27GiB 0:14:13 [2.73MiB/s] [==========================================================================================================================================================>] 100%            
0+37210 records in
0+37210 records out
2438584320 bytes transferred in 853.253621 secs (2857983 bytes/sec)

По окончании записи – извлекаем диск:

$ diskutil eject /dev/disk2
Disk /dev/disk2 ejected

Готово.