本文へスキップ
RebootDoctor

Print Spooler が止まる? Windows 10/11 での直し方

By Mike Chen Fact-checked by Mike Chen (CompTIA A+ Certified) on

簡潔な回答: services.msc を開き、Print Spooler を右クリック→プロパティ→「回復」タブで、3つの失敗すべてを「サービスを再起動する」に設定すると、Windows が自動でサービスを復活させます。ただしこれは応急処置で根本治療ではありません。起動するたびに数秒で落ちるなら、net stop spooler で止めてから del /Q /F /S "%systemroot%\System32\spool\PRINTERS\*.*" で壊れたジョブを消し、net start spooler で起動し直します。それでも落ちるなら、イベント ビューアーを開き、システム ログのイベント ID 7034 とアプリケーション ログの障害が起きたモジュールを確認し、プリント サーバー プロパティ(printui /s /t2)からそのドライバー パッケージを削除します。

services.msc を開き、Print Spooler を右クリックして「再起動」を押すと、印刷は復活します。ただし数分だけです。そしてまた落ちる。Print Spooler が止まるとき、問題のすべてはこのループにあります。再起動は症状をなだめるだけで、サービスを倒している何かには手をつけていません。だから本当にやるべきことは、サービスをもう一度再起動することではありません。何がそれを殺しているのかを突き止めることです。以下の順番はそれをやります。まず印刷を使える状態に戻し、それから原因を追います。

まず自動で再起動するように設定する

2つの設定で、Windows がスプーラーを自分で再起動するようにできます。原因を追っている間、手作業で面倒を見続けずに済みます。

Win+R を押して services.msc と入力し、一覧から Print Spooler を探します。右クリックしてプロパティを開き、「全般」タブで「スタートアップの種類」が「自動」になっていることを確認してください。「手動」でも「無効」でもいけません。「手動」は特に見直す価値があります。ネット上に出回っている「プリンター修正」スクリプトのいくつかは、手順の途中でスプーラーを「手動」に切り替えたまま元に戻さず、再起動後に自分では立ち上がらないサービスを残していくからです。

Windows のサービス コンソールで Print Spooler サービスを選択し、状態と左パネルの「サービスの再起動」リンクを表示している画面
services.msc — Print Spooler を選ぶと、その状態と「再起動」リンクが見えます。このウィンドウは Windows 10 と 11 で同じです。

次に「回復」タブに切り替えます。「最初のエラー」「次のエラー」「その後のエラー」をすべて「サービスを再起動する」に設定し、「次の時間が経過後にエラー カウントをリセットする」を1日に下げます。これで、スプーラーが落ちても、Windows はあなたが気づくまで放置せず、数秒で復活させます。これは根本の不具合を直すものではありません。サービスは相変わらずクラッシュしていて、面倒を見なくて済むようになっただけです。それでも残りの作業をしている間、印刷を生かしておけるので、何よりも先にやっておきましょう。

Print Spooler のプロパティの「回復」タブで、最初・次・その後のエラーをすべて「サービスを再起動する」に設定した画面
「回復」タブ — 3つの失敗すべてを「サービスを再起動する」に設定し、Windows がスプーラーを自動で復活させるようにします。

これは応急処置であって治療ではありません。サービスは依然としてクラッシュしています。以下のセクションは、その「なぜ」を扱います。

起動のたびにクラッシュさせる壊れたジョブ

ほとんどの人がはまる典型的なパターンがあります。スプーラーが起動し、5秒か10秒動いて、また止まる。再起動しても同じ。サービス自体が壊れているように見えます。でも実際には、ほぼ必ずサービスは正常で、たった1件の不良な印刷ジョブが、読み込んだ瞬間にそれを引きずり倒しているのです。

送った文書はどれも、C:\Windows\System32\spool\PRINTERS の下に2つのファイルとしてディスクに残ります。印刷データの入った .SPL と、ジョブの設定が入った .SHD です。スプーラーは起動した瞬間にそのフォルダーを読み込みます。そのファイルのどれかが壊れていると、サービスは読み込み中にそこでつまずいて終了します。毎回そうなるので、再起動が一向に効かないのはまさにそのためです。不良ジョブはディスク上で待ち構え、スプーラーが戻ってきてはまた同じところでつまずきます。

直し方は、サービスを止めた状態でそのフォルダーを空にすることです。管理者として実行したコマンド プロンプトを開き(スタート→cmd と入力→右クリック→「管理者として実行」)、次のコマンドを1つずつ実行します。

net stop spooler

del /Q /F /S "%systemroot%\System32\spool\PRINTERS\*.*"

net start spooler

del の行に進む前に、「Print Spooler サービスは正常に停止されました」と表示されるのを待ってください。先走ると、del は「プロセスはファイルにアクセスできません」というエラーを出します。サービスがまだフォルダーをロックしているからです。/Q は確認をスキップし、/F は読み取り専用ファイルを強制削除し、/S はサブフォルダーまで到達します。そして net start spooler が、空のキューでサービスを起動し直します。これでサービスが落ちなくなったら、壊れたジョブが問題のすべてだったということです。これは詰まって削除できない印刷キューを片付けるのと同じ消去作業を、別の側から見たものです。あちらではキューが訴えの中身でしたが、こちらではサービスが落ちて死ぬことが訴えです。

起動して1分も経たないうちにまたスプーラーが落ちるなら、引き金はジョブではありません。読み込まれたドライバーのコードであり、それがどれかは次のセクションで突き止めます。

イベント ログを読んで、本当に殺している犯人を見つける

たいていの「手っ取り早い対処法」リストはこれを飛ばします。残念なことです。スプーラーが落ちるたびに、Windows は何が起きたかを正確に記録しており、答えはログの中で読まれるのを待っているからです。

イベント ビューアー(Win+R、eventvwr.msc)を開きます。左側で「Windows ログ」を展開し、「システム」をクリックします。サービス制御マネージャーからの赤いエラーの項目を探してください。狙うのはイベント ID 7034、「Print Spooler サービスは予期せぬ原因により終了しました」です。前のステップで再起動アクションを設定した場合は、同じクラッシュが代わりにイベント ID 7031 として現れます。文言は同一で、サービスを再起動している旨の1行が加わります。この2つは同じシグナルとして扱ってください。クラッシュごとにタイムスタンプ付きで1つ残るので、印刷が落ちた時刻と突き合わせられます。

イベント ビューアーのシステム ログで、サービス制御マネージャーからの「Print Spooler サービスは予期せぬ原因により終了しました」というイベント ID 7034 のエラーを表示している画面
イベント ビューアーのシステム ログ — イベント ID 7034 は、スプーラーが本当にクラッシュしていることを、クラッシュごとのタイムスタンプ付きで裏付けます。

7034 は、スプーラーが何かに止められたのではなく、本当にクラッシュしていることを裏付けます。ですが、それだけでは犯人の名前まではわかりません。それを知るには、2か所目を見ます。「Windows ログ」の中で「アプリケーション」をクリックし、7034 と同じ秒に記録されたアプリケーション エラー(イベント ID 1000)の項目を探します。その項目には障害が起きたモジュール、つまり実際に例外をスローした .dll が載っています。それが spoolsv.exeprndrvr.dll のようなもの、あるいはプリンター メーカーの名前が入ったファイルで障害を起こしている、と読めたら、答えが出ました。特定のプリント ドライバーがスプーラーに手を突っ込んでクラッシュさせているのです。

印刷専用のログもありますが、自分で有効にするまではオフになっています。引き続きイベント ビューアーで「アプリケーションとサービス ログ」を展開し、続いて Microsoft、Windows、PrintService と進みます。そこにある「Operational」ログは既定でオフです。右クリックして「ログの有効化」を選び、クラッシュを再現し(印刷を試すか、次の停止を待つだけでもよい)、更新します。これはドライバーの読み込みやジョブの失敗を平易な言葉で記録し、多くの場合、クラッシュを引き起こした正確なドライバーと文書を名指しします。Microsoft 公式のPrint Spooler サービスのトラブルシューティング ページが同じ理由でこれらのログを指し示しているのも、クラッシュの痕跡が何時間もの試行錯誤を飛ばす近道だからです。

ログが示したモジュール名を書き留めておきましょう。それが、次に削除するものです。

不良なドライバー パッケージを引き抜く

「ドライバーを更新しなさい」は誰もが言うアドバイスで、半分は正しいです。スプーラーを実際にクラッシュさせているドライバーは、まずきれいに取り除く必要があります。壊れたパッケージの上に新しいものをインストールしても、壊れたファイルがそのまま残り、スプーラーがそれを読み込み続けることがよくあるからです。プリント ドライバーがこの悪評を背負うのには理由があります。普通の人が付き合わされるソフトウェアの中でも飛び抜けてバグが多く、中途半端に取り除いたものは、ドライバーが何もない状態よりもたちが悪いのです。

Windows は本当のドライバー一覧を、プリンター自体の設定ではなく、プリント サーバー プロパティに隠しています。Windows 10 と 11 で共通の最短ルートは、Win+R で printui /s /t2 と入力して Enter です。すると「ドライバー」タブが直接開き、その PC がこれまでにインストールしたドライバー パッケージがすべて並びます。何年も前に手放したプリンターの亡霊まで含まれており、これはプリンターが1台も接続されていない PC でスプーラーがクラッシュする、典型的な原因です。

プリント サーバー プロパティの「ドライバー」タブで、インストール済みのプリンター ドライバー パッケージ一覧と強調表示された「削除」ボタンを表示している画面
プリント サーバー プロパティ(printui /s /t2)の「ドライバー」タブ — イベント ログが名指ししたパッケージを選び、「ドライバーとドライバー パッケージを削除する」を実行します。

先にスプーラーを停止してください(services.msc に戻るか、net stop spooler で)。実行中はドライバー パッケージがきれいに削除できません。次にイベント ログが名指ししたドライバーを選び、「削除」をクリックし、ドライバーだけではなく「ドライバーとドライバー パッケージを削除する」を選びます。そしてスプーラーを起動し直します。クラッシュが止まったら、そのパッケージが患者だったということです。その後はメーカーのサイトにある最新ドライバーでプリンターを再インストールしてください。Windows Update が差し出してくる汎用のものではいけません。ドライバー更新ガイドでは、Windows に代わりのものを押し付けられずにそれを行う方法を扱っています。さらに Windows がプリンターを利用不可と表示している場合は、「ドライバーを利用できません」の手順が、「削除」ボタンよりも徹底的に壊れたパッケージを片付けてくれます。

そもそも起動しないとき

これは別の種類の不具合です。サービスは動いてからクラッシュするのではなく、起動を拒み、開始を押した瞬間にエラーを出します。スプーラーは単独では動きません。もう一度そのプロパティを開いて「依存関係」タブをクリックしてください。Print Spooler はリモート プロシージャ コール (RPC) に依存しています。RPC が動いていなければ、スプーラーは物理的に起動できず、出てくるエラーは印刷に一切触れません。プリンター側を疑う前に、RPC(サービス一覧ではリモート プロシージャ コール (RPC) と表示されます)が「実行中」かつ「自動」になっていることを確認してください。

もっと静かな原因が2つあります。1つは、十数件ものプリンター項目を抱えた PC です。触れたすべてのホテルやオフィスのプリンター、それに古いリモート セッションからリダイレクトされたプリンターまで――これらはスプーラーが起動時に読み込むものをそれだけ増やし、その山の中のたった1つの不良項目がサービス全体を止めることがあります。設定(Windows 11 では「プリンターとスキャナー」、Windows 10 では「デバイスとプリンター」)で、本当に使うものだけにリストを絞り込みましょう。そしてまれにではありますが、マルウェアがスプーラーを直接狙うこともあります。このサービスは数年前の PrintNightmare 攻撃の中心でした。スプーラーがほかの症状と一緒におかしくなり始めたなら、印刷スタックを分解する前に、ウイルスを確認する手順でその可能性をつぶしておきましょう。

それでもまだ落ちるなら

止まり続けるスプーラーの多くは、この段階で観念します。壊れたジョブを消すか、不良なドライバー パッケージを1つ引き抜けば、サービスは落ちなくなります。Windows 10 は2026年初頭になってもStatcounter の数字で世界のデスクトップのおよそ4台に1台で動いていたので、この同じ古典的なウィンドウが非常に多くの PC で同じ役割を果たしており、直し方は両方とも同じように決まります。

観念しないものは、特定の種類の手強さを持っています。すでに削除した .dll ドライバーをイベント ログが名指しし続けるのは、2つ目のパッケージがそれにこっそり依存しているからです。あるいは、特定の1台のネットワーク プリンターに誰かが印刷するまではびくともしないのに、印刷した途端に落ちる――そのプリンターのドライバーに埋もれたクラッシュで、特定の文書でしか発火しないものです。マネージド プリント ベンダーは、印刷がヘルプデスクへの問い合わせの最大半分を生むという Gartner の見積もりをよく引き合いに出しますが、その数字のロングテールこそ、まさにこの種のケースです。PrintService ログを読み、ドライバー パッケージを1つずつ引き抜いて追い詰めていくスプーラーのクラッシュ――危険ではないが地味に手間のかかる、消去法でつぶしていく午後の作業です。これは、同じクラッシュの痕跡をすでに見たことのある人なら、障害が起きたモジュールから読み取って1分で近道してしまうような類いのものです。

よくある質問

Print Spooler サービスが起動してから数秒でまた止まるのはなぜですか?

ほとんどの場合、原因は壊れた印刷ジョブです。スプーラーは起動した瞬間に C:\Windows\System32\spool\PRINTERS を読み込みますが、その中の .SPL または .SHD ファイルのどれかが壊れていると、読み込み中にそこでつまずいてサービスが終了します。毎回そうなるので、再起動しても一向に解決しません。サービスを止め、そのフォルダーの中身をすべて削除してから、もう一度起動してください。管理者として実行したコマンド プロンプトを開き、net stop spooler を実行し、次に del /Q /F /S "%systemroot%\System32\spool\PRINTERS\*.*"、そして net start spooler を実行します。これでサービスが落ちなくなれば、壊れたジョブが原因のすべてだったということです。

Print Spooler のイベント ID 7034 とは何ですか?

Windows のシステム ログにあるイベント ID 7034 は「Print Spooler サービスは予期せぬ原因により終了しました」と表示され、スプーラーが意図的に停止されたのではなく本当にクラッシュしたときにサービス制御マネージャーが記録します。回復の再起動アクションを設定している場合は、同じクラッシュが代わりに関連の深いイベント ID 7031 として記録され、文言は同一でサービスを再起動している旨の注記が加わります。両者は同じシグナルとして扱ってください。どちらもクラッシュを裏付けますが、それだけでは原因の名前まではわかりません。それを突き止めるには、アプリケーション ログを開き、同じ秒に記録されたアプリケーション エラー(イベント ID 1000)の項目を探します。そこには障害が起きたモジュール、つまり実際に例外をスローした .dll が載っています。そのモジュールがプリンター ドライバーのファイルなら、スプーラーを殺している正体を見つけたことになります。

スプーラーをクラッシュさせる壊れたプリンター ドライバーはどうやって削除しますか?

プリンター自体の設定ではなく、プリント サーバー プロパティを使います。Win+R を押し、printui /s /t2 と入力して Enter を押すと、その PC がこれまでにインストールしたすべてのドライバー パッケージを一覧する「ドライバー」タブが直接開きます。先に Print Spooler を停止してください(実行中はドライバー パッケージがきれいに削除できません)。イベント ログが名指ししたドライバーを選び、「削除」をクリックし、ドライバーだけではなく「ドライバーとドライバー パッケージを削除する」を選びます。そしてスプーラーを起動し直します。クラッシュが止まったら、メーカーのサイトにある最新ドライバーでプリンターを再インストールしてください。

Print Spooler サービスがそもそも起動しないのはなぜですか?

スプーラーが起動を拒み、開始をクリックした瞬間にエラーを出す場合、原因は印刷そのものよりも依存関係であることが多いです。Print Spooler はリモート プロシージャ コール (RPC) に依存しています。RPC が動いていなければ、スプーラーは物理的に起動できず、しかもそのエラーは印刷に一切触れません。プリンター側を疑う前に、スプーラーのプロパティを開いて「依存関係」タブをクリックし、サービス一覧でリモート プロシージャ コール (RPC) が「実行中」かつ「自動」になっていることを確認してください。

スプール フォルダーを空にすると、保存した文書は消えますか?

いいえ。C:\Windows\System32\spool\PRINTERS にある .SPL と .SHD ファイルは、プリンター向けに生成された一時的なコピーであって、あなたの元の文書ではありません。保存した文書はそのままの場所に残ります。失うのは保留中の印刷キューだけで、印刷し終えていなかったものはアプリケーションからプリンターへもう一度送り直す必要があります。

プロのサポートが必要ですか?

これらの手順で解決しない場合、認定技術者がリモートで診断・修復します。通常30分以内に完了します。