実家で家族が使っている
VPCJ1という型番のwindowsPCが突然立ち上がらなくなったと連絡が。
まぁ、随分と古い機種ですから仕方がないのかも?
と思いつつ調べてみると、なるほど、通常起動はもちろん、F8キーでセーフモードで起動しても
C:/Windows/System32/CLASSPNP.SYS
というファイルの読み込みから先に進まないですねぇ。このファイル、何者なんだろう?
CLASSPNP.SYSが何者かはさておき、起動がここで止まってしまうのはなぜなのか、そこんとこを早速
google先生に聞いてみました。そしたらなんと、
この問題に悩んでいる人は多いみたいで、
それぞれ様々な方法で解決策を試しているようです。
PCの種類に依存するというよりも、どうやらwindows7環境下で頻発っぽい?
色々な人の解決法(中にはジンクスやおまじないのようなものも)から最大公約数的な部分を取り出してみると、CLASSPNP.SYSは
USBデバイスがらみのファイルのようで、したがって「
接続されているUSBデバイスを全て外し、再起動する」ことに落ち着きそうです。
しかし案の定、我が家のPCはそれでは状況が改善されませんでした。
となると一番手っ取り早いのはシステムリカバリですが、(今でも)初心者の家族は当然リカバリディスクなど作成していたはずもなく・・・orz
←昔はリカバリディスクは物理メディアとして製品にくっついてきていたのに、今は自分で作成しなくちゃならないんですねぇ・・・。
しかしないものは仕方がありません。
とりあえず
sonyのvaioシリーズのリカバリディスクは別途有償で購入することもできるので、最悪の場合はそこから購入して対処することにしましょう。
もっとも、オーダーしても在庫がなければ販売してもらえず、在庫があっても発送まで一週間程度かかるらしく、しかもお値段はドーンとリッチに7,500円(税別)!さらに代引きのみ!(笑)
それは最終手段として取っておくとして、とりあえずできる範囲で復旧を試みてみます。
私見ですが、多分このCLASSPNP.SYSを削除(もしくはリネーム)してしまえば、修復セットアップで自動的にそれが作成されて起動するんじゃないかな〜・・・と。まぁ希望的観測ですが。
※結論から言うと、これがどんぴしゃりで、CLASSPNP.SYSを削除したハードディスクを本体に戻し、修復セットアップで起動させた所、ログイン画面が出て普通に使うことができるようになりました。
で、以下その手順。
NTFSフォーマットのWindowsPCが一台あれば何の苦労もないのですが、現在うちには5k iMacとLinuxサーバ(CentOS)しかないので、ちょっと備忘録的に試した手順を載せておきます。
メーカー修理も一切できなくなることを説明し、了承を得てからVPCJ1のハードディスクの取り出しに入ります。
この辺の手順はネットでいくらでも手に入りますし、開けるのはPC本体を支える足の部分だけなので、パソコンを自作したり、内蔵機器を増設した経験のある人ならなんとなくでも対応できるかと・・・(^_^;;
気をつけることと言ったら、この本体を支える足の部分、四角いパネルで本体と接合されているのですが、ネジ+ツメでハマっていて、しかもこのツメが4方向すべてにあって、(ネジは簡単に外れますが)えらく苦労するということくらいでしょうか(笑)
なお、内蔵されているハードディスクはSerialATAです。規格まではわかりませんでしたが。
ひとまず取り出したハードディスクを自宅に持ち帰り、こいつに外部からアクセスできればCLASSPNP.SYSを削除(リネーム)することができるかもしれません。
幸い、SerialATAの外付けキット(USB接続)があったので、これを使えばハードディスクの中身をのぞけるでしょう。
しかしうちの5k iMacでは、NTFSハードディスクはそのまま繋げばすぐに認識してくれるものの、
リードオンリーで接続されてしまい、中身を確認できてもファイル操作は行えません。
これでは困るのです。
MacでNTFS領域に読み書きするためには
ntfs-3gをインストールする、などシステム変更を伴わなければならないよう。
でも僕自身まだmacに不慣れなので、できるだけシステムに影響を与えるような変更は(少なくとも今の所はまだ)加えたくありません(ちなみにntfs-3g自体はLinuxで散々お世話になったので信頼していないわけではない)。
しかし同じように考える(?)人はいるもので、
コチラで余計なアプリをインストールせずにNTFSをrwでマウントする方法を紹介しているサイトがありました。
大まかに手順を紹介しておくと、
- ターミナルを起動する
- コマンドから
$ ls –l /dev/ > /tmp/before.txt
して、現在の/dev/以下をbefore.txtというファイルに書き出しておく
- NTFSハードディスクを接続する(自動でマウントされる)
- 再びコマンドで
$ ls –l /dev/ > /tmp/after.txt
し、USBハードディスクを接続した時の/dev/以下を、after.txtに書き出しておく
- USBハードディスクをアンマウントする(finderからアンマウントでOK!)
- before.txtとafter.txtとの差分を取る
$ diff /tmp/before.txt /tmp/after.txt
・・・
brw–r—– 1 root operator 1, 6 8 12 13:07 disk3
brw–r—– 1 root operator 1, 7 8 12 13:07 disk3s1
・・・
- 差分として現れたディスクの情報を確認する(この例ではdisk3s1が該当)
- 適当なマウントポイントを作成
$ sudo mkdir /Volumes/test
- 適切なオプションをつけてマウント
$ sudo mount -t ntfs -o nobrowse,rw /dev/disk3s1 /Volumes/test
これで、
コマンドラインからだけですが
NTFSハードディスクの中身にアクセスできるようになるそうです。
※vaioのハードディスクはリカバリ領域も含めて複数のパーティションに区切られています。なので実際にはs1-s3までありました。どれがWindowsのシステム領域なのかは、マウントして中身を確認して探しました。
早速試してみましょう。
・・・orz
うちの5k iMacのOSはEl Capitanなのですが、どうもこれだと
システム保護が働いて、これを切らない限りNTFSハードディスクを読み書き可能なモードでマウントすることができないっぽい?と
・・・さて、どうしよう・・・。
で、ふと思いつきました。
(サーバですが)Linuxマシンがあるじゃないか!と・・・。
そこで作戦変更。LinuxサーバにNTFSをマウントできるようにしてマウントさせ、中身を編集することにします。
しかし今うちにあるLinuxマシンはサーバのみ、つまり必要最小限の構成になっています。
なのでこれに
NTFSの読み書きができる設定をしなくてはなりません。
まずはfedoraのepelのパッケージを(YUMで)インストールできるようにリポジトリを登録します。
# rpm -ivh http://ftp.iij.ad.jp/pub/linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm... [続きを読む]