Windowsでタスクシーケンスエラー0x8007000fを解決する方法

📅
🕑 1 分で読む

Windowsで基本的な作業中にエラー0x8007000fが発生すると、特にアップデート、展開、アップグレードをしようとしている場合は、かなりイライラするかもしれません。基本的に、WindowsはSCCM(System Center Configuration Manager)またはMECM(Microsoft Endpoint Configuration Manager)のタ​​スクシーケンスが失敗したときにこのエラーをスローします。奇妙なことに、多くの場合、WindowsがSMSTS.logファイルを見つけられないことが原因です。つまり、最も必要なときにログが失われてしまうようなものです。このエラーは、ネットワークの不具合、ファイアウォールの設定ミス、ディスクセクターの不良、さらにはBIOSの問題など、さまざまな理由で発生する可能性があるため、原因を突き止めるのは少し難しい場合があります。幸いなことに、頭を悩ませることなくこの問題を解決できる回避策がいくつかあります。ここでは、知っておくべき情報をご紹介します。

Windows のタスクシーケンス中に発生するエラー 0x8007000f を修正する方法

ネットワーク接続を確認して修正する

まず第一に、こうしたトラブルの多くはネットワークの不具合に起因するため、インターネット接続が不安定になっていないか確認してください。ネットワークが切断されたり、極端に低速になると、Windows は必要なファイルを取得したり、サーバーと正常に通信したりできなくなります。私はこのような状況を何度も経験しています。あるセットアップでは、最初は失敗しましたが、再起動またはネットワークのリセット後に魔法のように回復しました。そこで、ブラウザを使って簡単な速度テストを実行してみてください。「インターネット速度テスト」と検索するだけで、帯域幅が安定しているかどうかを確認できます。速度が遅かったり、途切れたりする場合は、ネットワークコンポーネントの一部をリセットした方が良いかもしれません。

  • Windows + Xを開き、ターミナル (管理者)またはPowerShell (管理者)を選択します。
  • 次のコマンドを 1 つずつ実行し、Enterそれぞれの後に次のコマンドを入力します。
    • netsh winsock reset
    • netsh advfirewall reset
    • netsh int ip reset
    • ipconfig /release
    • ipconfig /renew
    • ipconfig /flushdns
  • ターミナルを閉じてPCを再起動してください。ネットワークスタックをリセットするだけで、エラーの原因となっている通信リンクの欠落を修復できる場合があります。

一部のマシンでは、これは一度で解決できるものではありません。ネットワークが非常に不安定な場合は、依然として異常な動作が続く可能性があるため、問題が持続しないかどうか注意してください。

SMSTS.logファイルを確認する

ネットワークに問題がないように見えてもエラーが表示される場合は、ログを詳しく確認しましょう。SMSTS.logファイルにはタスクシーケンスプロセスに関する重要な情報がすべて記録されており、実際に何が問題なのかを特定するのに役立ちます。ログファイルを見つけるには、以下の手順を実行してください。

  • Windows + R を押して実行を開きます。
  • インストールされている場合は入力しcmtrace.exe、そうでないnotepad.exe場合はログの場所に移動します。

SCCM の場合: %windir%\System32\CCM\Logs\SMSTSLog\

MECM の場合: %windir%\ccm\logs\SMSTSLog\

  • smsts.logファイルをメモ帳または CMTrace(インストールされている場合は推奨)で開きます。エラーコード 0x8007000F を検索(Ctrl + F)して、エラーの原因を確認します。

これにより、タスクシーケンスが存在しないパスや正しくフォーマットされていないドライブにアクセスしようとしていたことが判明する場合があります。なぜそうなるのかは定かではありませんが、一部のマシンではログが乱雑になったり破損したりすることがあります。そのため、必要に応じて複数のログを確認してください。ログを読むのが技術的すぎると思われる場合は、ファイルが見つからない、またはドライブにアクセスできないなどのエラーがよくある原因であることを知っておいてください。

ログファイルに手動でアクセスする方法

ログ ディレクトリに直接移動したい場合、または直接移動する必要がある場合は、次の場所に移動します。

  • SCCM:%windir%\System32\CCM\Logs\
  • メック:%windir%\ccm\logs\

SMSTS.log を見つけて右クリックし、メモ帳で開きます。トラブルシューティング中はこのウィンドウを開いたままにしておくと便利です。特定のエラーメッセージを見つけるだけで、何が本当に失敗したのかがわかる場合もあります。

DiskPartでハードドライブをフォーマットする

ログやネットワーク関連の情報がすべて正常であるにもかかわらず問題が解決しない場合は、ディスクエラー(不良セクタやパーティションの問題)の可能性があります。DiskPart使って手動でフォーマットすると、問題が解決するかもしれません。ただし、この操作を行うとデータが消去されるため、重要なデータは必ずバックアップしておいてください。

  • 管理者としてコマンドプロンプトを開きます。
  • 入力しdiskpartて押しますEnter
  • でディスクを一覧表示しlist disk、メイン ディスクを選択します: select disk 0
  • 次のシーケンスを実行します。
    • clean
    • convert gpt
    • create partition EFI size=300
    • assign letter=k(または別のものを選択してください)
    • format quick fs=fat32
    • create partition msr size=128
    • create partition primary
    • assign letter=c(またはCが利用可能かどうかを確認)
    • format quick fs=ntfs
  • 入力しexitて diskpart を閉じ、PC を再起動します。

これにより、Windows はパーティションの内容を最初からやり直すようになり、場合によっては、タスク シーケンスを完全に停止させるようなエラーを修正するのに十分です。

BIOSモードの切り替え: UEFIからレガシーへ

これはちょっとしたワイルドカードですが、BIOSをUEFIからレガシーブートモードに切り替えると、エラーが修正されることがあります。BIOSを少し調整するだけでこの問題を解決できたという報告もあります。その手順は以下のとおりです。

  • 再起動し、起動中にF2 キーまたはDel キーを押してBIOS 設定に入ります。
  • 「UEFI/レガシー ブート」または「ブート モード」というラベルの付いたオプションに移動します。
  • UEFI からレガシーに変更します。
  • 保存して終了し、マシンを再起動します。

設定によっては他の起動問題を引き起こす可能性がありますが、もし困っているなら試してみる価値はあります。ただし、一部の新しいハードウェアはUEFI専用に設定されているので、多少の試行錯誤が必要になることを覚えておいてください。

BIOSをデフォルトに戻す

BIOSの破損が疑われる場合は、デフォルト設定にリセットすることで、タスクの失敗の原因となっている奇妙な問題を解決できる場合があります。手順は以下のとおりです。

  • 再起動し、 F2またはDelで BIOS に入ります。
  • 「デフォルトに戻す」や「セットアップのデフォルトを読み込む」などのオプションを探します。
  • リセットを適用し、保存して終了します。

これにより、Windowsの動作を妨げる可能性のあるハードウェアや設定の不具合がリセットされます。ただし、一部のBIOS設定がリセットされるため、起動順序を調整したり、セキュアブートを再度有効にしたりする必要がある場合があります。

全体として、エラー0x8007000fのトラブルシューティングは必ずしも簡単ではありませんが、これらの方法は、ネットワーク、ディスク破損、BIOSの設定ミスといった一般的な原因をカバーしています。最終的にエラーを解決するには、複数の手順が必要になる場合もあります。