Избавьтесь от сообщения «Resource Busy» в Mac OS X

12

Я пытаюсь восстановить потерянную HSF+таблицу разделов iMac, выполнив iкоманду внутри sudo pdisk /dev/rdisk1. Когда я пытаюсь iвыполнить команду, я получаю сообщение об ошибке, в котором говорится, что ресурс занят:

pdisk: невозможно открыть файл '/ dev / rdisk1' для записи (ресурс занят)

я командую в pdisk / dev / rdisk1

Я получаю тот же результат при использовании /dev/disk1, /dev/rdisk2и /dev/disk2.

Я тоже пробовал бегать sudo gpt /dev/(r)disk(1-3). Интересно, что я получаю результат только от /dev/rdisk3:

sudo gpt / dev / (r) диск (1-3).  / dev / rdisk3 дает результат

Итак, я пытаюсь увидеть, что использует ресурс, запустив sudo lsof /dev/rdisk1, а также sudo lsof /dev/disk1. Ничего не появляется

lsof на / dev / disk1 и / dev / rdisk1

Я также попытался размонтировать устройство, запустив, sudo umount /dev/disk1а также sudo umount /dev/rdisk1. Я получаю сообщение о том, что устройство в данный момент не подключено:

размонтирование / dev / rdisk1 и / dev / disk1

Вот список всех дисков, подключенных к компьютеру, найденных при запуске sudo DiskUtil list:

Команда DiskUtil list

/ dev / disk0 - диск компьютера, к которому подключен iMac.

/ dev / disk1 - жесткий диск iMac.

/ dev / disk2 - твердотельный накопитель iMac.

/ dev / disk3 - я не знаю, что это. Я предположил бы, что это объединенный жесткий диск и твердотельный накопитель iMac.

/ dev / disk4 - внешний жесткий диск.

/ dev / disk5 - я понятия не имею, что это тоже. Может быть, утилиты для / dev / disk4?

У iMac есть фьюжн-накопитель , и он /dev/disk1является HDD. Я пробовал с SSD /dev/disk2, но получаю тот же результат.

Я подключил iMac к другому компьютеру с помощью молнии, и, удерживая tпри запуске iMac , он Macintosh HDотображался как внешнее устройство на другом компьютере.

Как я могу избавиться от этого сообщения? Я попытался перезапустить iMac и компьютер, к которому он подключен.

Jojodmo
источник
1
Этот вопрос лучше задать в разделе Спросите по-другому ... В любом случае: этот однопользовательский режим вы используете? Во что ты сейчас загрузился?
TheBro21

Ответы:

5

Во-первых, pdiskкоманда используется для изменения дисков, которые разделены с использованием карты разделов Apple. Только Mac на базе PowerPC используют их.

Во-вторых, umountвышеприведенные команды не работают, потому что / dev / disk1 и / dev / disk2 не смонтированы. Обычно монтируются только разделы (например, / dev / disk0s3), хотя в вашем случае у вас есть Fusion Drive. Вы абсолютно правы, что / dev / disk3 не является "настоящим" диском. Это объединенная емкость / dev / disk1s2 и / dev / disk2s2. Если вы печатаете umount /dev/disk3, это должно работать. Конечно, ничего не монтируется в / dev / disk1 или / dev / disk2, так что вам придется их выдавать diskutil unmountdisk /dev/diskN. Это должно освободить их, поэтому gptкоманда перестанет выдавать ошибку об ошибке ресурса.

Диски Fusion используют разделы Apple CoreStorage в качестве контейнеров, что является своего рода аналогом динамических дисков Microsoft. К сожалению, они затрудняют манипулирование разделами и убирают многие продукты восстановления дисков / разделов.

Однако, помимо вышеизложенных вопросов, я не совсем уверен, в чем проблема. Вы упоминаете, что таблица разделов потеряна, но вывод diskutil listпоказывает, что ваши таблицы разделов выглядят нормально.

Можете ли вы рассказать немного больше о проблеме, с которой вы столкнулись?

Уэс Сайид
источник
Я только что обновил вопрос. Я предполагаю, gptчто будет правильным инструментом для использования вместо pdisk?
Jojodmo
Верный. Я обновил свой ответ, чтобы отразить дополнительную информацию, которую вы разместили.
Уэс Сайид
Вы можете забыть о потерянном разделе, важно то, почему я получаю это сообщение
Jojodmo
4

попробуйте это: diskutil unmountDisk force / dev / disk0 (или каков ваш диск)

user774082
источник
Это не работает
Адиб
@adib Я просто случайно столкнулся с подобной проблемой (продолжал получать «Resource Busy», хотя lsofничего не показывал) и diskutil unmountDisk force /dev/disk<#>работал на меня! 👍
RocketNuts
Это сработало для меня.
OuzoPower
0

У меня была похожая проблема с ОП, поэтому я решил поделиться тем, что нашел. Мой сценарий был другим в этом;

1) Я купил совершенно новую Sandisk 32GBUSB-флешку, которую позже мне нужно было использовать в другом дистрибутиве Unix. USB был предварительно отформатирован, как обычно, с FATфайловой системой и некоторыми файлами для резервного копирования и т. Д.

2) У меня есть только Macbook Pro (MacOS 10.14.4), но мне нужно было отформатировать флешку, ext2которая не так проста, как вам хотелось бы.

При подключении моей новой флешки я действительно встретил следующее:

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

Запуск e2fsprogs для форматирования USB-накопителя привел к следующему;

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

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

Мне нужно было отключить раздел FAT от Mac, чтобы я мог отформатировать его в ext2 по мере необходимости;

diskutil unmountdisk /dev/disk2s1

Затем выполните оригинальную команду e2fsprogs для форматирования USB-диска.

Обратите внимание на разницу между именем файловой системы и именем смонтированной файловой системы.

/ DEV / disk2s1 установлен VS / Dev / disk2 устройства .

Крис Гиллатт
источник