MPEG Streamclipでファイルが読み込めない

デジカメで撮った動画をMPEG Streamclipで編集していたのだが、ある日突然ファイルを開こうとしてもうんともすんとも言わなくなった。メニューのFile→Open Filesからファイルを指定するが反応がない。拡張子は.MP4でOSはWindows2000MPEG Streamclipを再インストールしても変化なし。ネットで検索したところ、ファイルのパスを英数字にしたら、動くようになった。今までパスが日本語でも読み込めてたのになぁ。

Windows2000で320GBのHDDを認識しない

320GBのHDDをとりつけてWindows2000をインストールした。BIOSでは320G認識しているのに、Windows上では130G程度しか認識していない。どうやらWindows2000はそのままだと137G以上認識できないようだ。
SP4に上げて、レジストリ
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Atapi\Parameters\EnableBigLba
を作成して値を「1」にすると、無事320GB認識できた。
http://support.microsoft.com/kb/882350/ja

ノートPCのDVDドライブ交換

2000年購入のノートPCの内蔵DVDドライブが随分前に破損していた。リカバリができんな、と思いながらそのまま使用し続けていたが、ついにOSが起動しなくなり、リカバリの必要が生じた。その時のメモ。

PCスペック

  • 型番:DynaBook DB65P/4MC
  • CPU:Mobile Pentium III 650MHz
  • メモリ:320MB(上限)
  • HDD:20GB(←かなり調子悪い)
  • ドライブ:DVD-ROM&CD-RWマルチドライブ(←これが壊れた)
  • OS:XP Home(MEからアップグレード)

同じ型番の内蔵ドライブ(UJDA710)をジャンク品で1480円で購入。あとは、ここを参考にドライブを交換するだけ。
http://www.nextftp.com/acho/CD/koukan.htm
http://d.hatena.ne.jp/bata64/20081005/1223134412
このDVDドライブはジャンパーピンが付いておらず、購入時「マスター」になっておらず、BIOSで認識させるためには「マスター」にする必要があり、そのためには『アルミホイルを使ってコネクターの45と47ピンをショートさせる』必要があるらしい。それだけがネックだったんだけど、ジャンク品のおかげか、最初から「マスター」になってたみたいで、差し込むだけで認識された。あとはリカバリディスクで9年ぶりにMEをリカバリ。その後XPにアップグレードしようとするが、DVDドライブが不調でインストールできない。仕方なく、デスクトップのCDドライブを共有にしてネットワーク越しでXPにアップグレード。HDDが20Gしかないので、パッチとか入れると、既にCドライブの空きが14Gしかない。

Windows2000でgyaoを見るために

久々にgyaoを見ようとしたら、見れない動画ばっかり。Windows Media Player 10 がないと見れないらしい。Windows2000にインストールできるのはWindows Media Player 9 まで。けど、Windows2000Windows Media Player 10をインストールする方法があった。すんなり行かなかったけど、結果Windows2000gyaoが見れるようになった!ので、手順をメモしておく。

1. KDWのダウンロード
http://www7.atwiki.jp/win2000/pages/16.html
ダウンロードしたzipは解凍して適当なフォルダに置く

2. 解凍したフォルダ内のkdllinst.exeを実行
「バックアップファイルの不整合を発見しました。修復してもいいですか?」と聞かれたが、これは「OK」で問題ないらしい。

3. 起動する画面で「Kernel32」「Shell32」「User32」「Uxtheme」をクリックして(クリックすると「準備完了」となる)、「設定開始」をクリック

4. 再起動するか聞かれるので「はい」

5. Windows2000用のMedia Player10(mp10jp2k.exe)を以下からダウンローして実行
http://blog.livedoor.jp/blackwingcat/archives/37690.html

6. 「MSVCRT関数の拡張が必要です。インストールしていいですか?」と聞かれるので「OK」

7. 再起動するか聞かれるので「はい」

8. システムフォルダ(C:\WINNT\system32)内にmsvcrt.dllがコピーされた模様

9. システムフォルダを検索したところ、gdiplus.dllがなかった。別の場所には存在していたので、システムフォルダ内にgdiplus.dllをコピー

10. 2と3と4をもう1回実行して、もう1回mp10jp2k.exeを実行すると、今度はMedia Playerのインストーラが起動した。後は指示に従っていけばインストール完了
「KDWのAdvapi32が無い場合Windows User Mode Driver Frameworkが使えません」と言われるが「OK」で問題なさげ。

実際何が行われたのかはよく分からんが、とりあえずgyaoは見れるようになった。
参考にしたのは以下のサイト。

http://blog.kumacchi.com/2008/10/windows_2000windows_media_play_2.html
http://gigitake.dip.jp/x2_4400_740g.htm
http://d.hatena.ne.jp/quitada/20090125/p1
http://w2k.livedoor.biz/archives/60294.html

mysqlの再インストールに失敗

OS Windows 2003 Server
mysql 5.1 ←Windows ZIP/Setup.EXE (x86)から


最初のmysqlのインストールは問題なかった。
その後、訳あって再インストールを試みると、うまくいかなかった。
インストールの後の設定で失敗する。
エラーメッセージは、

ERROR 2003: Can't connect to MySQL server on 'localhost' (10061) とか
3306ポートが閉じられてないか とか
アンインストールちゃんとやったか 

とか書かれている。
結論、アンインストールが不完全だったのが原因だった。
インストールフォルダは、インストール時にd:\mysqlと指定したから削除したんだけど、dataフォルダは勝手に c:\Documents and Setting\All Users\Application Data\MySQL\data に作られていた。
これも削除しなければいけなかった。

アンインストール手順をメモしとく。

  1. コマンドプロンプトからMySQLサービスの削除
    > d:\mysql\bin\mysqld -remove MySQL51
  2. プログラムの追加と削除 からアンインストール
  3. インストールフォルダ削除 d:\mysql
  4. データフォルダ削除 c:\Documents and Setting\All Users\Application Data\MySQL\data
  5. HDD内にmy.iniがないか検索してあったら削除

robocopyまとめ

転送元のファイル・フォルダを全く同じ状態で転送先にコピーしたい。 データだけじゃなくて、タイムスタンプとかACLも同じにしたい。 転送元は日々更新される。 転送先は更新されない。 転送元のファイル容量が大きいので、最初に全データコピーした後は、ミラーリングを繰り返す。

  • コマンド

コピー
robocopy 転送元 転送先 /COPYALL /E /FP /Z /NP /TS /R:0 /LOG:C:\log.txt
ミラーリング
robocopy 転送元 転送先 /COPYALL /MIR /E /FP /Z /NP /TS /R:0 /LOG:C:\log.txt
リスト(フォルダ・ファイル名、タイムスタンプ(更新日時のみ)、サイズ)
robocopy 転送元 空フォルダ /L /E /FP /Z /NP /TS /NC /R:0 /LOG:C:\log.txt

  • コマンドオプション

/L : ファイルのリストを表示するのみ。ファイルのコピーなどはしない。
/E : 空のサブフォルダも含めてコピーする。
/Z : 再開可能(restartable)モードでファイルをコピーする。
/R:n : コピーに失敗したときにリトライする回数。デフォルト1000000。
/FP : ログ出力にファイルのフルパス名を含める。
/NP : 進捗を表示しない(%コピーという表示をしない)。
/TS : ログ出力にソースファイルのタイムスタンプを含める。
/NS : ファイルサイズをログに出力しない。
/NC : ログにファイルクラス(New File,Newer,Olderなど)を出力しない。
/LOG:file : ログファイルに出力する。存在するファイルには上書き。
/MIR : ミラーリングコピーする。(/Eと/PURGEを指定したのと同じ)
/PURGE : コピー元にないファイル・フォルダを削除する。
/COPYALL : すべてのファイル情報をコピーする。(/COPY:DATSOUと同じ)
/COPY:copyflag : copyflagで指定されたファイル情報をコピーする(デフォルトは/COPY:DAT)
 D:データ A:属性 T:タイムスタンプ S:セキュリティ情報(NTFSACL) O:所有者情報 U:ファイル監査情報

  • 考察

/Zをつけるとパフォーマンスが低下するとの情報あり(robocopyマニュアルより)。/Zの意味がよく分からない。
/R:0がないと、失敗したときにデフォルトで100万回リトライして時間がかかる。
/COPYALLまたは/COPY:Aを指定しても、コピーされる属性は、読み取りR、アーカイブA、システムファイルS、隠しファイルHの4つだけ(たぶん)。 圧縮C、非インデックス対象N、暗号化E、テンポラリT、オフラインO属性は、コピーされない(たぶん)。
/COPYALLまたは/COPY:Tを指定してコピーされるタイムスタンプは、作成日時、更新日時、アクセス日時の3つ全部。 ログで表示されるタイムスタンプは、更新日時のみ。 更新日時は世界協定時刻(UTC)で表示されるため、ローカル時刻と9時間ずれている。
robocopyはファイルの存在(転送元、転送先、両方)、タイムスタンプ(更新日時のみ)、サイズでファイルをクラスに分類し、デフォルトで以下の4つのクラスのファイルをコピーする。
 Lonely(転送元にあって転送先にない)
 Changed(転送元先両方にある、更新日時一致、サイズが違う)
 Newer(転送元先両方にある、転送元の更新日時が転送先より新しい)
 Older(転送元先両方にある、転送元の更新日時が転送先より古い)
デフォルトでは属性の違いは見ない。/ITつけると、属性の違いでさらに2つのクラスに分類されて、Tweakedもコピーされるようになる。
 Same(転送元先両方にある、更新日時一致、サイズ一致、属性一致)
 Tweaked(転送元先両方にある、更新日時一致、サイズ一致、属性違う)

  • 問題

1.
圧縮属性(NTFS圧縮)がコピーされないので、転送元でNTFS圧縮されているデータは、転送先ではNTFS圧縮されず、転送元より転送先の方が容量が増える可能性がある。
【圧縮属性の確認方法】
フォルダのプロパティ→全般→詳細設定→属性の詳細→「内容を圧縮してディスク領域を節約する」がオンなら圧縮されている
ちなみに、これがオンだとエクスプローラの表示が青字になる

2.
ACLだけが変わったファイルは、前述のコマンドだとコピーされない。
ACLを変えると、アクセス日時が変わるけど、更新日時とサイズが変わらないので、デフォルトではコピー対象にならない。
ミラーリング後に「/COPY:S」でACLだけコピーすれば大丈夫?(←まだ試してない)

  作成日時 更新日時 アクセス日時
copy コピー時 保持 コピー時
move 保持 保持 移動時
ACL変更 保持 保持 変更時
robocopy /COPY:DAT 保持 保持 保持

3.
転送先に、転送元のファイル名と同じ名前の8.3形式ファイル名を持つファイルがあると、上書きされてしまう。
例えば、
 file1:新規テキスト.txt(新規~2.TXT)
 file2:新規~1.TXT(なし)
robocopyでコピーする場合、(※()の中は8.3形式ファイル名)
まずfile1がコピーされてこうなる。
転送元
 file1:新規テキスト.txt(新規~2.TXT)
 file2:新規~1.TXT()
転送先
 file1':新規テキスト.txt(新規~1.TXT)
8.3形式ファイル名はOSが勝手につけるので、転送元と同じになるとは限らない。
次にfile2がコピーされる。けど、同じ8.3形式ファイル名のファイルfile1'があるので上書きしてしまう。
転送元
 file1:新規テキスト.txt(新規~2.TXT)
 file2:新規~1.TXT()
転送先
 file2':新規テキスト.txt(新規~1.TXT)
名前はfile1と同じだけど、中身はfile2になっている。

これはxcopyでやっても同じことになる。手動でエクスプローラでドラッグ&ドロップした場合だけ、上書きせずに正常にコピーされる。 robocopyでコピー後は、毎回確認して足りないファイルは手動でコピーしないといけないのか?