パーティションが破損していますが、シングルユーザーモードではファイルを表示できます。ファイルを復元したいです。

パーティションが破損していますが、シングルユーザーモードではファイルを表示できます。ファイルを復元したいです。

問題はその後に始まったMacを強制的にシャットダウンするそれ以来、起動しようとすると、回転するホイールが付いた灰色のリンゴの画面で止まってしまいます。内蔵ドライブのデータにアクセスできるようにするために、いくつかの一般的な方法を試しましたが、うまくいきませんでした。最初に Mountain Lion から復元パーティションで起動しようとしましたが、回転するホイールが付いたリンゴの画面の同じ問題が発生し、ボリュームではなくパーティションが破損しているのではないかと考えています。

iMac をターゲット モードで起動し、次の操作を実行してみました。

1)ディスクユーティリティを使用してディスクを修復しようとしましたが、ハードウェア項目 (ボリューム項目ではない) で「ディスクの修復」を実行しようとすると、次のような出力が表示されます。

Verifying and repairing partition map for “AAPL FireWire Target Media”
Checking prerequisites
Problems were encountered during repair of the partition map
Error: Some information was unavailable during an internal lookup

2)Data Rescue と Disk Warrior は、それらを開いたときやターゲット ディスクが接続されているときにはハングしますが、切断したときにはハングしません。

データを保存できると考える理由は次のとおりです

3)シングル ユーザー モードを使用すると、さまざまなユーザーのフォルダー間を移動したり、テキスト ファイルを開くこともできます。コマンドを実行すると、次のfsck -fy出力が表示されます。The Volume Macintosh HD appears to be OK.

コマンドを実行すると/sbin/mount -uw /、出力は

SATA WARNING: Enable auto-activate failed
disk0s2: I/0 error.

数行の意味不明な文章が続き、その後に次のような内容が続きます。

hfs: cat_delete() failed to delete thread record on volume Macintosh HD
hfs: Runtime corruption detected on Macintosh HD, fsck will be forced on     next mount
hfs_remove_orphans: failed to start transaction
hfs: hfc_btree_open: hfs_getnewvnode error 2

そのため、内部ドライブをマウントできず、外部ドライブをマウントしてファイルをコピーすることもできないようです (デバイスのマウント先フォルダを作成できないため)。シングル ユーザー モードではネットワーク接続がないようです (何か見落としがない限り)。そのため、ネットワーク経由でデータを送信できないと思われます。また、ラップトップはターゲット ディスクのマウントを拒否します。

保存したい重要な文書がいくつかあるのですが、シングル ユーザー モードと同じようにハード ドライブ上のファイルにアクセスする方法はあるでしょうか?

回答していただければ幸いです。

答え1

ドライブを単純なブロック デバイスとして扱い、ddセクターを外付けハード ドライブにコピーしてみてください。これにより、パーティションとボリュームの論理エラーが回避されます。I/O エラーが発生したという事実は、内部ドライブの重要な領域に物理的な問題があることを示している可能性があります。次に、その外部コピーから回復を試みます。別のドライブがある場合は、そのドライブに回復を試みます。

がどこかの時点で失敗するかどうかを知ることは有用でありdd、特に重要な構造があるかもしれない初期段階では有用である。残念ながら、出力を得るには、起動時にプロセスIDを取得し(例えばバックグラウンドで実行するなど)、その後

kill -SIGINFO process-ID

必要に応じて。(これは Linux が使用する でありSIGINFO、ではありませんUSR1。) 問題のある箇所をスキップするには、 オプション を含めますconv=noerror,sync。コピーが停止した場合は、入力と出力の両方でシークしてそれらの箇所を完全に回避したり、後ろから前へチャンク単位でコピーしたりすることもできます。

非常に危険なのでdd、次のようなものを使用する方が安全かもしれません。GNU ddrescue(自分では試したことはありません)。

答え2

回答ありがとうございます。外付けドライブを /tmp フォルダにマウントするだけで済みました。こうすることで、すべてのファイルをそこにコピーできました。

関連情報