妻子のPCをWindows10にしてはまった件

今この記事を書くのに使っている自分のPCは、4月9日(土)にWindows10にしていたわけですが、今日は妻子のPCもWindows10になんとかアップグレードできました。

まずは上の娘が自分のデータ(ビビライPとして投稿の動画や音楽などの元データ)をLAN経由で僕のPCにバックアップ。
…と思ったら僕のPCでWindows10にして以来、共有ができてなかったので設定。
Windows7でできていたはずの共有が機能してなかった…。

バックアップが完了したところで…
娘がWindows7最後の画面をスクリーンショットw

そしていよいよアップグレード開始!(16:00頃だったかな)

ところが、47%ぐらいのところを見たのを最後に、スクリーンセーバーが働き、マウスを動かしてもマウスカーソルしか出てない。
変だと思いつつ、やがて2回目ぐらい?の再起動で異変が!

再起動直後、英語のメッセージ。
何やらブートデバイスの認識に失敗してる模様。

ああああっ! さすがにこれは僕がいないと対処できなかっただろう。
僕のいる日を選んで正解! > 娘

何やらインストーラのほうもアップグレード失敗を検知したらしく、以前のバージョンのWindowsを復元しようとし、そして…

あれだけお名残り惜しんでスクショ取ったのに帰ってきちゃったよ!
みたいな感じで子供ら大騒ぎwwww

だが、ここであきらめず、アップグレードを再実行してみることに。

今度はさっきより先に進んでる!
よしよし!

そしてアップグレード成功!

…と思ったら、Yahoo! Japan につながらない。
ここでまた僕の出番。
なんとLANの設定に×がついてて機能してなかった。
ケーブルつないでるはずなのにケーブルがつながってないみたいなメッセージ。

ここで夕飯ができたが、僕が直さないと妻子が使えないので、引き続き対応。

LANのドライバが古いせいかな?と思って、僕のPCで新しいドライバを探す。
Realtekの本家にあった。
LANが死んでるとそれすらできないけど、僕のPCが生きてたおかげで助かった。

SDカード+USBアダプタで、なんとか最新ドライバを妻子のPCへ。

しかし、状況は変わらず。
しかもドライバの日付が1か月戻ってる…なぜだ!?
もっと最新はないのか?
と思って探したけど今のが最新っぽい。

PCにほこりがたまってるからか?と思い、分解掃除を開始。
ほこりで見えなくなっていたCPUファンの放熱フィンが姿を現した。
この際なので、中にたまってた綿ぼこりを徹底的に除去。
これから暑くなる季節だけに、今のうちに綿ぼこりを除去しないと
PCも「熱中症」になる恐れがあるからね。

で、再度電源ON…

やっぱり改善せず。

だめもとで「このデバイスを無効にする」とか選んで、再び「有効にする」にしてみたところ…

なななんと!
こんなことで復活しやがったwwwwwwww
それまでの苦労はなんだったの…(ま、掃除ができただけでもよかったけど)

で、ビビライPが動画や曲を作るうえでもう一つ大事なこと。
サウンド機能のチェック。
挿し直したり音が出なくなったりしてちょっとはまったけど、なんとか復活。

最後は、ニコニコがちゃんと再生できるか娘にチェックしてもらう。
これさえできればネットワークもサウンドもOKってわかるから。

やはり僕が家にいる日じゃないとWindows10へのアップグレードはできなかった。
マザボが僕のPCよりも古いからなのか、いろいろはまりどころがいっぱいでした。

午後から準備して、終わったら21:00過ぎてたっていうね…

こういうこともあるので、みんなもWindows10へのアップグレードは時間に余裕のある休日にやったほうがいいすよ!!

以上、おうちのPCの保守担当からのレポートでしたw

6月4日 娘も記事書きました → トラブル発生!?Windowsアップグレードの記録

Samba共有フォルダ上のファイルをWindowsのcopy *で結合すると順序が狂ってしまう問題

Linuxのcatコマンドみたいにファイルを結合する機能ってWindowsにないの?
typeコマンドは1個のファイルを表示するだけだし、catみたいに複数のファイルを指定しても結合されないし…

と思ってWebで調べてみると、Linuxで

cat aaa bbb ccc > ddd
cat * > xxx

に相当することが Windowsでは

copy /b aaa+bbb+ccc ddd
copy /b * xxx

のような書き方で可能、これは便利!

…というようなブログ記事がよく見受けられます。

しかし!
対象ファイルがSamba共有フォルダにある場合、ワイルドカード * を使うとファイル名の順序が狂ってしまうことがあります。

例えば、Samba共有サーバとなっているLinux上のsplitコマンドでファイルを xaa xab xac … のように分割し、それを Windows上から Samba 共有上で直接 copy * で結合して復元しようとすると、意図した順序で結合されず、元通りに復元できなかったりします。

どうやらこれ、Sambaの既知の問題と関連があるらしい。対応策として

dir /on

でソートする方法があります。この方法で copy * の順不同問題を回避するには、for 文と copy + を組み合わせて1個ずつ結合していくようなバッチファイルを書くとよいでしょう。

例えば、分割されたファイルだけが自分のデスクトップ(%USERPROFILE%\desktop)の test というフォルダの中に存在している場合、次のようなバッチファイルで結合結果がデスクトップに保存されます。

copy /b nul %USERPROFILE%\desktop\結合結果.txt
for /f "usebackq" %%f in (`dir /b /on %USERPROFILE%\desktop\test\*`) do (
copy /b %USERPROFILE%\desktop\結合結果.txt+%USERPROFILE%\desktop\test\%%f %USERPROFILE%\desktop\結合結果.txt
)

copy のオプション /b は忘れずにつけましょう。なぜなら、バイナリーモードにしないとtypeコマンドの^Z問題と似たような現象に遭遇してうまく結合できなかったりするからです。
拡張子が.txtになっていますが、copy /b がついてさえいればバイナリーファイルもOKです。

Ctrl-Zで終わるファイルをWindows7のtypeコマンドに食わせるとどうなるか実験してみた

Linuxのcatと同じだから…
と、バイナリファイルをtypeコマンドを使ってリダイレクトしようとすると、こんな落とし穴に遭遇することがあります。

この画像がすべてを物語っています。

WIndowsのtypeコマンドで^Zで終わるファイルを追加するとこうなる

WIndowsのtypeコマンドで^Zで終わるファイルを追加するとこうなる

中央と終端にCtrl-Z(EOF、16進で1A)の入ったctrl-z-test.txtというファイルをバイナリエディタで作ってみます。さて、これをtypeコマンドで表示させるとどうなるでしょう?

中央のCtrl-Zを「ファイルの終わり = End Of File」と勘違いしてしまい、そこまでしか表示してくれません。

しかし、別のファイルに新規作成モードでリダイレクトして保存してみたところ、中央のCtrl-Zも終端のCtrl-Zも保存されました。

そうか、リダイレクトなら、バイナリファイルを扱っても大丈夫なんだ…
と思いがちですが、実はここが落とし穴。
追加でリダイレクトしてみると…

なんと、1回目のリダイレクトで終端についていたはずのCtrl-Zが、2回目のリダイレクトで上書きされてしまいました!

バイナリファイルをtypeコマンドで追加リダイレクトして結合しようとして、たまたまCtrl-Z(16進:1A)で終わっているファイルがあったりすると、気づかぬうちにこの落とし穴にはまる場合があるので要注意です。

typeコマンドはやっぱりテキストファイル用みたいですね…

くそー!
copyコマンドみたいな/bオプションがあるといいのに…! -_-;
Windowsのダメなところの一つです。Windows 7 の時代になってもまだCtrl-ZをEOF扱いしてるとか、時代遅れですよね…。Linuxだとそんなことないのに…。