こんにちは、阿久津です。GW(ゴールデンウィーク)も明けて、いつもどおりの日常が帰ってきましたが、奮わないのが長い休暇で鈍ってしまった脳細胞ではないでしょうか。先週の記事で述べたように筆者のGW前半は仕事ざんまいでしたが、後半はクライアントとなる企業も休みに入っているため、四日間もの連休がスッポリと発生。せっかくだからとメインPCの電源も入れず、久々にコンピューターから離れた日々を過ごしてみました。

休み自体はそれなりに快適だったものの、困るのが本原稿を目の前にした平常運行日。いつもどおり原稿用フォルダーを作成し、テキストエディターを起動しても、何も浮かんできません。よく料理人が"一日包丁を握らないと腕が落ちる"と言いますが、確かに筆者も毎日テキストエディターを目の前にキーボードを叩いて原稿を書く日々を過ごしています。それだけに数日間の休みですっかり頭からアイディアや単語がすり抜け、本稿も書き出すまでに数時間も悩みあぐねてしまいました。

もっとも読者方々が本稿を目にするのは連休明けの三日目と、頭も体もリズムを取り戻している頃でしょうから、"何を今更"と思われることでしょう。そんな連休中に触れたデジタルデバイスはiPadだけ。もっとも何かを創作するのではなく、普段は忙しくてチェックできない趣味系のRSSフィードを読みふける程度。キーボードレスのタブレット型コンピューターの使い勝手は筆者が改めて述べるまでもないほど良いモノですが、ここで連想するのがWindows 8のMetroスタイル。

確かにマルチタッチによる操作は、すぐさま情報を取り出す場面には最適ですが、いざアイディアをまとめる際や、備忘録として長めのメモを作成するには不便です。ソフトウェアキーボードに慣れるか否かという見方や、デバイスが持つ向き不向きを考慮すべきかも知れません。だが、長年キーボードとポインティングデバイスという組み合わせに慣れ親しんだ筆者としては、タブレット型コンピューターを創作に用いるメインデバイスとして扱うのは難しいと考えています。

しかし、従来のデスクトップアプリケーションとMetroアプリケーションの両立し、下位互換性を維持しながらも、主軸を後者に置くWindows 8は新しいユーザー経験(エクスペリエンス)を打ち出してきました。確かに機能が増え、選択肢が増えるのは歓迎します。それでも、Metroアプリケーションを主とした新たなコンピューター環境が、執筆やアートといった創作物を生み出す土壌から転落するのではないか、と訝(いぶか)しんでしまうのは愚見でしょうか。

さて、何らかのタイミングで「ユーザープロファイルサービスはログオンに失敗しました」というメッセージが現れ、Windows VistaもしくはWindows 7にログオンできないトラブルが発生することがあります。これはストレージデバイスの破損などでユーザープロファイル情報にアクセスできないことが原因ですが、ユーザーとしては「いきなりそんなことを言われても……」と戸惑ってしまうことでしょう。

このトラブルはいくつかの対処方法がありますが、今回は既存環境を活かすためにレジストリ上のバックアップデータを用いてユーザープロファイルを復元する方法を紹介します。

1.管理者権限で「regedit」を実行します。
2.レジストリエディターが起動したら、HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileListキーを開きます。
3.SIDキーを開き、文字列値「ProfileImagePath」でエラーが発生しているユーザー名を確認します。
4.エラーが発生しているSIDキーを見極めたら、同キーとバックアップキーを入れ替えます。
5.バックアップから昇格したSIDキーにあるDWORD値「RefCount」を開き、値のデータを「0」に変更します。
6.同じくDWORD値「State」を開き、値のデータを「0」に変更します。
7.レジストリエディターを終了させ、コンピューターを再起動します。

これで復元操作が終了しました(図01~11)。

図01 [Win]+[R]キーを押して「ファイル名を指定して実行」を起動し、テキストボックスに「regedit」と入力して<OK>ボタンをクリックします

図02 レジストリエディターが起動したら、HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileListまでキーをたどって開きます

図03 復元対象と思われるSIDキーを開き、文字列値「ProfileImagePath」を確認します。値のデータでエラーが発生しているユーザー名であるか確認してください

図04 対象のSIDキー(画面の例では「S-1-5-21-3926934521-603903043-4229653595-1004」)を選択して[F2]キーを押します。編集モードに切り替わったら末尾に「.old」と入力して[Enter]キーを押してください

図05 次にバックアップキー(画面の例では「S-1-5-21-3926934521-603903043-4229653595-1004.bak」)を選択して[F2]キーを押します。編集モードに切り替わったら末尾の「.bak」と削除して[Enter]キーを押してください

図06 図04で変更したSIDキー名(画面の例では「S-1-5-21-3926934521-603903043-4229653595-1004.old」)を選択して[F2]キーを押します。編集モードに切り替わったら末尾の「.old」を「.bak」に変更して[Enter]キーを押してください

図07 図06で編集したSIDキーを開きます。右ペインにあるDWORD値「RefCount」をダブルクリックしてください

図08 値のデータを「0」に変更して<OK>ボタンをクリックします

図09 DWORD値「State」をダブルクリックし、値のデータを「0」に変更して<OK>ボタンをクリックします

図10 操作を終えたら<×>ボタンをクリックしてレジストリエディターを終了させます

図11 <スタート>メニューの電源ボタンから<再起動>をクリックしてコンピューターを再起動します

早速結果を確認してみましょう。エラーが発生していたアカウントでWindows VistaもしくはWindows 7にログオンしてください。今度はエラーが発生せず、正しくログオンできます。それでは簡単に今回行った操作内容を紹介しましょう。そもそもWindows OSでは、各アカウントにSID(Security Identifier:セキュリティ識別子)を割り当て管理しています。

一見しますと、どれがどのアカウントに関連付けされているかわかりませんが、「S-1-5-18」はSystem、「S-1-5-19」はLocal Service、「S-1-5-20」はNetwork Serviceと決められており、我々が使用するユーザーアカウントは「S-1-5-21~」以降が割り当てられる仕組み。そして、後に続く数値は上位16桁がドメインを表す識別、中位8桁がコンピューターを表す固有番号、そして下位8桁が利用者の様態を意味します。

このように複雑なため、キー名ではなく文字列値「ProfileImagePath」の値のデータを用いてエラーが発生しているアカウントを見つけ出しましょう。また、Windows OSでは正常にログオフを完了しますと、自動的に「.bak」を持つキーが生成される仕組みですので、今回はこのロジックを用いた復元操作を紹介しました。必ずしもこれでトラブルが解決できるとは限りませんが、同様のトラブルに見舞われた際はお試しください。

それでは、また次号でお会いしましょう。

阿久津良和(Cactus)