So-net無料ブログ作成
検索選択
ソフトウェア/PC関係 ブログトップ
前の10件 | -

ダイナミック・ディスクのブート不能修復 [ソフトウェア/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であっさりダウンロード成功。メデタシ,メデタシ。


中途半端なWindowsのシンボリック・リンク [ソフトウェア/PC関係]

先日のHDDクラッシュの件は,新しいHDDは届いたものの,まとまった時間が取れず,まだサルベージ作業には着手できていない。ほとんど見込みはないと思ってるので,急いでも急がなくても,大した違いはない。それより問題は今後である。

取り敢えず,定期的にバックアップを取らなければならない。バックアップ先の容量の問題もあるので,何でもかんでもコピーするというよりは,必要な物だけということになるだろう。となると,バックアップ対象のファイルが,あちこちに散らばっているのは都合が悪い。手っ取り早いのは,特定のディレクトリの下に,バックアップ対象を集めるやり方だ。例えば,\Documentsをバックアップ対象として,その下にサブディレクトリを作って,ファイルを分類して置いておくのである。ただ,今までルートにあったディレクトリは,1階層下になって,アクセスの手間が増えてしまう。そこで考えたのが「リンク」の利用である。

Windowsではあまりポピュラーではないと思うが,Linux等でよく使われる技術に,「シンボリック・リンク」というものがある。これは言わば,ファイルやディレクトリに対して,別名を付けるようなことに当たる。例えば,"C:\Documents\Photo"というディレクトリの別名として,ルート・ディレクトリに"Photo"という名前のリンクを作るのだ。こうすると,例えば

dir c:\Photo

とした時に,"C:\Documents\Photo"ディレクトリの内容をリストすることが出来る。

Windowsの場合,NTFSファイル・システムの機能を利用して実現されているので,NTFSでフォーマットされたHDDでないと利用できない。が,まぁ今どきNTFSが普通だろう。実は,元々「ジャンクション」という似たような機能があったのだが,ディレクトリのみが対象で,ファイルに対するリンクは作ることが出来なかった。それが,Vistaから,よりLinuxのものに近い,「シンボリック・リンク」がサポートされるようになったのである。今回は,ディレクトリのリンクで充分だし,ジャンクションなら以前も使ったことがあったのだが,せっかくなので,新しいシンボリック・リンクを使ってみることにした。

シンボリック・リンクの作成には,"mklink"というコマンドを使う。先ほどの例だと,コマンド・プロンプトで,

mklink /d c:\Photo c:\Documents\Photo

を実行すれば良い。但し,管理者権限が必要なので,コマンド・プロンプトを「管理者として実行」しておく必要がある。リンクが出来ると,"dir"コマンドでは

2015/01/28  23:00    <SYMLINKD>     Photo [c:\Documents\Photo]

というように,"<DIR>"の代わりに"<SYMLINKD>"と表示される。Exploreの場合は,フォルダのアイコンにショートカットの矢印が付く。

使用感は,ジャンクションと全く変わらない。ファイルのシンボリック・リンクも作れるようになったし,より便利になった...と思っていたのだが,後日思わぬ落とし穴に気付いた。

シンボリック・リンクを作ったドライブは,ネットワーク共有して,他のPCからもアクセスすることが多いのだが,ネットワーク・ドライブのシンボリック・リンクを開こうとすると,「アクセス出来ない」というエラーになってしまうのだ。先に書いたように,シンボリック・リンクは比較的新しい機能なので,古いアプリケーションでは対応していないことがある...ということは知っていたのだが,Windows付属のExplorerでも同じなのだ。これはどういうことだろう。

Linuxの場合,シンボリック・リンクというのは,文字通り,設定されたパスの文字列へリンクを張るものだ。先の例で言えば,Photoは"c:\Documents\Photo"を参照する。ネットワーク・ドライブは"c:"ではないので,それが問題なのだろうか。

そう考えて,ローカルのCドライブに,"\Documents\Photo"というディレクトリを作ってみたのだが,相変わらずエラーになる。どうも,Windowsのシンボリック・リンクは,ネットワーク共有には対応していないということのようだ。

ジャンクションの場合は,ネットワーク・ドライブでも問題なく利用できるので,結局全て,ジャンクションに作り変えることにした。せっかく機能が増えたと思ったのに,中途半端な仕様である。因みに,ジャンクションは,同じmklinkコマンドで,

mklink /j c:\Photo c:\Documents\Photo

のようにすれば作成できる。管理者権限も必要ないので,こちらの方がお手軽だ。


ワン・クリックでWindowsをロックする [ソフトウェア/PC関係]

小ネタ。Windows 8以降は知りません。現在稼働中のマシン(も仮想マシンも)ないため。Windows 7でのみ動作確認済み。

オフィスなどで,PCの前を離れる時,セキュリティーの観点から,画面ロックをかけることを推奨されることが多いと思う。省電力機能で,一定時間操作をしないと,ロックされるように設定している場合もあるだろうが,やはり確実なのは,その場で即ロックをかけること。これは,Ctrl+Alt+Deleteを押して(昔は所謂「三つ指ついて」などと言っていたが,最近はどうなんだろう),「このコンピュータのロック」をクリックすれば良い。しかし,これだと2ステップ操作が必要なので,若干面倒くさい。そこで,アイコンをワンタッチすればロックできるようにしてみる。

まず,デスクトップに新規ショートカットを作る(デスクトップを右クリックしてから,[新規作成]-[ショートカット])。ダイアログが表示されるので,「項目の場所を指定してください」の欄に,

%windir%\System32\rundll32.exe user32.dll,LockWorkStation

shell32.dllの鍵のアイコン

と入力し,[次へ」をクリック。次のパネルで,「このショートカットの名前を入力して下さい」の欄には,「コンピュータのロック」など,分かりやすいものを入れる。[完了]ボタンを押したら,新しいショートカットのアイコンができてるはず。ただ,デフォルトで設定されるアイコンはそれらしくないので,変更してみる。アイコンを右クリックして,[プロパティ]を選択し,[ショートカット]タブの[アイコンの変更]をクリック。「このファイル内のアイコンを検索」の欄に

%SystemRoot%\system32\shell32.dll

と入力。アイコン一覧の枠の中をクリックすると,shell32.dllが持っているアイコンが表示される。この中の,鍵のマークがよさそうだ。[OK]ボタンを2回押して閉じる。

ここまででも,鍵のショートカットをダブル・クリックすれば,ロックできるようになっているはずだが,デスクトップがアプリケーションのウィンドウなどで隠れている場合にはちょっと不便である。そこで,再びアイコンを右クリックし,[タスクバーに表示する]を選ぶ。これで,アイコンがタスク・バーのスタートボタンの横に並んだはずだ。タスク・バーのボタンはワン・クリックで動作するので,ロックしたい時にボタンをクリックするだけで良い。

意外と便利なので,是非お試しあれ。


2.5TB HDDが故障...。 [ソフトウェア/PC関係]

WesternDigital CaviarGreen 3.5inch Intelipower 2.5TB 64MB SATA3.0Gbs WD25EZRS
Western DigitalのGreen Label 2.5TB HDD,WD25EZRS。中途半端なサイズなので,もうあんまり売ってないみたい。

2.5TBのHDDが突然壊れた。何の前触れもなく,さほど大きくないファイルを普通にコピーしようとしたら,いきなりシャーという怪しげな音がし出して,処理が止まってしまった。一旦シャットダウンして,おそるおそる再起動したところ,一応動いているみたいなので,慌てて別のHDDにデータのバックアップを始めた。だが,数十GBコピーした段階で,また異音が。再び再起動したら,今度はカツンカツン言い始めて,全く読めなくなってしまった。これはまずい。放っておくと,ますます悪化するだけなので,電源を切って取り外した。

症状からすると,物理的な故障なのは間違いなさそうだ。クリーンルームでも使えれば別だが,とても自力でサルベージできるとは思えない。ただ,ちょっと調べてみたところ,Linuxでdd_rescueを使えば,読める部分だけHDDのダンプくらいなら取れるかもしれない。それには,2.5TBのデータの入るHDDが必要なので,それまでしばし保留。

因みに,機種はWestern DigitalのWD25EZRS。WDのHDDが壊れたのは初めて。バックアップ取っておかないのが悪いのは分かってるが,2.5TBともなるとHDDにバックアップするしかない。やっぱり,重要なデータは二重化しておくしかないか。RAIDでミラーリングするのがいいのか,別のマシンのHDDに自動同期しておくのがいいのか...。


powercfgのショートカットで電源オプションを切り替える [ソフトウェア/PC関係]

昨日の「電源オプション」の話の続き。

で,次善の策とは何かというと,このブログで以前も登場した(はず)"powercfg"コマンドである。様々な機能を持つコマンドだが,コマンド・プロンプトで

powercfg -SETACTIVE <SCHEME_GUID>

を実行すると,SCHEME_GUIDで指定した電源スキームに変更することが出来る。SCHEME_GUIDは,電源スキームを識別する16バイトの値だ。因みにGUIDとは"Global Unique IDentifier"のことで,世界中のあらゆるものを一意に識別するためのIDである。と言ったって,所詮有限の値なのだが,エクサにエクサをかけてもまだ足りないのだから,当分は大丈夫なのかもしれない。

それはさておき,そのSCHEME_GUIDをどうやって知るのかというと,これまたpowercfgコマンドで,

powercfg -LIST

を実行すると一覧が表示される。

>powercfg -LIST
既存の電源設定 (* アクティブ)
-----------------------------------
電源設定の GUID: 381b4222-f694-41f0-9685-ff5bb260df2e  (バランス) *
電源設定の GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c  (高パフォーマンス)
電源設定の GUID: a1841308-3541-4fab-bc81-f71556f20b4a  (省電力)

因みに,この3つのGUIDは,ユーザーや環境によらず同じらしい。ただ,いずれにしてもハイフンも含めて36文字もの引数を指定するのは面倒なので,別名(エイリアス)を指定できる場合がある。これは

powercfg -ALIASES

を実行すると対応が一覧される。これと,スキームのGUIDを見比べるてみると,デフォルトの電源スキームは,

電源スキームの名前別名
バランスSCHEME_BALANCED
高パフォーマンスSCHEME_MIN
省電力SCHEME_MAX

のように対応しているらしい。この別名は,SETACTIVEオプションに与える,SCHEME_GUIDの代わりに指定することが出来る。

これらを使ってどうするかというと,デスクトップにpowercfg.exeのショートカットを作るのである。私の場合は,高パフォーマンスと省電力スキームとを切り替えられれば良いので,ショートカットを2つ作り,それぞれのプロパティのリンク先を,

powercfg -SETACTIVE SCHEME_MIN
powercfg -SETACTIVE SCHEME_MAX

に変更した。以前紹介したREQUESTSオプションの実行には管理者権限が必要だったが,SETACTIVEオプションには必要ないので,ショートカットをダブル・クリックするだけで,電源オプションを切り替えることが出来る。あるいは,タスク・バーにデスクトップ・ツールバーを表示するようにすれば,そこから選択することも出来る。こうすると,タスク・トレイにアイコンが表示されている時と,あまり変わらない操作感を実現できる。これだけでは現在どちらが選ばれているかは分からないが,実用上は問題ないと言っていいだろう。

そんな訳で,これでしばらく運用してみようと思う。


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