web-dev-qa-db-ja.com

Mac OS Xで「リソースビジー」メッセージを取り除く

_HSF+_内でiコマンドを実行して、iMacで失われた_Sudo pdisk /dev/rdisk1_パーティションテーブルを修復しようとしています。 iコマンドを実行しようとすると、リソースがビジーであるというエラーメッセージが表示されます。

pdisk:書き込み用にファイル/ dev/rdisk1を開けません(リソースがビジーです)

i command in pdisk /dev/rdisk1

_/dev/disk1_、_/dev/rdisk2_、および_/dev/disk2_を使用しても同じ結果が得られます。

Sudo gpt /dev/(r)disk(1-3)も実行してみました。興味深いことに、私は_/dev/rdisk3_からの結果のみを取得します。

Sudo gpt /dev/(r)disk(1-3). /dev/rdisk3 gives a result

したがって、_Sudo lsof /dev/rdisk1_および_Sudo lsof /dev/disk1_を実行して、リソースを使用しているものを確認しようとします。何も表示されません:

lsof on /dev/disk1 and /dev/rdisk1

_Sudo umount /dev/disk1_および_Sudo umount /dev/rdisk1_を実行して、デバイスのマウント解除も試みました。デバイスが現在マウントされていないというメッセージが表示されます。

unmounting /dev/rdisk1 and /dev/disk1

以下は、_Sudo DiskUtil list_を実行して見つけた、コンピューターに接続されているすべてのディスクのリストです。

DiskUtil list command

/ dev/disk0-iMacが接続されているコンピューターのディスク。

/ dev/disk1-iMacのHDD。

/ dev/disk2-iMacのSSD。

/ dev/disk3-これが何かわかりません。 iMacのHDDとSSDを組み合わせたものだと思います。

/ dev/disk4-外付けハードドライブ。

/ dev/disk5-これが何であるか私にはわかりません。多分/ dev/disk4のためのユーティリティ?

IMacには フュージョンドライブ があり、_/dev/disk1_はHDDです。 SSD、_/dev/disk2_を試しましたが、同じ結果が得られます。

IMacをThunderbolt経由で別のコンピュータに接続し、 t iMacが起動したとき 、_Macintosh HD_が他のコンピュータの外部デバイスとして表示されました。

どうすればこのメッセージを取り除くことができますか? iMacと接続先のコンピュータの両方を再起動してみました。

12
Jojodmo

まず、pdiskコマンドは、Appleパーティションマップを使用してパーティション分割されているドライブを変更するために使用されます。PowerPCベースのMacのみがこれらを使用します。

次に、/ dev/disk1および/ dev/disk2がマウントされていないため、上記のumountコマンドが失敗します。通常、パーティションのみがマウントされます(例:/ dev/disk0s3)。ただし、この場合、Fusion Driveがあります。/dev/disk3が「実際の」ディスクではないことは間違いありません。/dev/disk1s2と/ dev/disk2s2を合わせた容量です。 umount /dev/disk3と入力すれば、うまくいくはずです。もちろん、/ dev/disk1や/ dev/disk2には何もマウントされていないので、それらに対してdiskutil unmountdisk /dev/diskNを発行する必要があります。 gptコマンドがリソースビジーエラーの表示を停止するように、それらを解放する必要があります。

Fusion DriveはApple CoreStorageパーティションをコンテナーとして使用します。これは、Microsoftのダイナミックディスクに似ています)残念ながら、これらはパーティションの操作をより困難にし、多くのディスク/パーティションリカバリー製品をテーブルから取り除きます。

しかし、上記の問題は別として、私は問題が何であるか正確にわかりません。パーティションテーブルが失われたとのことですが、diskutil listからの出力では、パーティションテーブルに問題がないように思われます。

あなたが抱えていた問題についてもう少し詳しく教えてもらえますか?

5
Wes Sayeed

これを試してください:diskutil unmountDisk force/dev/disk0(またはディスクが何であれ)

4
user774082

OPにsimilarの問題があったので、見つけたものを共有したいと思いました。その点で私のシナリオは異なりました。

1)新しいSandisk 32GB USBスティックを購入したので、後で別のUNIXディストリビューションで使用する必要がありました。 USBは通常どおりにフォーマット済みで、FATファイルシステムとバックアップ用のファイルなどが含まれています

2)手元にあるのはMacbook Pro (MacOS 10.14.4)だけですが、スティックをext2にフォーマットする必要がありました。

新しいUSBスティックを差し込んだとき、私は実際に次のことに遭遇しました。

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 デバイス

0
Chris Gillatt