Fujitsu LIFEBOOK AH550/BN の Windows10化

前置き

Windows7 Home Premium32bitを搭載したノートPC (型式:FMVA55BNB7) を アップグレードインストールにてWindows10 Home32Bitにすることにした。このマシンはCPU がCoreI5メインメモリは4GBで2010年ごろに発売された。公式にはWindows10対応となっていない。メモリが4GBなので64Bitも考えたがクリーンインストールとなることから諦めた。

トライ

MS公式サイトからメディア作成ツールを使用してセットアップを開始した。開始後、最初の再起動でWindows10のロゴ(青色のWindowsロゴ)でセットアップが停止する状況となった。再起動後の画面は以下のダイアログが表示されていた。

▲再起動後の画面
再起動後の画面

そこでSAFE_OSで検索したところ複数の設定を変更することとした。

対策1

まず、当該マシンのHDDはC,Dの2パーティション構成であったが、Dドライブは回復用の情報が格納されているようであったため、Windows7のコンピューターの管理→ディスクの管理にて「ドライブ文字とパスの変更」からDドライブの割り当てを削除し、いったんCドライブのみとした。

対策2

BIOS設定を変更した。こちらのほうが有効なのかもしれない。USBの設定にてレガシーUSBサポートを「使用する」→「使用しない」に変更した。

▲BIOSメニュー1階層
BIOSメニュー1階層
設定項目
設定項目

結果

これらの設定により、無事にWindows10 Home 32bitとすることができた。 (画像は加工を加えている)

Windows10 Home 32bit
Windows10 Home 32bit

なお、対策1で削除したドライブ文字列はWindows10の管理ツールで再度Dドライブとして割り当てを行った。

[メモ]px-w3pe4 のx64ドライバはWindows7では未署名となる

Plex px-w3pe4 チューナーカードをWindows7環境にてセットアップすると、デバイスマネージャでは以下の表示となる。

デバイスマネージャの表示
▲デバイスマネージャの表示

ビックリマークがついているのでプロパティを確認するとエラーコード52となる。

デバイスマネージャのプロパティ
▲プロパティ

Windows7でこれを回避するには、起動時にF8キーを押下し、未署名のドライバを有効にするモードで立ち上げる必要がある。

▲ドライバのバージョン

なお、同一ドライバをWindows10でセットアップすると署名されたドライバとして認識されるため、前述のような問題は発生しないようだ。

RAIDカードの複数接続

古いハードウエア(ECS P965T-A)にてRAIDカードを複数接続した際のメモ。
PCIやPCI-Eを含めて起動時にRAID BIOSを表示できる枚数は2枚まで。
2枚を超えると3枚目のカード以降はRAID BIOSを表示ができない。

ECS P965-A RAIDカード接続

ECS P965-A RAIDカード接続


画像は3枚接続した場合の例。
PCIに2枚、PCI-Eに1枚のRAID カードが接続されている。

この構成ではPCIの1枚がRAID BIOSを表示できなかった。

Windows Backupの復元

Windows標準のバックアップソフト(バックアップと復元)から復元する際、「短い名前はこのボリューム上で有効になっていません。」とのダイアログが表示され復元に失敗したため、その際の対処法を記録する。

新規でフォーマットしたドライブ「D」を復元先ととして指定したところ、前述のエラーが表示された。

色々調べてみると、短い名前とはDOS形式の8.3形式のファイル名を指していることが分かった。
そのため、以下の操作で、当該の「D」ドライブに対して8.3形式ファイル名の生成を有効にすることにした。

aicon_109.gif有効化するコマンド

>fsutil 8dot3name set D: 0

aicon_109.gif確認するコマンド

>fsutil 8dot3name query d:

コマンド入力例は以下の通り。

▲8.3形式ファイル名の有効化

▲8.3形式ファイル名の有効化

上記操作を実施したのち、再度復元操作を実施したところ、復元が完了した。

UnistackSvcGroupとは何か

Windows10が稼働する、2台のPCで以下のダイアログが表示される事象が発生した。
(いずれもバージョンはVersion 10.0.14393)

▲svchost.exeのエラー

▲svchost.exeのエラー

以降の方法はレジストリを変更するため、失敗するとシステムを起動できなくなる
恐れがある。また、原稿執筆の環境下でのみ発生する事象であることも否定できない
ことから、あくまで参考情報である。自己責任にて実施してほしい。

エラーしたのはsvchost.exeのためWindowsのサービスが原因であることは分かる。
イベントビューアーにも同様のエラーが記録されていた。
そこでタスクマネージャーを使用して、原因を調べることにした。
まずは、「ユーザー」タブにて実行しているアプリケーションを表示することにした。

▲Unistackサービスグループ

▲Unistackサービスグループ

svchost.exeのエラーダイアログを消去すると、Unistackサービスグループも消去
されるため、このアプリケーションが何なのか突き詰めることにする。
上記画面にて当該アプリケーションを右クリックし、「詳細の表示」を選択して、
「詳細」タブにてプロセスイメージ名を表示すると以下の表示が選択された。

▲詳細タブのプロセス名(ユーザー名は加工済み)

▲詳細タブのプロセス名(ユーザー名は加工済み)

さらにそのsvchost.exeどのサービスから呼ばれているかを調べるため、当該のプロセスイメージ名を右クリックし、「サービスの表示」を選択した。

▲当該のサービス名

▲当該のサービス名

これらの操作から、原因はPID4588で動作する5つのサービスが原因であることが分かった。
これらのサービスはUnistackSvcGroupに属しており、サービス名の末尾に_xxxxxの値が
付与されている。
さらに_xxxxxの値のないサービス名も同じUnistackSvcGroupに存在する。
(例としてCDPUserSvcとCDPUserSvc_c247dといった状態である)
この_xxxxxの値は常に変化するようである。

これらの起動を抑止するため、サービスにて無効にしようとしたが操作を完了することができず、GUIからの操作は失敗した。
そこでレジストリエディタを使用して直接当該サービスの状態を制御する
StartというDWORD値のキーに無効を意味する「4」を10進にて
設定してみたものの、再起動後には平然と値が戻っていることが分かった。

そこで、_xxxxxの値のないUnistackSvcGroupに属するサービスのキーと通常のサービスのキーを比較したところTypeというDWORD値のキーの値が異なっていた。

通常のサービスは「32」なのに対し、_xxxxxの値のないUnistackSvcGroupに属するサービスでは「96」という値を示していた。

No グループ名 サービス名 TypeのDWORD値(初期値)
1 LocalService CDPSvc(他のサービスの例) 32
2 UnistackSvcGroup CDPUserSvc 96
3 UnistackSvcGroup PimIndexMaintenanceSvc 96
4 UnistackSvcGroup UnistoreSvc 96
5 UnistackSvcGroup UserDataSvc 96
6 UnistackSvcGroup OneSyncSvc 96
7 UnistackSvcGroup OneSyncSvc_xxxxx(例) 224

よって、TypeのDWORD値のキーを_xxxxxの値のないUnistackSvcGroupに属するサービス(下図のCDPUserSvc)で値を「32」に設定することした。

▲レジストリの値を変更

▲レジストリの値を変更

すると、CDPUserSvc_xxxxxの値を持ったサービスは生成されない状態となった。

▲CDPUserSvcを停止

▲CDPUserSvcを停止

この状態で冒頭のエラーメッセージは表示されなくなった。
更に、上図にて実行中となっている、他の_xxxxxの値を持つ4つのサービスに対して同様にレジストリの値を変更すると、下図のようになった。

▲UnistackSvcGroupを停止

▲UnistackSvcGroupの一部を停止

この方法で実行中のUnistackSvcGroupの一部を停止し、エラーメッセージの表示を消去することができた。
今のところ問題は発生していないが、起因すると思われる事象があれば本サイトにて公開していく。