Livre-se da mensagem "Recurso ocupado" no Mac OS X

12

Estou tentando reparar uma HSF+tabela de partição perdida em um iMac executando o icomando dentro de sudo pdisk /dev/rdisk1. Depois de tentar executar o icomando, recebo uma mensagem de erro informando que o recurso está ocupado:

pdisk: não é possível abrir o arquivo '/ dev / rdisk1' para gravação (Recurso ocupado)

comando i no pdisk / dev / rdisk1

Eu obter o mesmo resultado quando se utiliza /dev/disk1, /dev/rdisk2e /dev/disk2.

Eu também tentei correr sudo gpt /dev/(r)disk(1-3). Curiosamente, o único resultado obtido é /dev/rdisk3:

sudo gpt / dev / (r) disco (1-3).  / dev / rdisk3 fornece um resultado

Então, tento ver o que está usando o recurso executando sudo lsof /dev/rdisk1, assim como sudo lsof /dev/disk1. Nada aparece:

lsof em / dev / disk1 e / dev / rdisk1

Também tentei desmontar o dispositivo executando sudo umount /dev/disk1também sudo umount /dev/rdisk1. Recebo uma mensagem dizendo que o dispositivo não está montado no momento:

desmontando / dev / rdisk1 e / dev / disk1

Aqui está uma lista de todos os discos conectados ao computador, encontrados executando sudo DiskUtil list:

Comando da lista DiskUtil

/ dev / disk0 - O disco do computador ao qual o iMac está conectado.

/ dev / disk1 - O disco rígido do iMac.

/ dev / disk2 - O SSD do iMac.

/ dev / disk3 - Não sei o que é isso. Eu diria que é o HDD e SSD combinados do iMac.

/ dev / disk4 - Um disco rígido externo.

/ dev / disk5 - Também não tenho idéia do que é isso. Talvez utilitários para / dev / disk4?

O iMac possui uma unidade de fusão e /dev/disk1é o HDD. Eu tentei com o SSD /dev/disk2, mas obtive o mesmo resultado.

Eu tenho o iMac conectado a outro computador por meio de um raio e, mantendo-o tquando o iMac foi inicializado , ele Macintosh HDapareceu como um dispositivo externo no outro computador.

Como eu poderia me livrar dessa mensagem? Tentei reiniciar o iMac e o computador ao qual está conectado.

Jojodmo
fonte
1
Esta pergunta poderia ser melhor formulada em Pergunte a Diferente ... Enfim: Esse é o modo de usuário único que você está usando? Em que você está inicializado agora?
TheBro21

Respostas:

5

Primeiro, o pdiskcomando é usado para modificar as unidades particionadas usando um Mapa de Partições da Apple. Somente Macs baseados em PowerPC usam esses.

Em segundo lugar, seus umountcomandos acima estão falhando porque / dev / disk1 e / dev / disk2 não estão montados. Normalmente, apenas partições são montadas (por exemplo, / dev / disk0s3), embora no seu caso, você tenha um Fusion Drive. Você está absolutamente correto de que / dev / disk3 não é um disco 'real'. É a capacidade combinada de / dev / disk1s2 e / dev / disk2s2. Se você digitar umount /dev/disk3, isso deve funcionar. Obviamente, nada está montado em / dev / disk1 ou / dev / disk2, portanto você precisará emitir um diskutil unmountdisk /dev/diskNpara eles. Isso deve liberá-los para que o gptcomando pare de fornecer o erro de recurso ocupado.

As unidades de fusão usam as partições do Apple CoreStorage como contêineres, o que é análogo aos discos dinâmicos da Microsoft. Infelizmente, eles dificultam a manipulação das partições e tiram muitos produtos de recuperação de disco / partição da mesa.

No entanto, além dos problemas acima, não sei exatamente qual é o problema. Você menciona que a tabela de partição está perdida, mas a saída de diskutil listsugere que suas tabelas de partição parecem estar OK.

Você pode elaborar um pouco mais sobre o problema que estava tendo?

Wes Sayeed
fonte
Acabei de atualizar a pergunta. Estou assumindo gptque seria a ferramenta correta para usar no lugar de pdisk?
precisa saber é o seguinte
Corrigir. Atualizei minha resposta para refletir as informações adicionais que você postou.
Wes Sayeed
Você pode esquecer-se sobre a partição perdida, o importante é por isso que estou recebendo esta mensagem
Jojodmo
4

tente o seguinte: diskutil unmountDisk force / dev / disk0 (ou qualquer que seja o seu disco)

user774082
fonte
Isso não funciona.
Adib
@adib Acabei por correr em um problema semelhante (continuava ficando "Resource Busy", apesar de lsofnão mostrar nada) e diskutil unmountDisk force /dev/disk<#>funcionou para mim! Rock
RocketNuts 27/03/19
Funcionou para mim.
OuzoPower 14/02
0

Eu tinha um problema semelhante ao OP, então pensei em compartilhar o que encontrei. Meu cenário foi diferente nisso;

1) Comprei um novo Sandisk 32GBUSB Stick que precisava usar em uma distro unix diferente mais tarde. O USB veio pré-formatado como de costume, com o FATsistema de arquivos e alguns arquivos para backup, etc.

2) Eu só tenho um Macbook Pro (MacOS 10.14.4)em mãos, mas precisava formatar o stick para o ext2qual não é tão simples quanto você gostaria.

Ao conectar meu novo pendrive, de fato, recebi o seguinte;

Filesystem    512-blocks      Used Available Capacity iused               ifree %iused  Mounted on
/dev/disk1s1   489825072 422619568  51147752    90% 2408063 9223372036852367744    0%   /
devfs                673       673         0   100%    1164                   0  100%   /dev
/dev/disk1s4   489825072  14680896  51147752    23%       7 9223372036854775800    0%   /private/var/vm
map -hosts             0         0         0   100%       0                   0  100%   /net
map auto_home          0         0         0   100%       0                   0  100%   /home
map -fstab             0         0         0   100%       0                   0  100%   /Network/Servers
/dev/disk1s3   489825072   1021032  51147752     2%      30 9223372036854775777    0%   /Volumes/Recovery
/dev/disk2s1    60033120     26976  60006144     1%       0                   0  100%   /Volumes/SANDISK32GB

A execução do e2fsprogs para formatar o pen drive resultou no seguinte;

sudo $(brew --prefix e2fsprogs)/sbin/mkfs.ext2 /dev/disk2

mke2fs 1.44.5 (15-Dec-2018)
/dev/disk2: Resource busy while setting up superblock

O que eu precisava fazer era desmontar a partição FAT do Mac para poder formatá-la no ext2 conforme necessário;

diskutil unmountdisk /dev/disk2s1

Em seguida, execute o comando e2fsprogs original para formatar o disco USB.

Observe a diferença entre o nome do sistema de arquivos e o nome do sistema de arquivos montado

/ dev / disk2s1 montado vs / dev / disk2 dispositivo .

Chris Gillatt
fonte