ノードの構造が正しくありません。

私は現在、MacBook Pro(オリジナル)を使っていますが、昨夜とつぜん起動不能になってしまいました。起動ボタンを押すと、通常どおりグレー地に白いアップルマークが表示されて起動中であることを示す輪が回るデザインがしばらく表示されるのですが、とつぜんシャットダウンしてしまいます。


ことの成り行きは、Windows XPをBoot Campでインストールするため、Boot Campアシスタントでパーティションを作成しようとして実行できなかったことに始まります。Leopardのインストールディスクでディスクユーティリティを起動してディスクの修復をせよとの指示に従って試してみたものの、“ノードの構造が正しくありません”という赤文字表示で修復が実行できず、その後シングルユーザモードで立ち上げてfsckで修復を試みてもだめ、ターゲットディスクモードで同じくLeopardインストール済みのiMac G5に接続してみてもMacBook Proのディスクは認識されず、Safe Bootも試しましたがやはり起動できません。起動不能となると、他社製ディスクユーティリティソフトを利用しようにも利用できない気がします。いっそデータを残してリインストールをとも考えましたが、“Leopardがインストールされていません”という表示が出てきて、インストールできるボリュームさえ認識されない状態です。ですから、リインストールも不可能という始末。ディスクの中にはiMacにバックアップされていない重要なデータがたくさんあり、そのデータの移行さえできれば、MacBook Proを初期化して最初からインストールをやり直すのですが・・・。何か方法はないでしょうか?

投稿日 2009/03/13 03:49

返信
返信: 23

2009/03/13 04:21 イクテュス への返信

ここの右上検索窓で「ノードの構造」と入力し、検索してみたらどうですか。


Drive Genius で修復出来たという報告もあります。

http://www.igeekinc.com/products/drivegenius2.html


iMac G5にData Rescue II をインストールし、データの復元を試みてみたらどうでしょう。お試し版もあります。

http://www.igeekinc.com/products/datarescue2.html

2009/03/13 07:26 イクテュス への返信

 う〜む。まさに「13日の金曜日」の呪いですな...。


イクテュス さんによる書き込み:


私は現在、MacBook Pro(オリジナル)を使っていますが、


 “MacBook Pro(オリジナル)”とは?? オリジナルでない MacBook Pro なんてあるんでしょうか?



[...] Leopardのインストールディスクでディスクユーティリティを起動してディスクの修復をせよとの指示に従って試してみたものの、“ノードの構造が正しくありません”という赤文字表示で修復が実行できず、


 「ノードの構造が正しくありません」ということは、ハードディスクのファイルシステムの住所録がしっちゃかめっちゃかに壊れてしまっているということですよね? つまり、データは残っているけれども、ページがばらばらになってしまっていて、ノートにページ番号も振られていないので、どのページがどのページに繋がるのかわからなくなってしまっているという状態ですよね? 別の言い方をすれば、ハードディスクがソフト的にぶっ壊れてしまったと...。



その後シングルユーザモードで立ち上げてfsckで修復を試みてもだめ、ターゲットディスクモードで同じくLeopardインストール済みのiMac G5に接続してみてもMacBook Proのディスクは認識されず、Safe Bootも試しましたがやはり起動できません。起動不能となると、他社製ディスクユーティリティソフトを利用しようにも利用できない気がします。


 外付けハードディスクを用意して、そちらにとりあえず新規に OS をインストールして、そちらから立ち上げて、内蔵ハードディスクの修復を試みるか、メンテナンス・ソフトの入った DVD から MacBook Pro を立ち上げて、それで修復を試みるかでしょうね? かつてはこういう時に一番効果があったのは DiskWarrior でしたが、今はどうなんでしょうね?


いっそデータを残してリインストールをとも考えましたが、“Leopardがインストールされていません”という表示が出てきて、インストールできるボリュームさえ認識されない状態です。ですから、リインストールも不可能という始末。ディスクの中にはiMacにバックアップされていない重要なデータがたくさんあり、そのデータの移行さえできれば、MacBook Proを初期化して最初からインストールをやり直すのですが・・・。何か方法はないでしょうか?


 いずれにせよ、その内蔵ハードディスクは1度初期化しないとダメでしょうね。で、その前に、上に述べた方法で何とかある程度のデータが読めるようにまで復旧させられれば、データの多くは外付けハードディスクにコピーすることが可能になると思われます。ただし、ノードの構造に異常が発生している以上は、無事にコピーできたように見えるファイルでも、実際に開いてみると、複数のファイルの中身が継ぎはぎになっていたりします。これはもうどうしようもない。


 どうしても無くせないデータが入っている場合には、何もせず(=ハードディスクに手を触れず、修復も試みず)“サルベージ業者”に可能な限りのデータの復旧を依頼するしかないでしょう。これは天文学的な費用が掛かります。


 とりあえず、


1) (起動ディスクとして使える!)外付けHDDを用意する(LaCie の製品など)

2) 外付けHDDに Mac OS X をインストールする

3) 外付けHDDから MacBook Pro を起動する

4) 内蔵HDDの復旧を試みる

5) 内蔵HDDの中身が見える状態まで復旧したら、えいやっと、必用なデータを外付けHDDにコピーする


で試されたらいかがでしょう?


--------------------

Apple 17" MacBook Pro (Intel Core 2 Duo T7600/2.33 GHz/3 GB RAM/500 GB HDD)

Mac OS X 10.5.6 (Build 9G55) [Leopard]

2009/03/13 16:38 しい坊 への返信

丁寧なお返事をありがとうございました。我が家は2台のMacBook Proを使用していますので、まだ健全な方を外付けハードディスクとして使用することもできるでしょうね。しかし、前回にも書きましたように、Fire Wireで接続してターゲットモードで故障中のmacBook Proを立ち上げようとしても認識されませんので、このMacBook Proのハードディスクのデータをどうしたら取り出せるのか、さっぱりわかりません。同様の状態を経験し、インストールCDから立ち上げてターミナルからの操作で外付けハードディスクに無事データを移行できたという人のブログを見つけましたが、その人の書いている内容も今ひとつはっきりせず、同様の処理をなんとか試みたものの無駄でした。スタートボタンを押して起動中のサインの輪がグルグル回りだし、しばらくするとシャットダウンしてしまいます。どうしましょうか?

2009/03/13 17:52 イクテュス への返信

イクテュス による書き込み:


Fire Wireで接続してターゲットモードで故障中のmacBook Proを立ち上げようとしても認識されませんので、


自動マウントされないということでしょうか、それとも,ターゲットディスクモードで起動したMacの画面にFireWiraのマークも表示されないということでしょうか。
前者の場合、データ救出ソフトだと、それでも強引にデータを救出できたりしますけど。
ということで、この手のトラブルに対しては、データ救出ソフトを試す、が定番とも言えます。


オンラインで入手できるお試し版で試して、可能性があれば、ダウンロードで購入するとか。

2009/03/14 00:06 xy への返信

確かに、ターゲットディスクモードで起動した場合、ターゲットコンピュータ(この場合は故障中のMacBook Proです)のディスプレイ上にFireWireのマークは出ますので、あなたの言う通り、自動マウントされないということでしょうか。


「前者の場合、データ救出ソフトだと、それでも強引にデータを救出できたりしますけど。ということで、この手のトラブルに対しては、データ救出ソフトを試す、が定番とも言えます。」ということですが、お試し版のDataRescue llでしたかをダウンロードして開いてみたんですが、FireWireで接続しても認識されませんでした。一応、シングルユーザモードで立ち上げて/sbin/mount -uw /の操作をしてrebootの後、インストールディスクで再起動しディスクユーティリティで開いてみると、故障中のディスクイメージはマウントされてはいます。もう一度、この操作を繰り返してから、あらためてFireWireでホストコンピュータに接続してターゲットディスクモードで起動してみます。

2009/03/14 01:20 イクテュス への返信

シングルユーザモードで立ち上げて/sbin/mount -uw /の操作をしてrebootの後、インストールディスクで再起動しディスクユーティリティで開いてみると、故障中のディスクイメージはマウントされてはいます。


ここの意味が取れません。シングルユーザモードでマウントコマンド使って、その時点でマウントしないのでしょうか?そこでマウントできているなら、cpでデータのコピーを試してみるとか。(外付けHDDとかをつなげて、そちらにコピー。)


それと、万が一のことを考えて、書き込みオプション(w)を付けずに、読み込みのみ(r)のオプションでマウントした方が良いように思います。


結局,死んだiBookのHDのデータの救出ができました

2009/03/16 02:15 NO9 への返信

NO9さん、ありがとうございます。あなたが“死んだiBookのHDを救出できました”というスレッドで詳述している解決法にとても興味をもちました。私はUNIXの扱いについては全くわかりませんので、もう少し詳しい手順を教えてもらえないでしょうか?例えば、手順1では、HDが認識不能のiBookに外付けHDを接続して後、シングルユーザモードで起動したのはどちらのコンピュータですか?


私の場合、目下のところiMac G5を外付けHDとしてFireWireで接続し、Data Rescue llの試用版でスキャン中ですが、まる一晩かけてわずか224KBしかスキャンできていません。起動不能となったMacBook Proの容量は120GB、そのうち使用済みの容量は60-70GBありますから、このペースでは何ヶ月かかるかわからない状態のような気もしています。ターミナルモードでデータを移行するのはそれほどまでに時間を取られることはないのではないでしょうか?よろしければ、じっくりと手順を教えていただけないでしょうか?

2009/03/16 02:39 イクテュス への返信

イクテュス による書き込み:




私の場合、目下のところiMac G5を外付けHDとしてFireWireで接続し、Data Rescue llの試用版でスキャン中ですが、まる一晩かけてわずか224KBしかスキャンできていません。


Data Rescue IIに関して、参考までに。

https://discussionsjapan.apple.com/message/100283020#100283020

2009/03/17 06:41 xy への返信

ありがとうございます、XYさん。そして、この難題にいろいろとアドバイスをくださったみなさん。その後、インターネットで検索していろいろ調べてみたのですが、もっとも効果ありと思われたターミナルモードによるデータ移行の方法も甲斐むなしく、ついにアマゾンより"DiskWarrior 4.1"を注文することにしました。Data Rescue llをと当初は思っていたのですが、こちらは長大な時間がかかる上(まる2日経って224MBからスキャンが進行しなくなり、その途中でフリーズしてしまったので、やむなく強制終了しました)、DiskWarriorのほうがクラッシュしたHDDのデータを別の外付けHDDに取り込めるほか、データを修復することもでき、各国のMacユーザの間でも絶賛されているので、この際試してみるしかないと思って購入に踏み切りました。


それにしても、クラッシュしたMacBook Proをインストーラディスクで立ち上げ、ターミナルから“読み込み”ダイアログを開いてみると、私のHDD内がそっくりそのまま手に取るように見えるのですが、その操作ではどのファイルも読み込むことができず、悔しさに涙をのんだ次第です。しかし、シングルユーザモードで立ち上げてsbin/mount -uw /をコマンドしてもマウントされなかった私のHDDが、そのまますべて残っているのを確認できたのは良かったと思っています。DiskWarriorに期待したいところです。


あるいは、まだどなたかこのような事態で、外付けHHDにデータを移項できる方策をご存知の方はいらっしゃいますか?UNIXに詳しい方、どなたかご教授ください!

2009/03/17 06:57 イクテュス への返信

DiskWarriorを待つのが確実だとは思いますが、一応参考資料として・・・


OS X 10.5では、シングルユーザモードで下記の通り実行することでシステムディスク以外をマウントすることができます。


/sbin/mount -uw /

launchctl load /System/Library/LaunchDaemons/com.apple.notifyd.plist

launchctl load /System/Library/LaunchDaemons/com.apple.configd.plist

launchctl load /System/Library/LaunchDaemons/com.apple.diskarbitrationd.plist

ls -la /Volumes

で、Volumes下にマウントされているディスク名を確認

ls -la /Volumes/volume_name

で、目的のボリュームがマウントされていることを確認。あとは

cp -ipR [救出したいデータ] [退避先]

でデータをコピーすることが可能です。

launchctlの行は手動で入力するのが厳しいという場合には

----------------------------------------

#! /bin/sh

launchctl load /System/Library/LaunchDaemons/com.apple.notifyd.plist

launchctl load /System/Library/LaunchDaemons/com.apple.configd.plist

launchctl load /System/Library/LaunchDaemons/com.apple.diskarbitrationd.plist

----------------------------------------


というテキストファイルを mount.com とでもシステムディスクのルート位置に保存して

chmod a+x /mount.com

としておけば


シングルユーザモードで立ち上げた後に

/mount.com

と実行するだけでいいのでらくちんです。


ご参考まで。



2009/03/17 07:44 イクテュス への返信

UNIXに詳しい方、どなたかご教授ください!


というより、貴方がある程度はUNIXのコマンドを理解しないと、何ともなりません…。


トラブルのあったHDDを何とかしようというわけですから、状況の応じてというか、臨機応変に対応する必要がありますので、斯く斯く然然をやればよいというような定型処理では無いですから。


で、


ls -l /dev/disk*


あたりで、HDDにあるパーティションを確認して、データが保存されているパーティションに当たりを付けて、で、そいつをマウントし、cpでデータをコピーという手順になります。

2009/03/17 07:53 NO9 への返信

NO9さん、お返事ありがとうございます。そうです、私はUNIXを全くと言っていいほどわかっていません。また、勉強している時間がないものですから、こんな事態になって大慌てしているのです。さて、この操作をするにあたって、ひとつ質問させてください。外付けHDDに接続する場合、FireWire400ケーブルを利用しても構いませんか?FireWireで接続する場合はターゲットディスクモードのように手順を踏まないとデータを損なう恐れがあると聞いています。USBケーブルであれば、それほど神経質になることもないはずですが、あいにく我が家にUSBケーブルはひとつもない状態で、FireWire400ケーブルがあるのみです。よろしくご指導ください。

2009/03/17 08:47 イクテュス への返信

外付けHDDに接続する場合、FireWire400ケーブルを利用しても構いませんか?

それは、外付けHDDのインターフェース次第です。

インターフェースがFireWireならFireWireケーブルを、USBならUSBケーブルを使ってください。

USBケーブルの代わりにFireWireケーブルを使うなんてことは、不可能です。

そもそも、コネクタの形状が違うじゃないですか。


USBケーブルであれば、それほど神経質になることもないはずですが

USBでも手順を踏まないと、データ破損の恐れはあります。

USBだとかFireWireだとかは関係ありません。


あいにく我が家にUSBケーブルはひとつもない状態で

ケーブルぐらい買ってくださいよ。

1本数百円ぐらいですよ。

たかがケーブル1本ごときで諦められるほどのデータなんですか?

もしUSBのHDDを新たに買うんだったら、大抵はケーブルは付属しています。


こんな事態になって大慌てしているのです。

こういう事態に対応する最良の方法は、日ごろからバックアップをとる事です。

タイムマシンを利用すれば、日ごろ忙しくてもMacが勝手にバックアップをとってくれます。

2009/03/17 09:43 HAL への返信

 HALさん、詳しい手順をお伝えくださり、ありがとうございます。さっそくシングルユーザモードで立ち上げて、操作を手順通り進めてみました。

launchctl loadの作業は問題なく展開し、ボリュームのリストまで来て、次の3つの表示が順に現れました。


drwxrwxrwt@ 3 root admin 102 Mar 17 16:04 .

drwxrwxr-t 34 root admin 1224 Jan 7 10:16 . .

lrwxr-xr-x 1 root admin 1 Mar 17 16:04 H's MacBook Pro -> /


そこで、ls -la /Volumes/volume_H's MacBook Proと打ち込んでエンターしましたが、>のマークが表れたきり、そこからはさっぱり操作が進展しません。やはり、UNIXでの操作は難しいですかね?

2009/03/17 09:52 イクテュス への返信

そこで、ls -la /Volumes/volume_H's MacBook Proと打ち込んでエンターしましたが、>のマークが表れたきり、そこからはさっぱり操作が進展しません。やはり、UNIXでの操作は難しいですかね?


まず、「/Volumes/volume_H's MacBook Pro」、パスはこれであってますか?


lrwxr-xr-x 1 root admin 1 Mar 17 16:04 H's MacBook Pro -> /


なので、ボリュームの名前は「volume_H's MacBook Pro」ではなくて、「H's MacBook Pro」なのでは。


それと、パスに半角スペースが含まれている場合は、クウォーテーション等で括ってください。でないと、コマンドの切れ目だと解釈されます。


ls -la /Volumes/'H's MacBook Pro'


とか。


もし、H'sと、クウォーテーションをボリューム名に使っているなら、ダブルクウォーテーションで括ってください。


ls -la /Volumes/"H's MacBook Pro"


あるいは、


ls -la "/Volumes/H's MacBook Pro"


でも良いかな。

このスレッドはシステム、またはAppleコミュニティチームによってロックされました。 問題解決の参考になる情報であれば、どの投稿にでも投票いただけます。またコミュニティで他の回答を検索することもできます。

ノードの構造が正しくありません。

Apple サポートコミュニティへようこそ
Apple ユーザ同士でお使いの製品について助け合うフォーラムです。Apple Account を使ってご参加ください。