Sbarazzati del messaggio "Risorsa occupata" su Mac OS X.


12

Sto cercando di riparare una HSF+tabella delle partizioni persa un iMac eseguendo il icomando all'interno di sudo pdisk /dev/rdisk1. Quando provo a eseguire il icomando, viene visualizzato un messaggio di errore che indica che la risorsa è occupata:

pdisk: impossibile aprire il file '/ dev / rdisk1' per la scrittura (risorsa occupata)

comando in pdisk / dev / rdisk1

Ottengo lo stesso risultato quando si usa /dev/disk1, /dev/rdisk2e /dev/disk2.

Ho anche provato a correre sudo gpt /dev/(r)disk(1-3). È interessante notare che ottengo solo un risultato da /dev/rdisk3:

sudo gpt / dev / (r) disk (1-3).  / dev / rdisk3 dà un risultato

Quindi, provo a vedere cosa sta usando la risorsa eseguendo sudo lsof /dev/rdisk1, nonché sudo lsof /dev/disk1. Non viene visualizzato nulla:

lsof su / dev / disk1 e / dev / rdisk1

Ho anche provato smontare il dispositivo eseguendo sudo umount /dev/disk1così come sudo umount /dev/rdisk1. Ricevo un messaggio che dice che il dispositivo non è attualmente montato:

smontaggio / dev / rdisk1 e / dev / disk1

Ecco un elenco di tutti i dischi collegati al computer, trovati eseguendo sudo DiskUtil list:

Comando elenco DiskUtil

/ dev / disk0 - Il disco del computer a cui è collegato l'iMac.

/ dev / disk1 - L'HDD di iMac.

/ dev / disk2 - L'SSD di iMac.

/ dev / disk3 - Non so cosa sia. Suppongo che sia l'HDD e l'SSD combinati dell'iMac.

/ dev / disk4 - Un disco rigido esterno.

/ dev / disk5 - Non ho idea di cosa sia. Forse utilità per / dev / disk4?

L'iMac ha un'unità di fusione ed /dev/disk1è l'HDD. Ho provato con l'SSD /dev/disk2, ma ottengo lo stesso risultato.

Ho l'iMac collegato a un altro computer tramite fulmine e, tenendo premuto tquando l'iMac è stato avviato , si è Macintosh HDpresentato come un dispositivo esterno sull'altro computer.

Come potrei liberarmi di questo messaggio? Ho provato a riavviare sia l'iMac che il computer a cui è collegato.



1
Questa domanda potrebbe essere meglio posta su Chiedi diverso ... Comunque: quella modalità utente singolo che stai utilizzando? In che cosa sei avviato adesso?
TheBro21

Risposte:


5

Prima di tutto, il pdiskcomando viene utilizzato per modificare le unità partizionate utilizzando una mappa delle partizioni Apple. Solo i Mac basati su PowerPC usano quelli.

In secondo luogo, i umountcomandi precedenti non riescono perché / dev / disk1 e / dev / disk2 non sono montati. Solitamente vengono montate solo le partizioni (ad esempio / dev / disk0s3), sebbene nel tuo caso tu abbia un Fusion Drive. Hai assolutamente ragione che / dev / disk3 non è un disco "reale". È la capacità combinata di / dev / disk1s2 e / dev / disk2s2. Se digiti umount /dev/disk3, dovrebbe funzionare. Ovviamente, nulla è montato su / dev / disk1 o / dev / disk2, quindi dovrai emettere un diskutil unmountdisk /dev/diskNper quelli. Ciò dovrebbe liberarli in modo che il gptcomando smetta di darti l'errore di risorse occupate.

Fusion Drives utilizza le partizioni Apple CoreStorage come contenitori, un po 'analogo ai dischi dinamici di Microsoft. Sfortunatamente, rendono più difficile la manipolazione delle partizioni e eliminano molti prodotti di ripristino di dischi / partizioni dal tavolo.

Tuttavia, a parte i problemi di cui sopra, non sono esattamente sicuro di quale sia il problema. Dici che la tabella delle partizioni è andata persa, ma l'output di diskutil listsuggerisce che le tue tabelle delle partizioni sembrano essere a posto.

Puoi approfondire un po 'di più il problema che stavi riscontrando?


Ho appena aggiornato la domanda. Suppongo che gptsarebbe lo strumento corretto da utilizzare al posto di pdisk?
Jojodmo,

Corretta. Ho aggiornato la mia risposta per riflettere le informazioni aggiuntive che hai pubblicato.
Wes Sayeed,

Puoi dimenticare la partizione persa, l'importante è perché sto ricevendo questo messaggio
Jojodmo,

4

prova questo: diskutil unmountDisk force / dev / disk0 (o qualunque sia il tuo disco)


Questo non funziona
adib,

@adib Mi è capitato di incorrere in un problema simile (continuavo a ottenere "Risorsa occupata" anche se lsofnon mostrava nulla) e diskutil unmountDisk force /dev/disk<#>ha funzionato per me! 👍
RocketNuts,

Ha funzionato per me.
OuzoPower

0

Ho avuto un problema simile al PO, quindi ho pensato di condividere ciò che ho trovato. Il mio scenario era diverso in quello;

1) Avevo acquistato una Sandisk 32GBchiavetta USB nuova di zecca che dovevo utilizzare in seguito su una diversa distribuzione Unix. L'USB è venuto preformattato come di solito, con il FATfilesystem e alcuni file per il backup, ecc

2) Ho solo un Macbook Pro (MacOS 10.14.4)a portata di mano, ma avevo bisogno di formattare la levetta su ext2cui non è così semplice come vorresti.

Quando ho inserito la mia nuova chiavetta USB, mi è stato effettivamente incontrato quanto segue;

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

L'esecuzione di e2fsprogs per formattare la chiavetta USB ha comportato quanto segue;

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

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

Quello che dovevo fare era smontare la partizione FAT dal Mac in modo da poterla formattare in ext2 come richiesto;

diskutil unmountdisk /dev/disk2s1

Quindi eseguire il comando originale e2fsprogs per formattare il disco USB.

Notare la differenza tra il nome del filesystem e il nome del filesystem montato

/ dev / disk2s1 montato vs / dev / disk2 dispositivo .

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.