Windows 10 を無理矢理アップデートして不具合をなかったことにする話(笑

今週の日曜日に知人から起動しなくなったノート PC が持ち込まれた。FUJITSULIFEBOOK AH54/D という機械だ。
起動しなくなったと言っても、その状況は少し面倒くさい。

  1. Windows が起動し、サインインまでは来る。
  2. デスクトップ画面も表示されるが、タスクバーが出ない
  3. 定期的に壁紙が消えると、また再び表示される。操作は何もできない。これの繰り返し。

とまぁこんな感じだ。しかも問題なのが HDD 機なのだ。ノート PC の HDD は消費電力を考慮し、低回転の低速な HDD が使用されている。なので起動するだけでも数分待たされる上に、3 の段階に入るともーずっと HDD にアクセスしっぱなし、操作もままならない状況なのだ。

こりゃーまいったな。

というわけでその場で対応するのを諦めてとりあえず持って帰ってきていたのだ。明日その知人とは会うのでそれまでに何とかせねばなぁなんて思いつつも、平日は忙しくてなかなか見ることができなかった。

まず 3 で起きていることだが、これは Explorer 本体もしくは Explorer に付随するプログラム ファイルが壊れているのが原因だ。Explorer はシェルといってプログラムを起動する役目を果たす。つまりこの Explorer が動いてくれないことには Windows はユーザからの入力を受け付けることが出来ない。
そこで Windows は Explorer が起動していないと自動的に Explorer を起動するようにできている。

①Explorer を起動する→②Explorer が壊れているので落ちる→③Explorer を起動する→Explorer が壊れているので落ちる……

という悪循環に陥っているのだった。壁紙が消えるのは Explorer が落ちた瞬間である。そしてまた Windows が Explorer を起動するので壁紙が表示されるものの、付帯する何らかのプログラム ファイルを読み込み中に Explorer が落ち(強制終了)、壁紙が消えるというわけである。

一番簡単なのは OS のインストールし直しなのだが、データのバックアップはとれていないという。またこのノート PC は古く、元々 Windows 7 マシンだったのをあとから Windows 10 にアップグレードしたものらしい。なのでリカバリすると Windows 7 に戻ってしまうとのことだった。

そこでまずタスク マネージャからプログラムを呼び出すという方法を使ってみる。Explorer が動かなくてもタスク マネージャからプログラムを起動することが出来るのだ。

こいつでシステムごと丸ごとバックアップをとろうとしたのだが、Explorer が壊れているせいか、USB HDD を見つけてくれなかった。仕方がないのでいったんノート PC から HDD を取り外し、これをボクの自宅の開発機につないで EaseUS Todo Backup というアプリを使ってバックアップをとった。この EaseUS Todo Backup はパーティションから何から丸ごとコピーしてくれる。
バックアップがちゃんととれていることを確認すると、こんどはそれを買ってきておいた SSD に書き戻す。こうすることによって壊れたままではあるが、何分も待たされるということはなくなった(笑。
バックアップもちゃんととれたし、好きなだけいじれるぞ。
ちなみにこのバックアップだけで 6 時間もかかった……orz ほんとノート PC の HDD はクソだわぁ。

というわけでまずは Explorer とそれが使ってそうなファイルを無理やりコピーしてみたのだが……特に症状は変わらず。

もちろん HDD のバックアップはとれたわけだからもうフォーマットして Windows 10 をインストールしてしまっても良いんだけど、そうなるとアプリの入れ直しとかあるしドライバ類をそろえるのがとても面倒くさい(ノート PC は独自のデバイスが入っていたり、ドライバが未公開だったりすることもあり、大変苦労するのだ)。Windows XP 時代にはフォーマットとかせずに無理やり Windows を既存の Windows が入っている HDD にインストールすることもできたのだが(こうすることによって OS のファイルだけ書き換わる)、Vista 辺りからもその手は使えなくなった。

そこでどうしたかというと、Windows 10 を無理矢理アップデートしてしまうことを思いついた。
幸いにもこのノート PC はバージョン 1809 だった。そこで最新の Windows 10 をダウンロードしてアップデートしてしまうのだ。こうすれば OS のファイルだけ新しくなるはずだ。
だがもちろん問題もある。というのも Explorer が壊れていると言うことは、ファイルをコピーする機能や UAC が正常に働かない可能性がある。そうなるとアップデート中に止まったりしてしまうかもしれない。

まぁでもバックアップはあるわけだし、この SSD には何をしてもイイやということでアップデートを敢行した。

待つこと 2 時間。見事、Windows はアップデートされ、無事にデスクトップ画面が表示された!!
もちろんアプリやデータも無事である。SSD になったので起動も一瞬だ。
めでたしめでたし。

Domain Controller の長い話と新田毎と地下鉄

今日は秋葉に行った。中古の小型 PC を買うのが目的だ。

話は三日前に遡る。
我が家の LANActive Directory という仕組みを導入している。これはどういうものかというと、簡単に言えばユーザ ID とパスワード(認証情報)をネットワーク単位で持つ機能だ。通常この認証情報はマシンごとに個別に設定する。実際、皆さんが Amazon や楽天などで買い物をするとき、Amazon楽天ごとに ID とパスワードを設定しているはずだ。
けれどサービスによっては Google アカウントや Twitter アカウントなどで他のサービスが利用できたりする(これは OpenID という仕組み)。これと同じような感じで、我が家の LAN のマシンは一台一台に認証情報を設定しなくても、Active Directory に登録さえしておけばどのマシンにもログインできる(認証できる)のである。

この仕組みは非常に便利なのだが、サーバを全取っ替えする場合に注意が必要だ。
LAN 上にユーザ情報があると言っても、何らかのマシンが認証情報を持っている。この認証情報を持っているサーバをドメイン コントローラ(DC)という。そしてドメイン コントローラは一度その役割を担うと、名前が変更できなくなる。

さて、我が家の主幹サーバ(DC もやっている)は「天照大神」と名前が決まっている。一番楽なのはこの名前を使わずに新しいサーバで DC を立てることだ。しかしこの主幹サーバの名前を引き継ぎたい場合、旧天照大神から DC の役割を外し(降格という)、名前を別のモノに変更し、その後、新しい天照大神という名前の DC を作ることになる。

すると、DC がない状態というのが生まれてしまう。
だが、これにも解決策がある。そもそも DC というものは二台以上で運用しなければならない。天照大神上には仮想マシンで「鳥鳴海神」という DC がいるのだ。だから天照大神が DC の役を降りたからと言って LAN 上の認証情報が失われるわけではない。

そこで三日前(6/9)の昼過ぎに天照大神の降格を始めた。これは無事終了し、天照大神は名前を変更できる状態にはなった。現在、DC はこの天照大神上で実行されている仮想マシン「鳥鳴海神」のみの状態だ。

さて、話題は少し変わる。
今までは、新サーバに「天照大神」という名前をつけ、DC もやらせていたのだが、今回は仮想マシンに DC があるのだから新天照大神は DC をさせないと決めた。こうすることによって、次回またマシンを新しくするときに、面倒くさくなくて良いからだ。

で、話は戻る。仮想マシンにしか DC がないというのが問題になる。
というのも仮想マシンが起動するのは、仮想マシンを実行する天照大神が起動したあとだ。まぁそれは当然なんだけど、Active Directory にはキャッシュがあって DC が LAN 上に見つからない場合はとりあえず過去の情報が各マシンにとってあって、その情報を使ってとりあえず Active Directory に参加(したことに)する。で、後ほど起動してきた DC と整合性をとるというようなことをするのだ。
ところがどうやら Windows Server というものは DC がみつからないと、Active Directory に参加しないまま起動してしまうようなのだ。

アレー!?

なので認証がさっぱり通らないwwww 鳥鳴海神がちゃんと起動しても、サーバにログインすら出来なくなってしまったwwww
そうかー、DC は物理マシンじゃないとダメなのか……でも新天照大神を DC にはしたくないなー(補足すると物理マシンは仮想マシンしか提供せず、Active Directory には参加させない運用というのを Microsoft は提唱している。そういう運用の場合、新天照大神は Active Directory にそもそも参加しないので、DC が仮想マシンでも問題にはならなかった)。

というわけで、日記冒頭に書いた小型 PC を買うと言うことになったのだwww
あー、説明が長い!!

予算はたったの三万円。そもそも DC しかしないわけだから、かなり時代遅れのマシンでもかまわない。むしろ重要なのは消費電力と大きさだ。ぽんとどこにでも置いておけるような大きさのものがいい。というわけで中古屋を色々探した結果、っていうかもともとここに売ってるだろうなっていう店にいったら一発でいいのを見つけた。

FUJITSUESPRIMO という法人向け PC。第三世代 Core i7(3770T)でメモリ 8GB なやつが 27000 円で売っていた。充分すぎるスペックだ。これなら他の用途にも使える。念のため他の店も回ってみたが安いヤツはメモリが 4GB 以下のものばかり。しかもこいつには Windows 7 Professional も入っている。OS 代も考えればかなり安いだろう。

さて、今日のお昼ご飯は秋葉原で食った。前々から行きたかった「新田毎」。秋葉原駅総武線 6 番ホーム(東行き)にある立ち食いソバ屋だ。これも Instagram で見つけたお店だ。ところでなんて読むのかとネットで検索したら「しんたごと」と読むらしい。ここの名物はステーキカレーでなんと 690 円で食えるのだという。
意気揚々と行ったら、ステーキカレーは 1100 円だったorz
ステーキカレーが 690 円なのは火・木・土・日、今日は水曜日! がーん、だな©井之頭五郎。

鶏天丼と冷たいお蕎麦を注文。冷たい蕎麦は盛りなのかと思ったら普通にドンブリで出てきた(笑)。鶏天は思ったよりもやわらかくてホクホク、蕎麦もほどよい喉越しで値段の割には充分なできではなかろうか? 来て良かった! 野菜かき揚げとっぴんぐした!

それにしても秋葉原は食べ物屋さん増えたねぇ~。もう名前は覚えてないけど、パーツショップ界隈をあるいただけでも知らないお店が 4 軒くらいできてたぞ。今度いってみよう。

写真の一番右の親子丼は一緒に行った同僚が頼んだもの。

最後に、お馬鹿な地下鉄話。
秋葉原へは芝公園から行ったんだけど、行きは新田毎に行くから三田線水道橋まで行って、水道橋で総武線に乗り換えて秋葉まで行ったのね。次に帰りだ。一番安く且つ歩かなくて済む方法は、末広町銀座線)→銀座日比谷線)→日比谷(三田線)→芝公園という Yahoo! 路線の結果を得たのでそのようにして帰ったんだけどー……日比谷線に乗ってて気付いたのだ。そういえば昭和通りに秋葉原って言う地下鉄の駅あったよね……。それって、日比谷線だったwwwww
つまり秋葉原(日比谷線)→日比谷(三田線)→芝公園で良かったのだ。値段も一緒。
まぁ、パーツショップ エリアから昭和通りはちょっとあるけど、でも乗り換えのめんどくささを考えたら断然こっちじゃん!
アレなのよね、秋葉原→芝公園と検索せずに末広町→芝公園と検索してしまったのが敗因だったorz
下の写真は末広町駅。古い構造だなぁと思ってなんとなく写真に撮った。