質問者
ログオンの処理に失敗しました

質問
-
Vista Ultimate 32 bit です。突然すべてのユーザーでログオンできなくなりました。
起動には問題はなく、ユーザー選択の画面から、どのユーザーをクリックしても、次のメッセージが表示されてログオンに失敗します。
> User Profile Service サービスによるログオンの処理に失敗しました。
> ユーザープロファイルを読み込めません。
Active Directory 等を使わないスタンドアローンの単純なローカルプロファイルで、ハードディスクの物理障害が出ていない状況で、ユーザープロファイルが根こそぎ使えなくなるという現象は、過去12年間にリリースされたすべての 32 bit Desktop Windows を通じて、少なくとも私は初めて見ました。正常終了したはずの Windows が翌日には使えなくなっているというのは非常に嫌な感じです。 Vista そのものの動作確認は終了してアプリケーションの互換性確認フェーズに入っていたつもりですが、一気に数ヶ月前に戻されました。 Vista 正式導入までの道のりは長そうですね。
インストールDVDに入っている自動修復の機能では何も解決しなかったため、手動にて回復し、とりあえず今はすべてのアカウントでログオンできる状態です。今後のために、以下にメモしておきます。
なお、このテスト環境では、ユーザーディレクトリ( C:\Users )を丸ごと、 D ドライブに変更しています。当初はその影響かと思ったのですが、別にレジストリ等が壊れたようでもなく、ディレクトリの変更とは関係なさそうに見えます。
----
通常の起動画面ではすべてのユーザーでログオン不可能。
セーフモードでは、管理者アカウントのみ、ログオン可能。ただしプロファイルが読めないためか正しく機能しない。ログオンできるというだけで、コマンドプロンプトを出すこともコントロールパネルの機能を使うことも、レジストリエディタを起動することもできない。
セーフモードとコマンドプロンプトで、管理者アカウントでログオンすると、コマンドプロンプトが使えるため、そこを手がかりにして修復を始める。
1. 臨時の管理者アカウントを新規作成。
# net user test1 /add
# net localgroup administrators test1 /add
これで再起動して通常の起動画面から test1 にログオンできるようになる。
2. アカウントをすべて新規作成してプロファイルをコピーする。
コントロールパネルが使えるようになったので、普通にアカウントを新規作成し、一度そこにログオンして新しいプロファイルを作っておく。次に臨時の管理アカウントの「システムの詳細設定」から、古いプロファイルのコピーを行い、新規作成したアカウントのプロファイルを上書きする。
これで新しいアカウントにログオンすれば、以前のユーザーのデータや設定が引き継がれている。ただし、壁紙などをユーザー固有の画像にしている場合には、パスが変換されないためエラーになる。また、ガジェットの設定も引き継がれないようだ。
3. 今回は上記のコピー中、一部アカウントで問題が発生した。
プロファイルのコピーが特にエラーメッセージもなく途中で終了した。正常終了との違いは、プロファイルのコピー先を指定したダイアログボックスが消えている(正常終了)か、残っている(異常終了)か。イベントビューアを見ると、異常の発生したファイルが特定できる。 (ユーザー)\AppData\Roaming\VMware に次の異常ファイルが見つかった。
2007/08/13 12:41 408 ... featuredvm.ini
2007/08/13 12:41 1,373 ... featuredvm.png
これは dir /Q featuredvm.* の出力で、本来なら所有者が表示されるところが ... になっていて、管理者アカウントでもアクセスを拒否されてしまう。これは次の手順で回復させる。
# takeown /F featuredvm.ini
# icacls featuredvm.ini /grant:r test1:F
# icacls featuredvm.ini /setowner (本来のユーザーアカウント)
これで、プロファイルコピーが正常に終了するようになった。
----
仮説 A. VMware Player のせいか?
上記のファイルは VMware Player を使用したことのあるアカウントに存在する。このファイルが異常な状態になっていたことと、今回のログオン不能とは別のものと考えるのが妥当だろう。 VMware と無関係なアカウントでもログオンできなかったからだ。それに、たかが一般ユーザーが動かすアプリケーションの VMware で、プロファイルが根こそぎやられるようなら、それこそ信頼性とも堅牢とも無縁なシステムになってしまう。
仮説 B. 新しいスリープ?
非常に感覚的なものだが、 Vista が導入した新しいスリープに問題の根っこがあるように思う。正常終了したものが次に問題を起こす原因は、電源が落ちる瞬間に何をやっているか、にあるとするのが素直だ。新しいスリープは便利だし、そこそこ信頼性もあると思うが、最大の弱点は次回に新規起動なのかスリープからの復旧なのかを切り替える情報を、必ずディスクに記録しなければならない点にある。その記録でこければ、起動しなかったりログオンできなくなったりする、ということは十分に考えられる。たとえ失敗の確率が低くても毎日繰り返していれば、いつかは遭遇する可能性があるだろう。
----
状況は回復しましたが、本当の原因はわかりません。
すべての返信
-
>2007/08/13 12:41 408 ... featuredvm.ini
>2007/08/13 12:41 1,373 ... featuredvm.png
>これは dir /Q featuredvm.* の出力で、本来なら所有者が表示されるところが ... になっていて、管理者アカウントでもアクセスを拒否されてしまう。これは次の手順で回復させる。この行について、Vistaで削除できるはずのフォルダの削除に失敗し、該当の階層を表示させると、使用中と思われる状態ではないファイルで所有権が剥奪されているという謎のファイルが発生するという現象にこれまで数回遭遇しました。
この件が類似の症例である可能性もあるので書き込みます。
問題のファイルはアイコン的な外見はその拡張子に従ったもので、プロパティも出せますが、所有権がないために情報の取得や関連する一切の操作が出来ず、なぜか新たに所有権を割り当てることができませんでした。
VistaでUACがONの場合、所有権の類を変更するUIを表示させるためには、管理権限のあるユーザーがさらに昇格した状態で操作する必要があるため、この段階で所有権を取れないことについては非常に戸惑いを感じました。
ただし、どの場合でも再起動するとそのファイルが消えるという動きをしたため、ああ、これはファイルシステムの残骸の解放にバグがあるんだろうな、という認識をしていました。(「所有権が引けなくなったが存在はしている」というゾンビ的な状態でしょうか)
takeownというコマンドも知らなかったのでこの件はそれ以上調査が進んでいませんでしたが、今度遭遇したら、コマンドラインからそのファイルが処理できるようになる可能性があったのかについて確認をしてみようと思います。
このように「存在自体があいまいな状態のファイル」が発生すること自体を想定していないOSの処理があって、それに遭遇すると状態の記録ができずトラップとなることはありえそうですが、原因を突き止めたわけでもないため、あくまでも現象から思い当たる点としてお知らせします。
-
少し調査が不十分で、不正確なままの情報を投稿してしまいました。申し訳ありません。以下、追加情報と訂正をします。
最初に結論から言います。今回のログオンできない現象は、ハードウェアと Vista の相性問題に起因するようです。ただし、特定のハードウェアに固有の相性問題ではなく、 Vista の設計にまつわって生じた「相性」問題と思われるため、ハードウェア板に移動せず、このスレで引き続き類似現象等の情報を集めたいと思います。
----
実は、最初の投稿で書いた措置を行った後、短期間で同じ現象が再発してしまいました。2回目の現象の調査で、1回目に見落としていたイベントログに気づきました。 disk のエラーです。
> デバイス \Device\Harddisk1\DR1 はまだアクセスできる状態ではありません。
該当端末は C ドライブと D ドライブをそれぞれ別の物理ディスクとして割り当てており、問題が発生したのは D ドライブです。ユーザープロファイルを格納する Users ディレクトリは D ドライブに移動させています。時刻から推理し、 Vista の起動中に D ドライブが見つからない現象が発生したために、プロファイルをロックさせてしまった、というのが、今回の現象だと思われます。もう一度再起動して D ドライブが復帰しても、一度エラーが発生したために自動的に復帰することは無いというわけです。
ここで重要なポイントは D ドライブ周辺に、物理障害もドライバのエラーも見あたらないことです。これは別途、ディスクに対するチェックをかけて確認済みです。このことから私は、純粋にタイミングの問題ではないか、と推理しています。つまり D ドライブのドライバが初期化されるタイミングがわずかばかり遅くなってしまい、 Vista がそれを待たなかったということです。
Vista はユーザープロファイルの格納先とシステムドライブを分離する機能を、標準で提供していません。これは非常に不満なのですが、コマンドを駆使することで Users ディレクトリの移動は可能です。ただ、このとき、 Vista が C ドライブにアクセスできることがわかっているときはたとえユーザープロファイルが D ドライブにあろうともドライバの初期化を待つ必要が無い、と考えているなら、今回の現象はなんとなく理解できます。
通常の ATA デバイスの初期化は、一連のディスクについて一気に行いますので一つのドライブだけ初期化が大幅に遅れることは無いと思います。このような現象が起こるのは、物理ドライブの特性(反応速度とか省エネ性能とか)に大幅な違いがあるときと、ATA コントローラが複数存在する場合だと思います。今回のハードウェア構成は後者です。
MB: Gigabyte GA-965P-DS3 REV3.3
HD: 2×: Hitachi HDS721616PLA380
このマザーボードには、ICH8 と Gigabyte SATA2 chip の二系統の SATA が搭載されています。元々の構成では ICH8 に C ドライブを、 Gigabyte SATA2 に D ドライブを接続していました。これは将来、 D ドライブ側を RAID 構成することを睨んだものです。しかし2回目のログオンできないエラーの後、両方とも ICH8 側に接続を変更し、今のところ問題は出ていません。今後、時間をかけてウォッチするつもりです。
つまり、ローカルなユーザープロファイルをシステムドライブと別の物理ドライブに格納している場合で、コントローラやドライブの型番等が異なる場合に、今回の相性問題が発生する可能性がある、ということになります。
----
この現象は私にとって既視感のあるものです。実は別の端末に Vista をインストールするのにかなり苦労しました。その端末は外付け USB の DVD ドライブを利用していたのですが、何度やっても、プロダクトキーを入力した直後に、「DVDが見つからない」といったようなエラーが出て先に進めなかったのです。
何度も失敗するうちに、回転を停止している DVD の回転音が通常の速度(Maximum)の音に達するより前に、 Vista インストーラの画面にエラーを示すメッセージが出ていることに気づきました。そこで「回転を止めない」ために、プロダクトキーを必死の速度で早打ちしてみたところ、この問題が発生せず、インストールが順調に進むことを確認しました。
----
この 2 つの現象が示すのは、 Vista が ATA デバイスのタイミングについて非常にシビアに設計されていることです。もう少し突っ込むなら、 ATA の規格は最新のバージョンであっても、最もレガシーなデバイスにタイミングを合わせられるように、デバイスの反応が遅い場合に、 CPU 側が所定の時間は待たなければいけない、というように決められているようですから、思うに、 Vista はこのタイミングを待たず、フライングしてエラーの判断を下しているのではないでしょうか。
RTM が出る前の RC1 等の頃、特定メーカーのハードディスクだと Vista がインストールできない、といったような怪現象が報告されていましたが、「フライング有り」の世界なら、それも理解できます。
----
私のところでは、 Active Directory を導入するほどの規模は無いし、データの保全と情報管理の両面から、システムとユーザーデータを物理的に分離することは必須です。さらに、 RAID とかを組むなら、複数の ATA コントローラというものも避けられない気がします。今回は、たまたま同じ型番のディスクを使っていますが、消耗品であるハードディスクの型番を揃えて用意することは、今後の運用では不可能です。そのため今回の現象は非常に困ったものだと感じています。また、該当端末が OS の安定稼働確認フェーズをクリアして、その先のアプリケーションの動作確認フェーズまで進んでいたものであるため、安定確認の後、何ヶ月かしたら様子が変わってしまう、というのも悩みの種です。 -
SATA の controller 自体の設定で HDD の起動を遅延起動させるか一気に起動できるか設定できないのでしょうか?
私が使っている array controler 3ware 9590SE では遅延起動させるか設定できますので。
HDD を電源投入時に起動するのは、OS ではなく BIOS の役割でしょうから。
それから、profile の path の変更ですが、unattend setup でやることにより install 時から変更可能だと思いますが。
試していませんが、ProfilesDirectory を設定してやればいいんじゃないでしょうか?
XP のときも、unattend setup での profile 場所変更は suport されていましたが、registry を手動で編集する方法は公式に support されていませんでしたので。
-
有益な情報をありがとうございます。
まず、SATA設定の件ですが、今回の現象は BIOS 設定とあまり関係がないのではないかと私は考えています。電源ON時に BIOS による初期化がありますが、その後、デバイスの支配権を BIOS から OS に移譲する段階で、 ATA デバイスへのリセット信号が再度流れると思われるからです。今回の問題はその時点より後で発生した何らかのタイミング待ちだと推測しています。
これは単純な初期化(リセット)信号だけとは限らず、たとえばリムーバブルの DVD の回転停止からの復帰で見られたように、省エネモードからの復帰を待ち切れていないようなケースだと、単に初期化を早くしただけでは解決しないと思われます。
該当マザーボードの SATA 設定のチューニングについて細かくはみていませんが、既定の動作で、起動時に接続されたデバイスを確認してから Boot 動作に入っていくという、 verbose な動きをしていますので、 Vista の boot manager に入る時点で、 BIOS による最初の初期化は完了しているものと思います。
次に、応答ファイルを使うセットアップです。これは使ったことが無いので、通常のインストーラ画面に表示される項目についてだけ指定できるものだと考えていたのですが、リテール向けインストーラから除外された項目が、応答ファイルによるインストールだけに残されているわけですか。そういう情報はリテールパッケージにも明示して欲しいですね。
インシデントサポートとか買う余裕が無いので、通常のセットアップ以外の方法は敷居が高かったのですが、教えていただいたリンク先の情報が使えそうです。機材もないのですぐには試せませんが、次の機会には試してみようと思います。でも A ドライブが必須なのは困りものですね。最近は 2,000 円程度でもコスト削減したいからフロッピードライブなんて入れてないんですよ。どうせならセットアップ時に応答ファイルの所在を指定できるような作りにしてくれたら便利なのに。
いずれにせよ今回の現象は半年間に2回しか発生していないため、何かの設定を変えてみてすぐに確認が取れるものではありませんので、気長に類似現象の発生を待つことになると思います。
なお追加情報ですが、「フライング現象」は Vista 全般に共通のものではなく、インストール時および起動中に限定されていると思われます。というのは、インストール時に問題を発生している DVD ドライブが、通常の起動を終えた Vista では何の問題もなく動作することが確認できているからです。つまりデバイスドライバの問題ではなく、それを使用するプログラム側の問題だと予想しています。 -
あ、毎回発生しているわけではないんですか?
ということは、sleep からの復帰に問題がありそうですね。確か sleep 絡み hotfix がいろいろでていたと記憶してますので。
Unattend setup ですけど特に FD が必須ではないでしょう。
Windows PE から起動して "unattend.xml" 読み込ませる switch を指定して "setup.exe" を起動してやればいいでしょう。
XP の時も同様なことはできたんですが、setup CD からでは扱える device にかなりの制限が多かったため、一般的でなかっただけです。
-
> Unattend setup ですけど特に FD が必須ではないでしょう。
Windows PE を使わないつもりでしたので、その場合は A ドライブ固定のように思います。
でもせっかく教えていただいたので Windows PE についても少し調べてみました。修復にも使えるのであれば、少し勉強してみる価値があるのかもしれませんね。
Windows PE は、 Volume License 専用の印象があり、リテールパッケージを購入するユーザーには使用権が無いと思っていたのですが、 Vista からランセンスの変更があったようですね。技術的に使える方法でもライセンスで引っ掛かれば使えませんから最初にそこを確認しておきたくて、そのあたりのライセンス情報を明確に書いた公式ページを探したのですが見つかりません。とりあえず次のページが、やや明確に書かれているものでしたので、今後のために引用しておきます。
http://www.microsoft.com/technet/technetmag/issues/2007/09/Letters/default.aspx?loc=jp/
> Windows PE のダウンロード
>
> 2007 年 5 月号の「レター」コラムの内容に矛盾があるようです。最初の質問「イメージを作成する」では、
> 「Windows® PE 2.0 イメージは、WAIK に含まれているツールを使用して構築およびカスタマイズできます...」
> とあります。これは、Windows PE がツールに含まれていてダウンロード可能であることを意味します。
> しかし、最後の質問「Windows PE を入手する」の回答では、「Windows PE はソフトウェア アシュアランスの
> 特典サービスとして (のみ) 入手できます...」とあります。正しいのは最初の回答であって、
> 2 つ目の回答は古い情報ではないでしょうか。
> —Xihui
>
> Windows PE 2.0 は Windows 自動インストール キット (WAIK) に含まれており、ダウンロードとして入手可能です。
> Windows PE 2.0 のライセンス規則は、Windows PE 1.6 (1 つ前のバージョン) とは異なります
> (Windows PE 1.6 については昨年の「Windows PE の概要」で扱っていて、この記事は
> technetmagazine.com/issues/2006/09/WindowsPE で読むことができます)。
> Windows PE 1.6 は、ソフトウェア アシュアランスの一部としてのみ入手できました。
以上の記事から、 Windows PE 2.0 のライセンスを読みたければ Windows AIK をダウンロードして、中に含まれるであろうライセンスの記述を読めばよいのだろうと考え、実際にダウンロードして確かめました。WAIK_LICENSE.RTF というファイルがあり、 Windows PE 専用のライセンスファイルは無さそうなので、どうやら WAIK 全般のライセンスが Windows PE にも通用するという判断で良さそうです。
> お客様は、お客様のデバイスに Windows オペレーティング システム ソフトウェアを導入する目的で、
> 本ソフトウェアの任意の数のコピーをデバイスに単独でインストールして使用することができます。
これがおそらくライセンスの中心部分だと思われるので、契約形態ではなく使用目的だけが要件のように見えます。さらに次の項目が追加されており、復旧等の目的でも構わないようです。
> お客様は、Windows オペレーティング システム ソフトウェアを診断および復旧する目的で、
> Windows プレインストール環境をインストールして使用することができます。
これでライセンス上の問題は無さそうに思われます。唯一気がかりなのは、次のページに軽く書かれている一節です。
http://www.microsoft.com/japan/technet/windowsvista/deploy/winpe.mspx
> Windows Vista を導入するすべての法人ユーザーは Windows PE 2.0 を入手できるようになります
実は最初にこれを見たために、 SA が必須でなくなっただけで Volume License 向けという条項は外れていないのではないかと考えたわけですが、ダウンロードした中に含まれているライセンス記述に対してこちらのページは劣後とすべきなので、ここは無視してよいのでしょう。
ちなみに英語のページだと、
http://technet.microsoft.com/en-us/windowsvista/aa905120.aspx
> Windows PE 2.0 is available to all Windows business customers
Volume License といった契約ベースの話ではなく目的ベースの判断で良さそうです。ただし、このページでは、
> Windows PE 2.0, built for Windows Vista, is available for download as part of
> the Business Desktop Deployment (BDD 2007) solution, available here.
> http://www.microsoft.com/technet/desktopdeployment/bdd/2007/default.mspx
というように Windows AIK ではなく BDD 2007 のダウンロードが推奨されているようです。今はこれ以上の深追いはしません。
----
このスレッドの本来の目的 = D ドライブが不意に消える現象の議論、から少し脱線し過ぎたようです。この先、Windows PE の使用方法やライセンスで疑問が出た際には別に新たなスレを立てようと思います。