Windows 8.1 Pro-> Windows 10ProのOSアップグレードを試みています。
問題
インストーラーは、約23%で失敗したことを除いてメッセージを表示せず、setuperr.logを開きます。これは最後に表示されます。最初の2行は、問題を示しているようです。
2016-07-22 13:23:14, Error SP SPMountWIMCallback: Error mounting/unmouting C:\$WINDOWS.~BT\Sources\SafeOS\SafeOS.Mount\Windows\WinSxS\Temp\PendingDeletes\7a3a0cd544a0d101300100002017d421.CbsMsg.dll. GLE [87][gle=0x00000057]
2016-07-22 13:23:24, Error SP CMountWIM::DoExecute: Failed to mount WIM file C:\$WINDOWS.~BT\Sources\SafeOS\winre.wim. Error 0x80070057[gle=0x00000057]
2016-07-22 13:23:24, Error SP Operation failed: Mount WIM file C:\$WINDOWS.~BT\Sources\SafeOS\winre.wim, index 1 to C:\$WINDOWS.~BT\Sources\SafeOS\SafeOS.Mount. Error: 0x80070057[gle=0x000000b7]
2016-07-22 13:23:24, Error MOUPG MoSetupPlatform: ExecuteCurrentOperations reported failure!
2016-07-22 13:23:24, Error MOUPG MoSetupPlatform: Using action error code: [0x80070057]
2016-07-22 13:23:24, Error MOUPG CDlpActionImageDeploy::ExecuteRoutine(329): Result = 0x80070057
2016-07-22 13:23:25, Error MOUPG CDlpActionImpl<class CDlpErrorImpl<class CDlpObjectInternalImpl<class CUnknownImpl<class IMoSetupDlpAction> > > >::Execute(441): Result = 0x80070057
2016-07-22 13:23:25, Error MOUPG CDlpTask::ExecuteAction(3243): Result = 0x80070057
2016-07-22 13:23:25, Error MOUPG CDlpTask::ExecuteActions(3397): Result = 0x80070057
2016-07-22 13:23:25, Error MOUPG CDlpTask::Execute(1631): Result = 0x80070057
2016-07-22 13:23:25, Error MOUPG CSetupManager::ExecuteTask(2024): Result = 0x80070057
2016-07-22 13:23:25, Error MOUPG CSetupManager::ExecuteTask(1987): Result = 0x80070057
2016-07-22 13:23:25, Error MOUPG CSetupManager::ExecuteInstallMode(804): Result = 0x80070057
2016-07-22 13:23:25, Error MOUPG CSetupManager::ExecuteDownlevelMode(389): Result = 0x80070057
2016-07-22 13:23:31, Error MOUPG CSetupManager::Execute(232): Result = 0x80070057
2016-07-22 13:23:31, Error MOUPG CSetupHost::Execute(371): Result = 0x80070057
特に、winre.wimイメージをマウントできなかったようです。ソースフォルダ内の一致するファイル名がわからないため、273MBのboot.wimを試してみました。
アップグレードしたいマシンにこのイメージをマウントできません。 DISM.exe/Mount-Image /ImageFile:c:\temp\boot.wim/Index:1/MountDir:C:\ Temp\offset/ReadOnly
エラーはSetFileSizeにあると報告されています。十分な空き容量があります。また、そのファイルのパスの合計が128文字しかないことを確認しました。
2016-07-22 19:52:19, Info DISM DISM Provider Store: PID=9648 TID=3564 Provider has previously been initialized. Returning the existing instance. - CDISMProviderStore::Internal_GetProvider
[9648] Caller did not request sparse mount
[9648] Mounting new image.
Wim: [c:\temp\boot.wim]
Image Index: [1]
Mount Path: [C:\Temp\o]
[9648] [0xc144012e]
2016-07-22 19:52:21, Error DISM DISM WIM Provider: PID=9648 [CreateDestinationFileEx:(5082) -> SetFileSize failed] C:\Temp\o\Windows\WinSxS\x86_Microsoft-windows-b..d-bootfix.resources_31bf3856ad364e35_10.0.10586.0_de-de_7d99a6b16a9ee7bb\bootfix.bin (HRESULT=0x80070057) - CWimManager::WimProviderMsgLogCallback
[9648] [0x80070057] RestoreFileNodeList:(3490): Falscher Parameter.
[9648] [0xc144012e]
2016-07-22 19:52:21, Error DISM DISM WIM Provider: PID=9648 C:\Temp\o\Windows\WinSxS\x86_Microsoft-windows-b..d-bootfix.resources_31bf3856ad364e35_10.0.10586.0_de-de_7d99a6b16a9ee7bb\bootfix.bin (HRESULT=0x80070057) - CWimManager::WimProviderMsgLogCallback
[9648] [0x80070057] RestoreFilesCallback:(5201): Falscher Parameter.
[9648] [0x80070057] EnumImageDataEntries:(1591): Falscher Parameter.
[9648] [0x80070057] RestoreAllData:(2551): Falscher Parameter.
[9648] [0x80070057] WIMApplyImageInternal:(1189): Falscher Parameter.
[9648] [0x80070057] ImageStubMountDirectory:(296): Falscher Parameter.
[9648] [0x80070057] WIMMountImageHandle:(1061): Falscher Parameter.
2016-07-22 19:52:23, Error DISM DISM WIM Provider: PID=9648 TID=3564 Failed to mount the image. - CWimImageInfo::Mount(hr:0x80070057)
これは、OSのアップグレードで発生したエラーとまったく同じだと思います。
Falscherパラメータは無効なパラメータを意味します。
私がすでに修正しようとしたもの
システムファイルを修復する
sfc /scannow
DISM.exe /Online /Cleanup-image /Scanhealth && DISM.exe /Online /Cleanup-image /Restorehealth
WADK(Assessment and Deployment Kit)をインストールし、そこからdismを起動します
C:\ドライブにたくさんの空き容量を作りました(200GB)
他の2つのWin8.1 Proシステム(ドイツ語版と英語版)で同じ構文とファイルを同じ位置にマウントします。
現在ドイツ語に設定されている日付/時刻の設定を確認し、英語も試しました(。と、交換)
エラーは同じままです。
イメージを再度マウントできるようにするために、dism/wimを修正するにはどうすればよいですか?
Windows 10を完全にインストールできた場合、セットアップがパーセントでカウントアップされるのは2回あります。
初めてカウントアップするとき、再起動する前に、必要なセットアップファイルをコピーし、約23%を丸めて、dism/wimを使用してイメージをマウントします。
セットアップログファイルを見ると、イメージのマウントに問題があります。
2016-07-22 13:23:24, Error SP CMountWIM::DoExecute: Failed to mount WIM file C:\$WINDOWS.~BT\Sources\SafeOS\winre.wim. Error 0x80070057[gle=0x00000057]
私の場合、イメージのマウントメカニズムが壊れていました。これは、Windows_10_pro_de_Upgrade.exctracted.iso\sources\boot.wimをインストールソースフォルダーからC:\ tempにコピーして、実行することで確認しました。
DISM.exe /Mount-Image /ImageFile:c:\temp\boot.wim /Index:1 /MountDir:C:\Temp\offline /ReadOnly
エラーコード87で失敗したイメージのマウントを試行します。(フォルダーC:\ Temp\offsetを手動で作成する必要があります。イメージを正常にマウントしたら、を介して手動で再度マウントを解除する必要があることに注意してください。
dism /unmount-Wim /MountDir:c:\temp\offline /discard
)
次に、障害のあるマシンでの動作をWin 8.1 Pro VMで、マウントが機能した場所と比較できました。ログファイルを見ると、ファイルに問題があることに気付きました。
Windows\WinSxS\x86_Microsoft-windows-b..d-bootfix.resources_31bf3856ad364e35_10.0.10586.0_de-de_7d99a6b16a9ee7bb\bootfix.bin
Sysinternalのプロセスモニター を使用すると、dism.exeのアクションを記録して、目的のアクションと比較できます。失敗したアクション(SetFileSize)が、動作中のマウントケースで1回発生し、失敗したケースで2回発生したことに気付きました。失敗したアクションのスタックトレースを調べたところ、フィルタードライバーcbftlsfs4.sysに追加の呼び出しが1つあることがわかりました。
いくつかのグーグルで、このファイルがCloudfoggerに属していることが明らかになりました。 Cloudfoggerをアンインストールすると(Cloudfoggerでさまざまな問題が発生した後、しばらく前にviivoに移行したため、アンインストールは問題ありませんでした)、フィルタードライバーとマウントの問題の両方が削除されました。
その後、Windows10のアップグレードが機能しました。
おそらく、これとまったく同じ問題を抱えている人はほとんどいないでしょう。古いバージョンのCloudfoggerを使用している別のマシンでは、この問題は発生しませんでした。私にとっては、2日間の作業と調査でしたが、おそらくこれは他の誰かに役立つので、手順を非常に詳細に書き留めました。
Dism.exeコマンドは、問題を修正する可能性があります。このスレッドを見てください:
ディスカッションの一環として、2つの.batファイルが投稿されています-それらの中にあるものを見て、自分で実行するか、直接使用してください。
ただし、他のユーザーは、修正不可能であり、Win 8.1をリロードする必要があると報告しています- こちらをご覧ください
彼らはマイクロソフトを非難します(それについてはよくわかりません)が、データをバックアップし、Windows 10を新しいコピーとしてインストールし、8.1ライセンスキーを使用してアクティブ化する方が時間がかからない場合があります