Windows10のPCでエクスプローラーでファイルを開く操作を行なったり、コントロールパネルを開く際に突然「システムコールに失敗しました」のエラーが発生することがあります。
このエラーは、Microsoft EdgeなどのWindowsの標準アプリを起動しようとした際にも発生することがあります。
エラーが出るとデスクトップやタスクバーの動作がおかしくなったり、アプリが起動しない状態になってしまうため対処必要です。
本記事では、Windows10で「システムコールに失敗しました」エラーが出た時の原因と対処法について詳しく紹介します。
この記事の内容
システムコールが失敗する原因
エクスプローラーの操作やアプリの起動によって「システムコールに失敗しました」のエラーが発生する場合、主に次の原因が考えられます。
- エクスプローラーのプロセスに一時的な問題が起きている
- インストールしているアプリケーションの機能に問題がある
- 標準アプリが破損している、登録情報に問題が起きている
- デバイスドライバーが破損している
- Windowsのシステムファイルが破損している
- ファイルシステムが破損している
エラーメッセージから得られる情報は少ないので、エラーが起きるようになった時期や状況から原因を推測するしかありません。
エラーの原因の見当がつかない場合は、これから紹介する方法を順番に試してみてください。
対処1: エクスプローラーのプロセスを再起動する
エクスプローラー(Explorer.exe)のプロセスに一時的な問題が起きていることが原因で、「システムコールに失敗しました」のエラーが発生することがあります。
そのため、エクスプローラーのプロセスを再起動することで、エラーが解決する可能性がありますい。エクスプローラーのプロセスを再起動するには、以下の手順で操作してください。
- 「Windowsマーク」を右クリックして「タスクマネージャー」を選択します。
- タスクマネージャーが起動したら、「プロセス」タブが開かれていることを確認します。
- ウィンドウ左下にある「詳細」をクリックして詳細表示に切り替えます
- プロセスの一覧から「エクスプローラー」を右クリックし、「再起動」を選択します。
- エクスプローラーのプロセスが再起動します。
エクスプローラーのプロセスを再起動できたら、再度同じ操作を行なってエラーが解決したか確認してください。
対処2: Windows標準アプリを修復する
Windowsの標準アプリ(Edgeなど)を起動しようとすると「システムコールに失敗しました」のエラーが出る場合は、アプリの関連ファイルが破損していることが考えられます。
そのため、エラーの発生するアプリを修復することで、エラーが解決する可能性があります。エラーの発生しているアプリを修復するには、次の手順で操作します。
- 「Windowsマーク」を右クリックして「アプリと機能」を選択します。
- 右ペインの「アプリと機能」の一覧から「エラーの出るアプリ」を選択し、「詳細オプション」をクリックします。
- 「修復」ボタンをクリックして修復機能を実行します。
- 「修復」ボタンがない場合は、次のアプリの再インストールを行なってください。
- チェックマークが表示されたら修復完了です。
修復機能がないアプリの場合は、アプリをアンインストールしてから再インストールしてください。
- 「Windowsマーク」を右クリックして「アプリと機能」を選択します。
- 右ペインのアプリ一覧で「エラーの出るアプリ」を選択し、「アンインストール」をクリックします。
- 確認ポップアップが表示されたら、「アンインストール」をクリックします。
- ウィザードが表示される場合は、手順に従ってアンインストールを実行します。
- アンインストールが完了したら、「Windowsマーク」→「Microsoft Store」にアクセスします。
- アプリ名を検索してアプリを再インストールします。
- 再インストールを行うには、Microsoftアカウントでサインインする必要があります。
アプリの修復、もしくは再インストールが完了したら、アプリが正常に起動できるようになったか確認してください。
対処3: Windows標準アプリを再登録する
Windowsの標準アプリを再登録することで、「システムコールに失敗しました」のエラーを解決できる場合があります。
特に複数の標準アプリで同様のエラーが発生している場合は、アプリの再登録を行うことでエラーが解決できる可能性が高いです。
Windowsの標準アプリを再登録するには、次の手順で操作します。
- 「Windowsマーク」を右クリックして「Windows PowerShell(管理者)」を選択します。
- ユーザーアカウント制御画面が表示された場合は、「はい」を選択します。
- PowerShellウィンドウが表示されたら、以下のコマンドを入力し、Enterキーを押します。
reg delete "HKCU\Software\Microsoft\Windows NT\CurrentVersion\TileDataModel\Migration\TileStore" /va /f
- 上記のコマンドをコピーしてPowerShellウィンドウで右クリックすると貼り付けることができます。
- 「操作を正しく終了しました」と表示されたら、以下の3つのコマンドを一行ずつ順番にEnterキーで実行します。
get-appxpackage -packageType bundle |% {add-appxpackage -register -disabledevelopmentmode ($_.installlocation + "\appxmetadata\appxbundlemanifest.xml")} $bundlefamilies = (get-appxpackage -packagetype Bundle).packagefamilyname get-appxpackage -packagetype main |? {-not ($bundlefamilies -contains $_.packagefamilyname)} |% {add-appxpackage -register -disabledevelopmentmode ($_.installlocation + "\appxmanifest.xml")}
- すべてのコマンドを実行できたらPowerShellウィンドウを閉じます。
以上で全てのWindowsの標準アプリを再登録することができます。再登録できたら、「システムコールに失敗しました」のエラーが解決したか確認してください。
対処4: クリーンブートでPCを起動する
インストールしているアプリケーションの機能が原因で、「システムコールに失敗しました」のエラーが発生することがあります。
そのため、PCをクリーンブートの状態で起動して、同様の操作でエラーが発生するか確認してください。PCをクリーンブートするには、次の手順で操作します。
- 「Windowsマーク」を右クリックして「ファイル名を指定して実行」を選択します。
- 「名前」のテキストボックスに「msconfig」と入力して「OK」をクリックします。
- 「スタートアップのオプションを選択」をクリックします。
- 「スタートアップの項目を読み込む」のチェックボックスを「オフ」にします。
- 「サービス」タブをクリックします。
- 「Microsoftのサービスをすべて隠す」のチェックを「オン」にします。
- 「すべて無効」をクリックします。
- 全てのサービスのチェックが外れたことを確認したら「適用」もしくは「OK」をクリックします。
- PCを再起動してクリーンブートで起動します。
クリーンブートの状態で問題が解決した場合は、インストールしているアプリケーションに原因があることが考えられます。
エラーの直前にインストールしたアプリケーションやアップデートを行ったアプリケーションなどが原因として疑われます。原因として疑わしいアプリケーションがある場合は、アンインストールを行なってください。
対処5: 破損したデバイスドライバーを修復する
デバイスドライバーが破損していることが原因で、特定の操作時に「システムコールに失敗しました」のエラーが発生するケースが考えられます。
そのため、問題が起きているデバイスドライバーを再インストールすることでエラーが解決する可能性があります。エラーの出ているドライバーを再インストールするには、次の手順で操作してください。
- 「Windowsマーク」を右クリックして、「デバイスマネージャー」を選択します。
- デバイスマネージャーが起動したら、全てのツリーを展開して「エラーが起きているドライバー」を探します。
- エラーが出ているドライバーには、黄色のビックリマークアイコンが表示されます。
- エラーマークがどこにも表示されていない場合は、ドライバーを修復する必要はありません。他の対処法を試してください。
- 「エラーが起きているドライバー」を右クリックして「プロパティ」を選択すると、「デバイスの状態」の欄にエラーの詳細と対処情報が表示されます。
- 「エラーが起きているドライバー」を右クリックして「デバイスのアンインストール」を選択します。
- 確認ダイアログが表示されたら「アンインストール」をクリックします。
- PCを再起動するとドライバーが自動で再インストールされます。
デバイスドライバーが再インストールできたら、同様の操作を行なってエラーが出なくなったことを確認してください。
対処6: システムファイルチェッカーを実行する
システムファイルが破損していることが原因で、「システムコールに失敗しました」のエラーが発生するケースが考えられます。
そのため、システムファイルチェッカーツールを実行し、システムファイルのエラーの検査と修復を行ってください。システムファイルチェッカーツールを実行するには、次の手順で操作します。
- 「Windowsマーク」を右クリックし、「Windows PowerShell(管理者)」を選択します。
- PowerShellウィンドウが開いたら、次のコマンドを入力してEnterキーを押します。
sfc /scannow
- コマンドを実行するとシステムファイルチェッカーツールが実行され、問題のあるレジストリが見つかれば自動修復されます。
- 「検証100%が完了しました」のメッセージが表示されたら完了です。
システムファイルを修復できたら、PCを再起動してから同様の操作を行なってエラーが解決したか確認してください。
対処7: チェックディスクを実行する
PCのSSD、もしくはHDDのファイルシステムが不良セクタの発生により破損していることが原因で、「システムコールに失敗しました」のエラーが発生するケースが考えられます。
そのため、ストレージのファイルシステムを修復することでエラーが解決する可能性があります。ファイルシステムを修復するには、次の手順でエラーチェックツールを実行してください。
- タスクバーにある黄色のフォルダアイコンをクリックして、ファイルエクスプローラーを開きます。
- ファイルエクスプローラーウィンドウが開いたら、ウィンドウ左側のリストにある「PC」の項目をクリックします。
- 中央に「デバイスとドライブ」のリストが表示されます。「ローカルディスク(C:)」を右クリックし、「プロパティ」を選択します。
- プロパティウィンドウが開きます。「ツール」タブをクリックして開きます。
- 「エラーチェック」の項目の中にある「チェック」ボタンをクリックします。
- エラーチェックが開始します。「このドライブをスキャンする必要はありません」と表示されたら、「ドライブのスキャン」をクリックします。
- エラーが見つかった場合はその場で自動で修復されます。スキャンと修復が完了したらツールを終了します。
ファイルシステムを修復することができたら、同様の操作を行なってシステムコールエラーが解決したか確認してください。
対処8: システムの復元を行う
WindowsUpdateなどのアップデートの不具合が原因で、「システムコールに失敗しました」のエラーが発生するケースがあります。
アップデートの直後にエラーが発生し始めた場合は、システムの復元を実行してすることを検討してください。
システムの復元を実行して、エラーが発生する前の日付のWindowsの状態に戻すことで、エラーが解決する可能性があります。
システムの復元を実行する詳しい手順については、次のページを参考にしてください。