SSブログ
ソフトウェア/PC関係 ブログトップ
前の10件 | 次の10件

リモート・デスクトップ・クライアントが起動しない原因 [ソフトウェア/PC関係]

世の中に同じ状況の人がいるかは分からないが,もしかしたら役に立つこともあるかもということで記録しておく。

割と最近Windows8.1を新規インストールしたPC。今更8.1をインストールしたのには一応理由がある。まぁそれはおいといて,そのPCの調子がここ数週間どうも調子が悪かった。ひとつは,[スタートアップ・フォルダ」に入れているプログラムが起動時になぜか実行されないこと。正確に言うと、全く実行されないわけではなく数十分くらい経ってから唐突に実行されるっぽい。待っていられずに,自分で実行すれば起動するので,PCが過負荷なせいではないみたい。

これだけならそれほど不都合もなかったので,そのまま使っていたのだが,2日ほど前から別の症状が...。リモート・デスクトップ・クライアントが起動しなくなってしまったのである。スタート・メニューから選んでも,いくら待っても何のウィンドウも表示されないのだ。私の作業環境では,多くのWindows VMを使うので,リモート・デスクトップがないとアクセスできないのである。つまりこれは致命的な問題でありなんとか解決しないわけにはいかなくなった。とはいえなんの手懸かりもない。

そうこうする内に気付いたのは,まるっきり起動しないのではなく,10分以上経ってから,突然ウィンドウが表示されるということ。それってスタートアップ・フォルダの件と同じでは? 数十分してから動作するって挙動はいかにも何かタイムアウトを待っていたっぽい。のだが,何のタイムアウトなのかさっぱり見当が付かない。

あれこれ悩んでいた最中,本当に偶然,エクスプローラで作業をしてたら処理が固まってしまった。何か応答しないドライブでもあったのだろうか。切断されたネットワーク・ドライブとか,存在しないフロッピー・ドライブでそういうことはたまにあるが,さすがに10分とか待つことはない。ふと思いついてBlu-rayドライブにアクセスしてみたところビンゴだった。いくら待ってもディスクの中身が表示されない。これぞまさにタイムアウト待ち。確かにちょっと調子が悪いとは思っていたが,ひと月くらい前にはちゃんと読めていたのに。知らない内に完全に壊れていたらしい。さっそくこのBDドライブを取り外してみたところ,万事問題なく動作するようになった。こんなことってあるのね。それにしても何のエラー・メッセージも表示されないって,いくらなんでも不親切すぎない?


nice!(0)  コメント(0) 

ルーターの故障の原因は [ソフトウェア/PC関係]

今となっては,もう記録も残ってないのではっきりしないが,恐らく20年近く前からPLANEXのブロードバンド・ルーターを使っている。最初はBRC-14Vという機種で,これが2003年12月発売なので,それよりは後なのだろう。いろいろ多機能なので,一度これを使ってしまうと他のでは役者不足なのである。しかし,当然ながらいつまでも使い続けられるわけでもない。可動部品がほぼないと言っても,永年使い続ければ壊れる。実際BRC-14Vも何年か後に壊れた。その頃にはBRC-14Vも後継機種のBRC-14VGもとっくに終売になっていた。PLANEXはBRC-14VGの後継機種を出してなく,他のメーカーも含めて同等機種を探してみたが適当なものは見つからなかった。そうは言っても,ルーターが壊れたままではネットも使えないので,ほっとくわけにもいかない。そんな訳で,困ったときのネット・オークション頼み。オークションでBRC-14VGの中古の美品を手に入れたのがもう6年ほど前である。以来何の問題もなく使ってきた。

それが2週間ほど前,突然なんの前触れもなくインターネットに繋がらなくなった。BRC-14VGのパネルをみるといつもは盛大にチカチカ瞬いてるLEDがほとんど消灯している。やばい,またルーター壊れたか? 何しろ,コロナ禍にあって,日々在宅勤務の状態でのインターネット接続は死活問題である。あわてて,再びネット・オークションを探しに行ったのは言うまでもない。しかも,なんとタイミングの良いことにほぼ未使用の2台セットが格安で出品されていた。落札期限もその日のうちだったので,思ったより早く手に入りそうだ。少しの間,不便ではあるが,我が家にはもう1回線インターネットが来てるので(メチャクチャ遅いのだが)一時的に繋ぎ替えることで乗り切れるはず。

ところがそれから半日ほど放置してから何気なくBRC-14VGを見てみるとLEDの点滅が復活してるではないか。試しにPCを接続してみると、ちゃんとインターネットに繋がった。いきなり動かなくなっていろいろ面倒な設定をしてあったのを保存できてなかったので,助かった。しかし一体何だったんだろう。本体が結構熱くなってたので,熱暴走してたのかもしれない。

そんな訳で、すっかり治って問題解決したつもりになってた。ネット・オークションで買った2台のBRC-14VGは当面無駄になってしまったが,いつか本当に壊れたときのためのストックだと思えば勿体ないとも思わなかった。

それがまた今夜突然動作停止していた。今度はしばらく放置して本体が冷えても復活しなかった。さすがに今度こそあきらめて本体を入れ替えることにした。全く同じ機種なので,ACアダプタもそのまま差し替えれば動くはず。それにPCを繋いで,保存しておいた設定を読み込ませれば終了...のはずだった。しかしここで予想外の展開。ネット・オークションで購入した本体の電源スイッチを入れても,古い本体と同じようなLEDの表示なのだ。PCを繋いだポートもリンクしない様子。一体どうなってる? ネット・オークションで買ったヤツも壊れてたのか?

ここでふと思いついて,ネット・オークションで買った本体に付属のACアダプタを繋いでみた。動いた! ってことは,壊れてたのはACアダプタなのか?確かめるために新しいACアダプタを古い本体にも接続してみた。動いた! これで壊れてたのはACアダプタということで確定だろう。なんということだ。しかしこの状況なんか既視感あるなぁ。以前も何かネットワーク機器が同じようにACアダプタの故障で使えなくなり,別のACアダプタに変えることで動くようになったと言うことがあった気がする。このブログに書いてないと言うことはブログを始める前のことだったのだろうか。ACアダプタではないが,PCの動作異常の原因がATX電源だったこともあった。電源スイッチの接触不良だったことも。ここ暫くなかったのですっかり忘れていた。

ACアダプタなんていくらでも替えが効くし,いざとなれば自作も出来る。本体が壊れてなかったのはとにかく良かった。いずれにしても,あっさり本体が壊れたとあきらめる前に電源をチェックすべきという教訓でしたな。


nice!(0)  コメント(0) 

自宅VMサーバー故障顛末 [ソフトウェア/PC関係]

AINEX LGA1156用 ヒートシンクバックプレート BS-1156A
LGA1156用 ヒートシンクバックプレート

超久し振りにブログを書いてみようと思う。もうこんなTwitterのまとめばかりのブログを見ている人もいないだろうが,主に自分の備忘録としての意味合いが強い。

昨年,病気をして,現在,キーボードは片手入力になってしまったので,長文を打つのはなかなか苦行だが,たくさん打たないと上達しないので練習代わりにも丁度良い。

さて本題は,自宅のVMサーバーである。このブログの過去記事を漁ってみたところ,このVMサーバーをセットアップしたのは2008年のことのようだ。なんと,かれこれ13年前ということだ。びっくり。それだけ長いこと安定稼働してきてくれたことを考えると有難いと思うしかない。もはや,この環境なしには何もできないくらい依存してしまっている。実際他にも何台か単体で動作しているPCもあるのだが,重要なデータはほとんど,VM上のファイル・サーバーに置いてあるので,それがアクセスできなくなると,にっちもさっちも行かないのだ。でこの度まさにこのVMサーバーが異常を来たしてしまったというお話。いやはや本当に困った。めちゃめちゃ久しぶりに事の顛末をブログに書いておこうと思うくらいには困った(これでは,あまり困り度合いが伝わらない気もするが)。

ことの発端は,ネットワークの異常である。自宅には2回線のインターネット接続があるためどちらにもアクセスできるように,VMホストにはネットワークカードを追加して,所謂マルチホーム構成にしてあるのだ。しかしある時,あるVMで,片方のインターネットに接続できないことに気づいた。増設したネットワークカードの方である。オンボードのポートに接続してある方は問題ない。vSphere clientを起動して調べてみるとアクセスできない方のアダプタにIPアドレスが割り当てられていない。何かHW的な問題が起きたのだろうということで,取り敢えず手っ取り早く,ホストを再起動してみることにした。此の辺が日頃PCばかりを使ってる人間の発想である。そして結果的にこれが,今回のドタバタの引き金となったのである。つまり,VMホストが起動しなくなってしまったのである。

通常VMホストなんぞにはディスプレイもつけていないので何が起きているのかもさっぱりわからない。ただ,待てど暮らせど,vSphere clientがホストに接続できるようにならないという状況である。これでは何もわからないので,まずはディスプレイを繋ぐ。私のデスク周りはケーブルがとんでもないことになっているが,確か以前繋げていたはずのディスプレイ・ケーブルを挿してみる。しかし何も表示されない。一体どういうこと? 他のPCを使ってそのケーブルで表示ができることは確認した。あれ? そもそもBIOSの画面すら出ない。1つのディスプレイに複数の入力が入っていて,出力が検知されないと他の似自動的に切り替わってしまうのでなんとも面倒なのだが,何度がやってるうちに,ほんの短い時間だけディスプレイに砂嵐が表示されてることがわかった。これはグラフィックボードがいかれてるのか。そもそも,オンボードでVGAポートが付いてるのになんでこのマシンにはグラボが載ってんだ? しかもオンボードのポートに繋いでも何も表示されないし。10何年も前のことだから当時何をしたのかすっかり忘れている。

いろいろ調べていてようやく謎が解けた。このサーバー機は標準でディスプレイ出力をCPU内臓のGPUに依存してるのだった。しかし,ESXiを入れるにあたって,よりパワフルなCPUに載せ替えたのだが,それはGPUを内蔵してなかったのである。つまり載せ換えた時点でオンボードのVGAポートは機能しなくなるため別にグラボを載せたのである。わかってしまえばなんて事はない。グラボを交換してみれば良い。結果的にグラボはやはり壊れていた。ちゃんと表示ができているPCのグラボと交換してみたら,表示できるようになったし,相手側のPCは表示できなくなった。ということで,新しいグラボを調達しないといけないのだが,こんな昔のマシンに,今売ってるようなグラボが使えるのだろうか。PCIexpressスロットの仕様も大分世代が変わってるはずだ。と思って調べたところ,現行のPCIeは上位互換になっていて,グラボの性能を100%活かせないとしても昔の仕様レベルでは問題なく動作するとのこと。早速必要最低限の安いグラボを取り寄せて装着してみた。おおっ,ちゃんと表示される。当たり前のことに妙に感動してしまう。しかし表示ができないだけなら,ESXiは起動していたはず。じっと見守っていると,ESXiが各種のモジュールを順次読み込む画面で,出た! ロード・エラー。これか。このマシンはESXiをUSBメモリーにインストールしてUSBから起動するようにしてある。ってことは,USBメモリーが壊れたのか。USBメモリーが壊れるの初めて見た。まぁ10年以上だものな。壊れても無理ないか。実際,Windowsマシンでチェックしてみたところ,確かに途中で読み込みエラーが起こる。では,別の起動用USBメモリーを用意すればよいのか。って,どうやるんだっけ? ここで当時のブログ記事をみる。やっぱりブログ書いておいて良かった。なになにESXiのインストール用ISOイメージから,USBメモリーへのインストール用ディスク・イメージをを取り出して書き込むのか。って,そんなのないんだけど。ググってみたら気になる情報が。どうもUSBメモリーへのインストール方法は以前と変わったらしい。単純にディスク・イメージを書き込むのではないらしい。更にググって見つけた情報によると,どうも起動用USBメモリーを作るにはLinuxが必要みたい。LinuxはVMとしてはいくつか作ってあったが,今はまさにそれが使えない状態だし,どっちみちUSBメモリーへの書き込みができないじゃん。といっても,Linux専用にセットアップできる余分なPCはない。ということで,USBメモリーから起動して使えるLinuxのLive USBメモリーを作ってみることに。今はLive USBメモリーを簡単に作るためのツールが色々とあるらしい。今回使ったのはrufusというツール。これにLinuxの各distrubutionのインストール用ISOイメージを読み込ませると,USBブートができるようにUSBメモリーにインストーラを書き込んでくれるらしい。要はCDやDVDに焼かなくてもLinuxがインストールできるという訳なのだが,ubuntuなどはインストーラーを起動してからLinuxのお試しモードに入れるらしいのだ。今回はそれで十分なので,早速ubuntu desktopのインストール用ISOをダウンロードしてUSBメモリーに書き込んでみた。で,件のESXiマシンにこのUSBメモリーを挿して起動してみる。ところがなんか変だ。Linuxは起動するのだが,少し放っておくと,自動的に電源が切れてしまうのだ。何だこれ? どういうこと? 相次ぐ問題の発生にだんだん心が折れかけてきている。

困った。訳わからなくなってきた。しかも,何度か繰り返すと,電源が切れるまでの時間がどんどん短くなっていく。勘の良い方はここで真の原因に気づいてしまうかもしれないが,私は駄目だった。もう少しお付き合い願いたい。自動的に電源が切れてしまうトラブルについては,かつてこのブログでも紹介したことがあるが,電源スイッチの不良が考えられる。ATXの仕様では電源スイッチは常時閉じた状態なのではなく閉じたことをトリガーにオンになりその後は開いても良い,というか開かないといけないのだ。そのため,押している間だけ接点が閉じるプッシュ・スイッチになっている。なぜ閉じたままではいけないかというと,これもATXの仕様で4秒間回路が閉じっぱなしになると強制電源オフになるからだ。以前のトラブルは,スイッチのメカ部分の経年劣化で,押したらそのまま戻らなくなってしまっていたというもの。つまりスイッチを押すと一旦電源が入るものの,4秒後に強制電源オフになるのである。今回もそれかと思ったが,4秒なんて短い時間ではないし,スイッチの動きは異常がないみたいだった。となるといよいよ手詰まりだ。 電源そのものがイカれているのか,はたまたマザーボードの異常か。マザーボードということになるともはや手の打ちようがない。解決策は全く同じマザーボードに交換するくらいだ。と言っても古いものだから今更新品が手に入るわけもない。そもそもNECのサーバー機なのでマザーボード単品では販売されてすらいない。となると,困ったときのネット・オークションなのだが,そうそうタイミングよく出品されているわけもない。しかし探してみると,メルカリで売ってる人がいた。10年以上前のマシンにしては高めだが,背に腹は代えられない。全く思いがけないきっかけで,メルカリ・デビューを飾ることに。

さて数日後,無事代替機が届いた。動作チェックは前述のLinux入りのUSBメモリーで。問題なく動作した。それではどうするか。パーツをまるごと届いたマシンに載せ替える手もあるが,それは結構面倒くさい。特にCPUの差し替えが面倒。自作PCは何度も組み上げてた経験はあるがCPUにグリス塗って,ヒートシンクを取り付ける作業が昔から嫌いなのだ。結果的に問題が起きたことはないのだが,うまくできている自信がないのだ。やらなくて済むならそれに越したことはない。となると,まずは電源の交換を試してみよう。故障したマシンから電源を取り外すのは簡単なのだが,マザーボードに刺さってるATXコネクタを引っこ抜くのが固くて大変。片手しか使えないと尚更だ。それでもどうにかこうにか引っこ抜いたが,ここで異変に気付く。CPUに固定されてるはずのヒートシンクがぐらついてるのだ。そんなバカなと思って確かめると,ヒートシンクをマザーボードに固定していたツメが抜けてるではないか。ヒートシンクは完全にCPUから浮いてしまっている。これでようやく不調の原因がわかった。おそらく,色々調べる過程で,何度もケースをひっくり返したりしていたせいで,どこかのタイミングでツメが外れてしまったのだろう。ヒートシンクが外れているということは,CPUは熱を逃がすことができないので,通電している間どんどん温度が上昇したのだろう。そして熱による破損防止のための保護回路が働いて,電源を落としていたのだと考えられる。あのプラスチックのツメによる固定方法はINTEL純正のものと同じなのだが,以前から不安を感じていたのだ。サーバー機についてるヒートシンクは純正のものより巨大だし,ミドルタワーマシンという性質上マザーボードは垂直になる。つまりヒートシンクはマザーボードから水平方向に突き出した形になるためツメには横方向への負荷がかかり水平なマザーボードに取り付けたときに比べると不安定になる道理だ。元のようにツメを押し込んでみたがどこかしら劣化してしまってるようでうまく固定できないっぽい。いずれにしろグリスは塗り直したほうが良いだろうしヒートシンクは交換か? と思ったがLGA!156のヒートシンクの新品なんて売ってるのかな。探してみると一応まだ売ってるようだが,それとは別にバックプレートなるものを見つけた。マザーボードの裏側において表からヒートシンクをねじで固定するためのもののようだ。これだ! これなら二度とヒートシンクが外れてしまうことはあるまい。ということで早速発注。ついでに新しいグリスも。バックプレートを使うには,マザーボードを一旦ケースから取り外す必要があって面倒だが仕方ない。各種ケーブルも外す必要があるので,もとに戻しやすいように現状を写真に撮っておく。いやいやネジ固定は安心感がある。グリスの塗り方が多少下手でも,十分圧着しそうだ。マザーボードを元通り戻して,いざ電源オン。今度こそ問題なく起動した。なんだ,代替機いらなかったじゃん。まぁ人生なんてそんなもんだ。PCがまた1台増えてしまって邪魔ではあるが,この先本当にマザーボードが故障したときの保険と思えば安いもんだ。それにしても,今から思えばいかにも熱問題のような症状を呈していたではないか。経験値が不足してるということだよなぁ。いい勉強になった。 ところでESXiのブートUSBの件だが,なんてことはない。普通にインストーラーでUSBにインストールできるようになっているみたい。インストーラーをCDに焼くのが面倒な場合は,先程のrufusでESXiのISOを指定すればインストーラーUSBが作成できる。そして,インストール先に自分自身を指定すればESXiのブートイメージで上書きできるので,USBメモリーは一つあれば事足りる。そもそもLinux環境も必要なかった。これで無事元通りESXiを起動できるようになった。残念ながらVMのインベントリは空っぽなので,各データストアのブラウジング画面から各フォルダのvmxファイルを指定して追加してやる必要がある。手間がかかるが,これはもう仕方ない。ようやく1週間ぶりくらいに仮想環境が使えるようになった。良かった。しかし大元の,2つ目のインターネットに繋がらない問題は未解決だ。恐らく,ネットワークカードがイカれてしまったのだろう。グラボがイカれたくらいだからネットワークカードにもなにか影響があったのかも。VM環境は,起動してから安定するまでに暫く掛かるので,今もう一度シャットダウンして確認する気にはならない。特に今困ってるわけでもないし,いずれ近いうちにHDDを大容量のものに入れ替える必要があるだろうからその時に一緒にやればいいや。


nice!(0)  コメント(0) 

Windows 7でpslistが動作しない時は... [ソフトウェア/PC関係]

かなり久し振りにブログ記事を書いてみる。

だいぶ前にMicrosoftに買収されてしまった"Sysinternals"というサイトで配布されていた,PsToolsという便利なコマンドがある。コマンドラインで,Windowsのプロセスの情報を表示したりとか出来るツール群だ。買収後も細々とアップデートされていて,今でも充分使い物になる。ところが,この中の,pslistというコマンド(Linuxのpsのようなもの)が自宅のメイン・マシンのWindows 7で何故か動作しなかった。「0xC0000005」という,Windowsプログラマならそこそこお馴染みであろう,メモリ・アクセス違反の例外が発生してしまうのだ。pslistが使えないのはかなり不便なので,少し調べてはみたのだが解決策が見つからず,そのまま長いこと放置してあったのだが,ふと思い立って,もう一度調べてみようというのである。

もしかして,最新版では直っているかもということで,まずはサイトをチェックしてみると,割と最近(と言ってももう2年前)にv1.4というのが上がっていた。手元のものはv1.23なので,結構新しいみたい。早速ダウンロードして実行してみると,アクセス違反にこそならないが,やはりプロセスのリストは表示されない。その代わりに,何かメッセージが表示されている。

PsList v1.4 - Process information lister
Copyright (C) 2000-2016 Mark Russinovich
Sysinternals - www.sysinternals.com

Processor performance object not found on XXXXX
Try running Exctrlst from microsoft.com to repair the performance counters.

「Processor performance object」なるものが,システム上に見つからないと書いてある。で,ExctrlstとかいうコマンドをMicrosoftから手に入れて,実行してみろと。ところが,古い話なので,もはやExctrlstというコマンドが手に入らないっぽい。しかもググった結果の中に,あろうことか昔自分が書いたブログ記事が。約9年も前の記事。笑えることに,同じエラー・メッセージについて調べたものだ。ExctrlstのダウンロードURLも書いてあるのだが,既に無効になっている。はてさてどうしたものか。

そもそもExctrlstというコマンドが何をするものなのか,ということなのだが,この自分の記事によれば,システムの「PerfProc」とか「PerfOS」という設定が無効になっているのを,有効化させることが出来るらしい。で,もう少し調べてみたところ,MicrosoftのTechnetの記事で,"Two-Minute Drill: Disabled performance counters and Exctrlst.exe"というのを見つけた。あんまりちゃんと読んだ訳ではないのだが,どうやら,Windowsレジストリの

HKEY_LOCAL_MACHINES\SYSTEM\CurrentControlSet\services

の下に,PerfOSとかPerfProcという,前述の設定と同じ名前のキーがあって,その中で「Disable Performance Counters」の値が1にセットされていると,無効化されるということのようだ。有効化するには,この値を0にするか,その値名そのものを削除してしまえばよい。Exctrlstでやっていたのは,そういうことだったらしい。

しかし,私のメイン・マシンのレジストリを見ると,「PerfProc」にも「PerfOS」にも「Disable Performance Counters」という値は設定されていない。つまり,無効化されている訳ではないと言うことだ。それじゃどうすれば?

引き続き散々ググりまくって,たどり着いた情報がこちら。Exctrlstを実行してみてもダメだったけど,

lodctr /r

を実行したら直ったと書いてある。これまたよく分かってはいないが,何らかの原因で壊れてしまった「パフォーマンス・カウンタ」を再構築するためのコマンドらしい。早速試してみたのだが

C:\>lodctr /r

エラー: パフォーマンス カウンターの設定をシステムのバックアップ ストアから再構築
できませんでした。エラー コードは 5 です

とかいうメッセージが出てうまく行かない。しかし,ここでしばし考えて,管理者権限で起動したコマンド・プロンプトから実行してみたところ,あっさり成功。遂に,念願のpslistも無事動作するようになった! めでたしめでたし。

全ての環境で同じように解決出来るかは分からないが,ご参考までに。


nice!(0)  コメント(0) 

ダイナミック・ディスクのブート不能修復 [ソフトウェア/PC関係]

先日のThinkPad X100eのSSD換装の際,もう一つ予想外のトラブルに見舞われた。Acronis True Imageで,ディスク・イメージをSSDに復元した後,メイン・マシンが起動しなくなってしまったのだ。いつものブート・メニューが表示された後,Windows 7を起動しようとして,システムが見つからないとか言うようなエラー・メッセージが出てしまう。

何故そんなことになったのか,特に原因追及はしなかったのだが,恐らくメイン・マシンのMBRを壊してしまったのだろうと予想していた。そう言えば,以前もTrue Imageでバックアップを復元した時に,同じようなことがあったような気もする。とは言え,この時点では,MBRを復元すれば治るだろうくらいにしか思っていなかった。

Windows 7のMBRを復元するのは,ちょっと手間がかかる。まず,「システム修復ディスク」なるものを作成しないといけない。それにはWindows 7が必要なので,マシンが1台しかない場合は厄介なことになる。私の場合,この点は問題ない。別のWindows 7マシンで,コントロール・パネルの[バックアップと復元]-[システム修復ディスクの作成]を選び,空のDVD-Rに書き込む。マシンが複数台ない場合は,用心のために予め作成しておくのが良いだろう。ライセンス的にはよく分からないが,誰かWindows 7を使っている人に作ってもらう手もありそうだ。

この修復ディスクでブートすると,「システム回復オプション」というダイアログが表示される。ここで,システム上に見つかったWindows 7が表示され,あとは自動で修復してくれる...はずらしいのだが,私の場合,何も表示されない。「ドライバーの読み込み」ボタンがあったので,これを押して,INTELのAHCIドライバを読み込ませてみたのだが,やはりダメ。AHCIがダメなのかと思って,BIOSでIDEモードに切り替えてブートし直してもダメ。

それではと,何も選択しないまま,「Windowsの起動に伴う問題...」と書かれている方のラジオ・ボタンを選択し,[次へ]ボタンを押してみると,回復ツールを選択するダイアログに切り替わる。ここで「スタートアップ修復」を押しても,システムが見つからないので修復出来ない,というようなメッセージ。仕方なく,「コマンドプロンプト」があったので選択してみる。どこかのWebサイトで,コマンドプロンプトから

bootsect /nt60 sys /mbr

とすればMBRが修復出来ると書かれていたので,試してみた。しかし,コマンドの実行は成功するものの,再起動しても状況は変わらない。はたと困ってしまった。

もしかしたら,MBRは正しくても,ブート・メニューが壊れているのかもしれない。そこで,また別のWebサイトの情報で,やはりシステム修復ディスクのコマンドプロンプトで,

bootrec /rebuildbcd

を実行すると,BCD(Windows 7のブート・メニュー)を修復してくれると書かれてあったので試してみたが,ここでもシステムが見つからないというつれないメッセージ。一体何故? diskpartコマンドで「list disk」を実行してみると,システムに接続されているHDDは全て認識されているようだ。ならどうして見つからないのか。

ここでふと,「list disk」の実行結果に,「異形式」と書かれているのが気になった。これってもしや,ディスクは認識されていても,フォーマットが認識出来ずに読めてないのでは? diskpartに「import」というそれらしいコマンドがあったので,適当に「select disk=1」とかして,Windows 7がインストールされているはずのディスクを選択した後,「import」を実行してみた。記録しておかなかったので,何が表示されたかよく覚えていないが,とにかく成功したみたい。でここでおもむろに「bootrec /rebuildbcd」を実行。見つかった! Windows 7のシステム。再起動してみたところ,ようやく無事Windows 7が起動した。

原因はどうも,接続されているHDDが全て「ダイナミック・ディスク」だったことのようだ。Windows 7が自らサポートしている形式なのに,「異形式」とか表示されるのがそもそもおかしな話だが,ダイナミック・ディスクは,そのままではシステム修復ディスクから認識されないと考えられる。私の場合,1年ほど前のHDDクラッシュの際,ミラーリングなどを試す中でダイナミック・ディスクに変えたのだが,世の中ではあまり使われていないのだろうか。そうでなければ,同じようにはまる人が続出しそうなものだが。謎だ。


ThinkPad X100eの再生 [ソフトウェア/PC関係]

だいぶ前,モバイルの走りというか,どこにでも携帯出来るような小さいPCが欲しくて,あれこれ買い漁ったことがあった。最初がVAIO U。すごく期待して買ったのだけど(しかも良いお値段だった),処理速度が遅いし,バッテリーの持ちは悪いし,結局モバイルで活躍することはなかった。それでも飽くことなく,ネットブックと呼ばれた「IdeaPad S10」だの,「VAIO type P」だの,「ThinkPad X100e」だの,買い続けた。結果として,どれも常用には至らず,ホコリを被ることに。まぁ,早過ぎたというしかないのだろう。モバイルでのネットワーク接続環境もまだ整備されていなかった。今なら,MVNOの格安SIMとタブレットで出来るようなことさえ,当時は難しかったのだ。

そうした古いマシン達。ホコリは被ってるものの,総稼働時間も短く,綺麗なものである。さすがにVAIO Uは使い物にならないとしても,他はこのままスクラップにしてしまうには惜しい。特にX100e。こいつは「ThinkPad」の名を冠しているだけあって,トラックポイント搭載である。モバイルには向かなくても,家の中で,Webブラウジング程度なら充分使い物になる。

まずメモリ。どういう経緯だったか忘れたが,2GB+0.5GB搭載されている。0.5GBの方を2GBに入れ替えれば,4GBになる。プリロードが32bit Windows 7なので,使えるのは3GB(内グラフィックに0.3GBほど取られる)だが,少しでも大いに越したことはない。メイン・メモリとして使えない1GBは,Gavotte Ramdiskを使って,RAMディスクにした。しかし,1GBというのは少々中途半端。ページング・ファイルを置くには足りない。メイン・メモリと同じサイズは欲しいからだ。となると,一時ディレクトリ用にした方が良いだろうか。あまりスピード・アップには貢献しなさそうだが。

案の定,メイン・メモリを増やしても,やはりそれほど体感速度は上がらなかった。となると,残るはHDDをSSDに換装するくらいしかない。だいぶ前にIdeaPad S10をSSDに換装した時は,INTELの120GBのものが7500円ほどだった。あれから数年,SSDの相場は安くなったのだろうかと調べてみると,新しいTLCというタイプのSSDは安いのだが,耐久性に問題があるという噂。以前買ったのと同じタイプのMLCのものは,Transcendの128GBが約6千円。256GBで約1万円。メーカーの違いを考えれば,それほど安くなっている訳ではないようだ。X100eのHDDは250GBだが,そんなに大量のデータを保存する必要があるとも思えないので,128GBにした。

X100eのHDDの換装は簡単で,ACアダプタも電池も外して,裏蓋の全てのネジを外して蓋を開け,HDDをスライドさせてコネクタから抜けば良い。そして,HDDのハーネスを外してSSDに取り付ける。データの転送は,いつものようにAcronis True ImageでHDDをバックアップし,それをSSDに復元する。ディスク・サイズが半分程度になってしまったので,パーティション・サイズはTrue Imageが適当に調整してくれる。本当は,Windowsが入っているパーティション以外のサイズは,元のままにしておきたかったのだが,どうもそういうオプションはないみたい。問題が起きたら再調整すれば良いので,取り敢えずTrue Imageの言うがままにしておく。SSDを取り付けて蓋を閉め,電源を入れたら,何事もなかったように起動した。

体感速度はやはり劇的に速くなった。X100eは何故かディスク・アクセス・ランプがないので,大量のHDDアクセスで遅くなっている時など,イライラしたものだが,SSDのアクセスそのもので待たされるはずがない,というのは大きい。ページング・ファイルにしても,RAMディスクには及ばないだろうが,遥かに速くなっているはずだ。ただ,やはり,CPUを食うような処理は重い。これは,CPUを換装出来ない以上どうにもならないので,あきらめるしかない。特にブラウザでのFacebookの処理が異様に遅い。高解像度のMP4動画なども,カクカクする。リモート・デスクトップ・クライアント専用と割り切るくらいが,精神衛生上も良さそうだ。

ところで,この一連の作業中,Windows 7のトラブルに遭遇した。なんでも,Windows 7 SP1以降のどこかの時点から,メモリが少ないマシン(4GB以下など)で,Windows Updateに異常に時間がかかる現象が発生しているらしい。手持ちのデスクトップPCは,どれも8GB以上積んでいるので気が付かなかったのだが,確かにIdeaPad S10でもThinkPad X100eでも経験した。タスク・マネージャを開くと,CPU使用率が100%に貼り付いてしまって,他の作業が満足に実行出来ないし,このWindows Updateが延々と終わらない。Windowsシステムのプロセスで,

svchost.exe -k netsvcs

というのがCPUを大量に消費していたらビンゴである。付きっきりだったわけではないので,正確ではないと思うが,24時間くらいはWindows Updateをしていたように思う。その後も,何かのタイミングでWindows Updateが走り,CPU100%貼り付きになることは解消されていない。もっとも,この場合は他の作業が出来ないほど重くなるということはないので,優先度が調整されているのかも知れないが。気になる場合は,Windows Updateのサービスを,無効にしてしまうのも手である。ただしその場合は,1ヶ月に1回ほどはWindows Updateを手動で有効にして,パッチを適用すべきである。しかし,セキュリティ対策上重要とは言え,Windows Updateにも困ったものだ。


Active DirectoryドメインのNetBIOSドメイン名を問い合わせる方法 [ソフトウェア/PC関係]

久々のブログ更新で,全く唐突にActive Directoryの話題。

本業の方で必要になって,ちょっと調べてみたことをご紹介。Active Directory(AD)のドメイン名は,"example.local"みたいな,Internetのドメイン名と同じ形式をしている。一方で,従来のWindowsのドメイン名(NetBIOSで使われているもの)も依然として存在している。ドメイン内のPCに,ドメイン・ユーザーとしてログインする時は,「NetBIOSドメイン名\ユーザー名」を指定するが,これはAD環境でもまだ有効だ。デフォルトでは,ADドメイン名の最初のピリオドまでの部分が,NetBIOSドメイン名として使われるのだが,別のものに設定することも可能だ。そのため,ADドメイン名からNetBIOSドメイン名を機械的に得ることはできないことになる。ではどうすれば良いか,というのが今回のお題。

そもそもなんでそんなことを調べ始めたかという経緯を説明しておこう。ADサーバーというのはLDAPサーバーでもある。なのでLDAPプロトコルを利用して,ユーザー情報などを問い合わせることができる。しかし,そのためにはまず,LDAPサーバーがどれなのか知る必要がある。通常の構成では,DNSがこれを知っているはずで,例えばLinuxからだと,ターミナルで

dig +short SRV _ldap._tcp.<ADドメイン名>

というコマンドを実行すれば良い。例えば,example.localドメインに対しては,

# dig +short SRV _ldap._tcp.example.local
0 100 389 ads.example.local

のような形で,ホスト名を返してくれる。3番めの数字はポート番号。このホスト名とポート番号を使って,LDAPプロトコルで問い合わせをすれば良い。

例えば,"Suzuki"という名字のユーザーを全て検索してみよう。ここではPythonを使ったサンプル・コードを示す。Pytho-LDAPという追加パッケージを使って,

import ldap
con = ldap.open('ads.example.local')
con.simple_bind_s()

base_dn = 'cn=Users,dc=example,dc=local';
filters = '(sn=Suzuki)'
res = con.search_s(base_dn, ldap.SCOPE_SUBTREE, filters)

for r in res:
	attrs = r[1]
	for k in attrs.keys():
		print "%s: %s" % (k, attrs[k])
	print '----------------------------'

のように書ける(エラー処理等は省略)。実行すれば,該当するユーザーに設定されている全属性が,一人分ずつ表示される。その中で,ADユーザー名は,userPrincipalNameという属性の値として返される。これは"suzuki@example.local"のように,ADドメイン名が付加された形になっている。一方で,NetBIOSユーザー名は,"sAMAccountName"という属性になる。"suzuki"のような形式だ。こちらにはNetBIOSドメイン名がついていない。他の属性にも,NetBIOSドメイン名の情報は含まれない。では,先程のような,「NetBIOSドメイン名\ユーザー名」という形式を得るにはどうすれば良いのだろう。という訳である。

ADサーバーに登録されているユーザーのドメインは,当然ADサーバーのドメインと同じはず。なので,ADサーバーのNetBIOSドメイン名を知る方法があればよい。ADサーバーにログインして,「Active Directory ユーザーとコンピューター」で調べれば分かることだが,ここではあくまで,プログラムを使って問い合わせたい。LDAPで問い合わせることができれば,なお良い。

なかなか苦戦したのだが,散々Webで検索した結果,ようやく正解らしきものにたどり着いた。LDAPの「cn=Partitions,cn=Configuration,dc=example,dc=local」のノードの下に,「cn=<NetBIOSドメイン名>,cn=Partitions,cn=Configuration,dc=example,dc=local」というノードがあるというのである。って,そのNetBIOSドメイン名を知りたいんじゃないのか? と思うかもしれないが,心配はない。そのノードは「nETBIOSName」という属性を持っていて,それがまさにNetBIOSドメイン名だということだ。つまり,その属性を持つノードを検索すれば良い。例えば,次のようなPythonコードになる。

import ldap
con = ldap.open('ads.example.local')
con.simple_bind_s()

base_dn = 'cn=Partitions,cn=Configuration,dc=example,dc=local';
filters = '(nETBIOSName=*)'
attrs = ['nETBIOSName']
res = con.search_s(base_dn, ldap.SCOPE_ONELEVEL, filters, attrs)
print res[0][1]['nETBIOSName'][0]

という訳で,取り敢えず解決。より複雑な構成の場合には,dnsRoot属性が所望のADドメイン名であることもチェックした方が良いのかもしれないが,環境がないので未確認である。悪しからず。


Amazon限定で,データ復旧保証付きHDDが! [ソフトウェア/PC関係]

【Amazon.co.jp限定】WD 内蔵HDD Green 3TB 3.5inch SATA3.0(SATA 6 Gb/s) 64MB IntelliPower データ復旧2年保証つき WD30EZRX-1TBP-DS/N (FFP)
データ復旧保証付きのWDの3TB HDD,WD30EZRX-1TBP

一昨日,Western Digital(WD)のHDDが壊れたことを書いたが,なんとAmazon限定で,データ復旧保証付きのWDのHDDを売っていることが分かった。データ復旧保証なしとの差は,3TBでわずか1500円ほど。データ復旧なんて,専門の会社にまともに依頼したら数万~数十万かかるらしいので,これは破格。この保証をWDが付けてるのか,Amazonが付けてるのか分からないが,この値段差なら,保証付きを買わない手はない。

...と思ったのだが,冷静に考えると,データ復旧保証が2年というのは微妙。さすがに2年未満で壊れた経験は今のところないしねぇ。っていうか,保証期間ってそういうものか。そう頻繁にデータ復旧が発生したら,1500円じゃ合わないわな。

ついでに2TBの方も確認してみると,こちらはなんとデータ復旧保証ありなしの価格差が約3千円! ということは,保証期間内のリスクが3TBよりも高いということ? うちには,この2TBのHDDが沢山あるんだけど...。


Too many bad sectors detected [ソフトウェア/PC関係]

WD 内蔵HDD Green 3TB 3.5inch SATA3.0(SATA 6 Gb/s) 64MB Inteilipower 2年保証 WD30EZRX-1TBP
Western Digitalの3TB HDD: WD30EZRX-1TBP

またしてもハードディスク(HDD)が壊れた。Western DigitalのWD20EARS。2TBのHDDだ。編集済みのTV録画ファイルをアーカイブ用HDDに移動するまで溜めておく場所として使っていたもので,PS3などで再生するためのメディア・サーバー用のデータ・ドライブでもあった。そう考えるとかなり酷使してきたとは言えるかもしれない。幸いなことに,ディスク・アクセス不能になるまでは至っておらず,一部のセクタで読み取りエラーが発生している模様。ちょうど最近,アーカイブにごっそり移動したばかりだったので,残っているファイルはさほど多くなかった。それでも2つの録画ファイルでエラーが発生。どちらも近々再放送があるはずの番組だったので,実質的な痛手はゼロと言える。この1月に突如壊滅的な壊れ方をした,2.5TBのHDDに比べたら,なんと良心的な壊れ方だろう。撮り溜めておいた写真データが失われたことを思うと,逆だったらと心から思う。

エラーが発生したファイル以外を他のHDDに退避したあと,故障の状況を調査すべく,Western DigitalのHPからData Lifeguard Diagnosticというソフトをダウンロードしてきて,EXTENDED TESTを実行してみた。10時間ほどかかった挙句,"Too many bad sectors detected"と出た。てっきりバッド・セクターをよしなに処理してくれるのかと思っていたのだが,処理しきれないほど多いということなのだろうか。まぁでも,バッド・セクターが出るようなHDDは,もう安心して使えないのは事実。勿体ないけど,仕方ない。

ここでふと,保証ってどうなってるんだろう,と思い付いた。以前は,Seagateなど,永久保証5年保証とか謳っていて,壊れたHDDの無償交換に応じていたはず。HDDの価格がどんどん下がり,利幅が少ない中でさすがに永久保証5年保証は無謀だと実感したのか,1年だか3年だかに短縮されたような記憶があるが,Western Digitalはどうだったか。やはりWDのサイトのサポートのページに「保証およびRMA(返品許可証)サービス」というのがあったので行ってみると,「保証の確認」というところで,シリアル番号を入れて保証対象かどうか確認することが出来る。シリアル番号は,先のData Lifeguard Diagnosticで表示されるので,それを入力してみた。すると,残念なことに保証期間は2013年まで。最近買った3TBのHDDが2017年までだったので,保証期間は2年ということか。すると,壊れたHDDは4年使っていたことになる。これは長いのか短いのか。家にはもっと長く使ってるHDDもあるし,当然個体差はあるのだろうが,4年でダメになってしまうものがある,ということは不安を掻き立てる。4年周期で全てを交換することを考えると,かなりの出費になるはず。HDDをクローンする手間もバカにならないだろうし。

しかし,今回の壊れたHDDに対しても,S.M.A.R.T.の診断結果は異常なし。あれって本当に役に立ってるのだろうかね。

[追記] 永久保証は嘘でした。5年保証ですね。さすがにねぇ。


Ustreamライブの録画 [ソフトウェア/PC関係]

とあるアーティストが,Ustreamライブでライブ(ややこしい)をやるという。勿論リアルタイムで観るつもりだったが,果たしてこれは録画できないものなのか,と思って調べてみた。

Ustreamライブは,去年だか今年だかいろいろ変更があって,その前に書かれた情報は有効ではないようだ。変更前には使えていたソフトが,変更後に使えなくなってしまったとか,そんな情報がたくさん見つかる。でも,すでに変更から時間が経っているので,その情報すら有効ではない。当然ソフトの方だってアップデートされる。Web上の情報は,この辺りの情報が渾然となっているので,探すのが面倒くさい。こういうのを考慮した検索エンジンは出てこないものか。

結局のところ,LiveStreamerというソフトが使えるらしいことが分かった。HLSとかHDS(と書いておきながら,あんまりよく分かってない)にも対応しているようだ。

使い方は至極簡単で,

livestreamer <放送のURL> --default-stream best -o <出力ファイル名>

とすれば良いようだ。「--default-stream best」が何なのか調べていないが,これを指定するのが定番らしい。出力ファイル名の拡張子は何にすべきか分からなかったが,生成されたファイルをバイナリ・エディタか何かで開いてみればフォーマットが分かるだろうから,適当にしておいて後で変更すればよいだろう。

これで当該ライブは無事録画出来た...と思っていたのだが,結構ブチブチ途切れている。ストリーミング配信なので,覚悟はしていたのだが,ちょっと酷い。別のPCで,別の回線経由でリアルタイム視聴してた時には気にならなかったのだが。録画に使用したPC(と言ってもVMだったが)の性能の問題か,ネットワークの問題か,はたまたLiveStreamer自身の問題なのか。この辺りは,もう少し実験してみないとはっきりしない。...するかどうか分からないが。

ちょっとがっかりしていたのだが,有難いことに,その後,そのライブの模様がアーカイブとして登録された。そちらはFirefoxのVideo DownloadHelperであっさりダウンロード成功。メデタシ,メデタシ。


前の10件 | 次の10件 ソフトウェア/PC関係 ブログトップ

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。