2009/08/25

リムーバブルではなくなった外付けHDD

Inspiron 640mに入っているVista Business SP2のバックアップ用に使っている320GBのTranscend製のUSB外付け2.5インチHDD StoreJet。いつからか「安全に取り外す」を選択すると「'汎用ボリューム'デバイスを使用中のため、停止できません」のメッセージが表示されるようになってしまいました。 これでは電源を入れている間は取り外せないままで、リムーバブルとはもはや呼べないものになっています。

けれどデバイスをつかんでいるプロセスは思いつかず、電源を止めたり再起動したタイミングで外していました。しかし、どういう理由か納得していないけれど、現象としては無事に「安全に取り外す」が行なえるようになりました。

変更したデバイスのプロパティ

変更したのは「ポリシー」タブの設定で、「クイック削除のために最適化する」から「パフォーマンスのために最適化する」にチェックを移しました。この状態では、どういう理由か無事に「安全に取り外す」が行なえます。

元々の設定であれば「安全に取り外す」を選択する必要がほぼなかったわけですが、それであれば選択できないか、「安全に取り外せます」ぐらいのメッセージが欲しいところ。 間違いかと思って手元で設定を戻してみたけれど、1回目は再現して取り外せなくなりました。

ただし次から何回か設定を戻したり繰り返している内に、どちらの設定でも安全に取り外せるようになりました。 時間の経過が解決したのであれば、Diskeeperが分析でもしていたのかなぁ…。 というわけで原因はなぞのままです。

UNIXやらLinuxであれば"lsof"で解決したいところですが、Windows XP以降では"openfiles"で似たような動きをするとのこと。ただし使うためには再起動が必要で、今回はうまく使う事ができませんでした。

Vistaの嫌いなところ、はまるところ

今回は「デバイス・マネージャ」の「ディスクドライブ」に一覧される「StoreJet Transcend USB Device」のように表示されるデバイスのプロパティを変更しました。

デバイスマネージャの代りにExplorerに表示される"C:"やら"F:"やらのプロパティ経由でも「ハードウェア」タブに一覧表示されているデバイスのリストがあって同じウィンドウが開きます。 けれどもプロパティの「ポリシー」タブ内は灰色の表示で変更できません。 これは管理者権限でExplorerを起動しても同じ。

この他の方法としては、管理ツールにある「コンピュータの管理」を起動してディスクの管理の中からプロパティを開く事でもポリシーの変更は可能です。 こっちは見た目はExplorerと同じなのに、ちゃんとポリシーの変更ができました。

なんでかなぁ。UACのせいだと思うんだけど、Explorerを管理者権限で起動しても見れないって変だよなぁ…。もしExplorerの問題だとしたらUACの動きが実装に依存する事になっておかしいよね。フェイルセーフではあるけれど。

2009/08/21

dynabook C8/213の壊れかかったHDDの交換

手持ちのノートPCのHDD交換では、Windowsが動いているものは、これまでSelfimageで対応してきました。 ソフトウェアの再インストールは時間がかかりますし、まったく同じ環境は引き継げないので、ディスクイメージでコピーをするのが楽ですよね。

ところが今回はSelfimageで40GBのHDDから別の80GBのHDDへ読み込んでいくと20.711GBのところで"CRCエラー"が発生してしまうノートPC(dynabook C8/213)の引っ越し作業を行なう事になりました。

最終的にはInspiron 640mのVistaに取り出したHDDと新しいHDDをUSB経由で2台接続して作業を行ないました。C8/213に接続したままで作業が完了するかは微妙ですが、Selfimageを使わずにDriveImage XMLの"Backup", "Restore"だけを使えば行なえただろうと思います。

C8/213の症状

まとめると次のような状況でした。

  • 正常に起動し、通常の使用については不具合はない
  • ときおりHDDから1秒間に2回ほどのペース(約120BPM)で「カチ」という音が連続して聞こえてくる
  • さらにまれに、1秒間に4回ほどのペース(約240BPM)で「ガチ」という音が連続して聞こえてくる
  • CHKDSKによる不良セクタの修復などでは不具合は報告されていない
  • SelfimageやLinux上のddコマンドでディスクイメージを読み出すと、特定の個所で処理が停止する

潜在的にかなり問題のある状況で、SelfimageやDiskimage XMLで特定のセクタにアクセスしようとするとヘッドが数回その場所をシークしようとする音がした後に沈黙、Windows上ではCRCやらその他のエラーが報告されました。

引っ越し作業をする際の注意点

今回は引っ越し元と、引っ越し先のHDDをVistaに接続しています。 作業がない時はHDDを接続しないなどの方法で、間違ってオリジナルのHDDをフォーマットするといった事がないようにしてください。

また容量の小さいHDDから大きなHDDにコピーする場合は、一時的に同じ容量のドライブが作成されます。 余った領域をD:ドライブとして使う方法もありますが、DISKPARTコマンドを使ってC:ドライブ(パーティション)が拡張できる事も覚えておいてください。

成功した方法

とりあえず試行錯誤の経過は置いておいて、成功した流れをメモしておきます。 冗長な部分もあると思いますが、とりあえずこの方法で繰り返し成功しました。

  1. C8/213から取り出したオリジナルHDD(HDD-SRC)と、新しいHDD(HDD-DST)を両方ともUSBケースに入れVistaに接続
  2. Selfimageを使い、HDD-SRCからHDD-DSTに"entire drive"でコピー (途中でエラーで停止する)
  3. Vistaでエラーチェックから”不良セクタの回復”にもチェックを付けて、再起動 (CHKDSKが走る)
  4. VistaでHDD-DSTがNTFSとしてドライブレターが付いている事を確認
  5. DriveImage XMLを使い、HDD-SRCに対して"Backup"を使い、不良個所がでても無視し、バックアップイメージを取得
  6. DriveImage XMLを使い、HDD-DSTに対して"Restore"を使いバックアップイメージを戻す
  7. C8/213にHDD-DSTを載せ換えて無事に起動する事を確認
  8. 再びHDD-DSTをVistaに接続して、DISKPARTを起動し、Volumeの選択(Select)と拡張(Extend)を行なう

Selfimageを使わなくてもWindows XPのインストールCD-ROMがあれば、単純なコピーを取得した後で"fixboot", "fixmbr"を実行すれば起動できるだろうと思います。 最初に"Selfimage"を行なっているのは、この部分の作業を省略するためです。

さいごに

DriveImage XMLを使うと、セクタエラーがあっても何とか読める範囲のファイルはバックアップを取得する事ができました。この点はSelfimageにはない利点だと思います。

今回はリカバリCDがないなどの状況があったので、ブートブロックを含めてオリジナルHDDのコピーを作成する方法に執着しましたが、HDDが壊れかかっている場合にはリカバリCDから新しいHDDにコピーを作成するのが確実です。今回は運が良かったかなと

2009/08/12

Google ChromeでWebラジオが再生できなくなった

Inspiron 640mのVistaではGoogle Chromeをメインに使用しています。OperaやLunascape5も入っていますが、作業チェックには使っても普段使うのはChromeでGyaoをみるのにIEを使うぐらいです。

しばらく前にGoogle Chromeがバージョンアップしたぐらいから、Webラジオ等のストリーミングを再生しようとすると"Waiting for video"というメッセージが出たまま進まなくなってしまいました。

FirefoxやIEではまったく問題ないのだけれど、Firefoxはメモリ使用量がひどいし、IEは起動時間がひどくなる。 できれば普段使っているChromeでラジオも聞きたいので、少し原因を探ってみました。

とりあえず結論

"about:plugins"で調べて分かったのはVLCのプラグインが入っていたこと。 最新版が出ていたので導入する際に"Mozilla plugin"にチェックを入れないように気をつけたところストリーミング再生時にMedia Playerが起動するようになりました。

FirefoxではMedia Playerが起動していたのになぁ…。

2009/08/09

有名人が覚せい剤で逃げ回って何の特があるのか…

なんだかんだいって無事に身柄が確保できたようで一安心でした。 彼女を活かしてお金を取りたい人も、口を封じたい人もいたでしょうから。 でも何で逃げたんでしょうね…。

ふつうは初犯なら覚せい剤の使用・所持を認めても執行猶予が付くでしょう。 人気商売だから素直に認めて謝って、情状酌量を求めるのが最も良い手段だと思います。

どうして出頭しなかったのか。ショックのあまり判断を誤った可能性はありますが、 逃したい or 巻き込まれたくない人達が情報を与えてこんな事になったように見えます。

尿検査から逃がれるための逃避行という分析が主流ですが、 髪の毛からの検出は頻度や他の要因に依存するとしてもある程度は可能に思えるし、 なによりも逃げた事実は最大限の拘留を引き起して、保釈の可能性を奪うでしょう。

まぁ自宅から何も見つからなければ逮捕・拘留の可能性はなかったかもしれませんが、 最初から後で出頭する旨を警官に告げていたようですし、検査は避けられませんでした。 毛髪からの反応や状況証拠が揃えば逃げた事を理由に拘留されるでしょうし、 そうでなくても今後の芸能活動や日常生活は逃げていた事がマイナスに作用するでしょう。

どうしてこんな事になったんでしょうね。 アメリカでは無実でなくとも無罪になれば良いという考えがあるようですが、ここは日本ですし、 こんなのは割に合わないと世間にしらしめて欲しいところです。

各所のブログを読んで気になった事

だいたい覚せい剤で良く言われるのが「痩せる」というか「やつれる」点ですが、 初期には食欲が増進して食べ続けるというケースもあると言われています。 まぁ最終的にはGoogleで"crystal meth"をキーワードに画像検索して出てくるような状態になるようですが、どうみても「痩せて」という表現は間違っていると思います。

また男性より女性の方が扱いが軽いとか、そういう投稿をみますが、一般的に最初に覚せい剤に関わるのは男性から女性に強要されるといった、断われないような状況であった事が配慮されているものと思われます。

今回はどういう経緯によるものかわかりませんが、逃げてしまっては情状の余地はないでしょう。

結局のところは…

子供は親を選べませんし、今回の件で母親と同様に親戚の家を転々とする幼少期を過す事になるとしたら悲しい事です。

同じ罪を背負うとしても、逃げ回ったという事を子供にどう説明するんでしょうね。 結局は自分のことを優先したとみえるし、覚せい剤がこういう判断をさせたとしたら本当に恐しく思います。

2009/08/04

mdadmで/dev/md2を/dev/md0にリネームしてみた

以前にUbuntu 8.04に付けておいたHDDの引越しをする時に、/dev/md0と/dev/md1に相当するディスクを付けたままUbuntu 8.04を新規インストールしたために'/'に相当するデバイスが/dev/md2と番号が飛んでいる状態になっています。

いまは古いmd0, md1デバイスを削除しているので、番号を飛ばしたまま/dev/md2のみを使っている状態です。それでも古い情報が"/etc/mdadm/mdadm.conf"に残っているので、他のマシンでRAIDで使っていたHDDをeSATA経由で接続などすると微妙に面倒な状態になっています。

古いmd0, md1の情報をmdadm.confから削除してもよかったのですが、今回は/dev/md0を'/'として使うべく変更を加えてみました。

mdadm.confの編集

まずはRAIDの構成情報が入っているファイルを修正します。 ”/etc/mdadm/mdadm.conf”の修正前はこんな感じでした。

ARRAY /dev/md1 level=raid1 num-devices=2 UUID=d082ac73:3124c6d4:e368bf24:bd0fce41
ARRAY /dev/md2 level=raid1 num-devices=2 UUID=4b794d70:02464c5d:990747c6:3412373c
ARRAY /dev/md0 level=raid1 num-devices=2 UUID=cd55e5a4:25c64e41:e368bf24:bd0fce41

この中から現在使っていないmd0, md1の行を削除して、md2をmd0にrenameします。

ARRAY /dev/md0 level=raid1 num-devices=2 UUID=4b794d70:02464c5d:990747c6:3412373c

GRUB menu.listの編集

カーネルのオプションで、どのデバイスを'/'として扱うのか記述する個所があります。 ”/boot/grub/menu.lst”ファイルは通常カーネルのパッケージを最新版にするときに再生成されるなど、自動的にメンテナンスされています。

古いカーネル設定でも起動できないと微妙に不便だったりするので、古い設定を残しつつ/dev/md0を使うように変更しておきます。 変更前の設定ファイル。

title  Ubuntu 8.04.3 LTS, kernel 2.6.24-24-generic
root  (hd0,1)
kernel  /boot/vmlinuz-2.6.24-24-generic root=/dev/md2 ro quiet splash
initrd  /boot/initrd.img-2.6.24-24-generic

単純にmd2をmd0にしても良いのですが、問題があった場合に古い設定で起動できるようにinitrdファイルを残しつつ、エントリを増やします。

title  Ubuntu 8.04.3 LTS, kernel 2.6.24-24-generic on md0
root  (hd0,1)
kernel  /boot/vmlinuz-2.6.24-24-generic root=/dev/md0 ro quiet splash
initrd  /boot/initrd.img-2.6.24-24-generic

title  Ubuntu 8.04.3 LTS, kernel 2.6.24-24-generic
root  (hd0,1)
kernel  /boot/vmlinuz-2.6.24-24-generic root=/dev/md2 ro quiet splash
initrd  /boot/initrd.img-2.6.24-24-generic.old

元々のエントリ(下段)は残しつつ、initrdファイル名を微妙に変更しています。 新しいエントリ(上段)はmd0を'/'にするように指定しています。

initrdの再作成

UbuntuというかDebian系列ではinitrdファイルの再生成には mkinitramfs を使用します。 使い方は単純。

$ cd /boot
$ sudo cp -ip initrd.img-2.6.24-24-generic initrd.img-2.6.24-24-generic.old
$ sudo mkinitramfs -o initrd.img-2.6.24-24-generic 2.6.24-24-generic

"2.6.24-24-generic"に相当する文字列は$ uname -rコマンドの戻り値と同じで、現在動いているカーネルのバージョンを示していて、パッケージの管理やらいろいろ使われるキーワードです。

さいごに

あとは再起動をすれば、initrdファイルの中から mdadm.conf が読み込まれて/dev/md0が作成され、その/dev/md0が'/'としてマウントされる事になります。

ここで/dev/md0が'/'にマウントされるためには、/etc/fstabの中で"/dev/md2"といったデバイス名を使わずにext3ファイルシステムのUUIDを使用している事が条件になります。

# /dev/md2
UUID=81f555da-76a2-4e7f-96e4-ed59ad010b3d /               ext3    relatime,errors=remount-ro 0       1

おもいついてから終るまで30分ぐらいで終ったけれど、意外に落とし穴が多いかもしれない。 今日得たものは、番号が変ったデバイスファイルと、mdadm周りに対するチョットした知識でした。

2009/08/01

Ubuntu 8.04の64bit版 Flash Playerを更新してみた

amd64 (x86_64)なUbuntu 8.04では64bit版のFirefoxが標準ですが、Flash Playerについてはnswrapperを仲介して32bit版を使うと思います。

Adobeでは実験的に64bit版のflash playerを配布していて、 今回脆弱性が発見されたのでチェックしてみると新しいバージョンがリリースされていました。 概ね次のようなステップが必要でしょうか。

現行Flash Playerのバージョンチェック

Adobeのサイトで現行のバージョンをチェックします。ただ日本語ページは更新が遅いのか現行バージョンとして"10.0.22.87"が表示されています。Internet Watchによれば”10.0.32.18”が2009/07/30に発表された最新版です。

64bit版Flash Playerのダウンロード

64bit版のFlash Playerはprerelease扱いなので普通のページからはダウンロードできないようになっています。ダウンロードはAdobe LabsのFlash Player 10のページから"Get the Flash Player 10 prerelease now"を辿ります。

今ならページ先頭の"Update:"のセクションにダウンロードも64bit版Flash PlayerのFAQもリンクがありますけどね。

プラグインのインストール

とりあえずダウンロードしたファイルが~/libflashplayer-10.0.32.18.linux-x86_64.so.tar.gzにあるとします。 まずは現行のプラグインを検索します。

$ find ~/.mozilla -name libflashplayer.so
.../.mozilla/plugins/libflashplayer.so
.../.mozilla/firefox/thj4da7l.default/plugins/libflashplayer.so

とりあえず~/.mozilla/plugins/だけで十分なので他のファイルは消しておきます。 $ find ~/.mozilla -name libflashplayer.so -exec rm {} \;

後はダウンロードしたファイルを~/.mozilla/plugins/で展開するだけで十分です。

$ cd ~/.mozilla/plugins/
$ tar xvzf ~/libflashplayer-10.0.32.18.linux-x86_64.so.tar.gz 

展開が終ったらファイルが64bit版である事を確認しておきます。 $ file libflashplayer.so

libflashplayer.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), stripped

後はFirefoxを再起動して再びバージョンテストのページで更新されている事を確認します。