Existem muitas ferramentas úteis para criar discos inicializáveis USB no Windows, como Rufus , mas há muito menos ferramentas desse tipo no MacOS. Aqui estão DD
as etapas para criar um disco inicializável USB Linux com comandos no MacOS.
Passos
Exibir partições de montagem de disco
Use o comando diskutil list
para visualizar a partição da unidade flash USB e encontre o ponto de montagem da unidade flash USB, onde o ponto de montagem é/dev/disk2
$ diskutil list
/dev/disk2 (external, physical):
#: TYPE NAME SIZE IDENTIFIER
0: FDisk\_partition\_scheme \*31.0 GB disk2
1: DOS\_FAT\_32 UNTITLED 31.0 GB disk2s1
Desinstale a montagem do disco U
Use diskutil unmountDisk
o comando para desmontar o disco U.
$ diskutil unmountDisk /dev/disk2
Unmount of all volumes on disk2 was successful
Se você gravar no disco de inicialização sem desmontar o ponto de montagem, será solicitado dd: /dev/disk2: Resource busy
.
use dd para escrever iso
Use o comando dd para gravar o CentOS no disco de inicialização,
sudo dd if=~/carl\_workSpace/software/os/CentOS-7-x86\_64-DVD-1810.iso of=/dev/rdisk2 bs=1m
Perceber:
- Aqui
~/carl_workSpace/software/os/CentOS-7-x86_64-DVD-1810.iso
está o caminho do meu CentOS local, que precisa ser substituído pelo caminho real /dev/rdisk2
É o ponto de montagem do disco USB listado acimadiskutil list
, e observe que há um r extra na frente do disco aqui , querdisk2
não édisk2
,rdisk2
odisk2
disco original, e o objetivo é gravar mais rápido.
Demora alguns minutos para escrever, durante os quais você pode usar CTRL + T para visualizar o progresso da escrita, conforme mostrado abaixo:
109+0 records in
108+0 records out
113246208 bytes transferred in 7.430910 secs (15239884 bytes/sec)
Você também pode usar iostat
para visualizar o progresso da gravação do disco
$ iostat -w 5
disk0 disk2 cpu load average
KB/t tps MB/s KB/t tps MB/s us sy id 1m 5m 15m
42.68 14 0.58 849.97 0 0.00 7 4 89 3.84 3.42 2.67
450.16 15 6.50 1024.00 7 7.19 3 3 94 3.70 3.39 2.67
85.34 124 10.33 1024.00 9 8.80 6 4 90 3.64 3.39 2.67
$
Quando finalmente concluído, a saída do comando dd:
4376+0 records in
4376+0 records out
4588568576 bytes transferred in 539.126637 secs (8511115 bytes/sec)
Depois que a gravação estiver concluída, o Macos terá uma caixa de prompt dizendo "Este computador não pode ler o disco que você inseriu".
O disco de inicialização USB não pode ser lido normalmente por Macos, mas pode ser usado como um disco de inicialização para instalar o CentOS.
Use diskutil list
para visualizar as informações de partição do disco U neste momento.
$ diskutil list
...
/dev/disk2 (external, physical):
#: TYPE NAME SIZE IDENTIFIER
0: FDisk\_partition\_scheme \*31.0 GB disk2
1: 0xEF 8.9 MB disk2s2
$
Ejetar a unidade USB
Use o aplicativo "Disk Utility" ou comandos diskutil eject
para ejetar a unidade flash USB.
diskutil eject /dev/disk2
ampliar
A diferença entre /dev/disk e /dev/rdisk em Macos
Primeiro olhe man hdiutil
a descrição:
Como qualquer entrada /dev pode ser tratada como uma imagem de disco bruta, vale a pena observar quais dispositivos podem ser acessados, quando e como. Os nós /dev/rdisk são dispositivos de caracteres especiais, mas são “brutos” no sentido BSD e forçam E/S alinhadas a blocos. Eles estão mais próximos do disco físico do que do cache do buffer. Os nós /dev/disk, por outro lado, são dispositivos especiais de bloco em buffer e são usados principalmente pelo código do sistema de arquivos do kernel.
/dev/rdisk
é um modo de leitura bruta que não passa pelo mecanismo de cache de arquivos do sistema de arquivos, portanto, é /dev/disk
mais rápido que a velocidade.
Vamos usar o tamanho de 918M CentOS-7-x86_64-Minimal-1810.iso
como exemplo para comparar /dev/rdisk
e /dev/disk
gravar a velocidade. Os comandos para ambos são
# 写入/dev/rdisk的速度
$ sudo dd if=CentOS-7-x86\_64-Minimal-1810.iso of=/dev/rdisk2 bs=1m
918+0 records in
918+0 records out
962592768 bytes transferred in 106.192945 secs (9064564 bytes/sec)
# 写入/dev/disk的速度
sudo dd if=CentOS-7-x86\_64-Minimal-1810.iso of=/dev/disk2 bs=1m
918+0 records in
918+0 records out
962592768 bytes transferred in 3016.605565 secs (319098 bytes/sec)
Pode-se ver que a gravação /dev/rdisk
demorou 106 segundos, enquanto a gravação /dev/disk
demorou 3016 segundos, a diferença é enorme.