Windows10の自動起動、3つの手法とは

こんにちわスピカです。

Windows10のシステムが起動すると同時に自動的に起動するプログラムがあるのはご存知だと思います。

そんなWindowsシステムが持っている自動起動システムは大きく分けて2つ。

サービスとスタートアップ

サービスとスタートアップの違いをご存知でしょうか。簡単にいえばログイン前に実行可能なのがサービス。ログイン後に実行可能なのがスタートアップ。(ログイン後でもサービスは起動できます。ここでは基本ということで)

システムの起動順序

サービスとスタートアップのことを書く前にWindowsシステムがどのように起動されていくかを知っていると分かりやすいのではないかと思います。

とりあえず簡単にですけど書きますね。

Windowsは電源ボタンを押すと、まずBIOS、UEFI(ハードウェア基本情報)を読み込みます。

その後、補助記憶装置(HDDやSSD、USB等)を BIOS、UEFIに設定されたドライブの順番に起動できるか試していきます。

※ちょっと走り書き、よくBIOSやUEFIが飛ぶとPCがおシャカになると言いますが、それはこの起動システムにあります。電源ボタンを押したのち自動でこのBIOSやUEFIが起動するようになっているため、この基本情報がなんらかの原因で飛んでしまうとそのPCは使い物にならなくなってしまいます。(正確にはそのマザーボードが)

Windowsシステムは壊れても何回でもインストールすればOKですがBIOS等は1回飛ぶと修復がかなり難しいです。(最近では飛ぶことはあまりなくなっているようですが・・)場合によってはロムライタ等が必要になることも。

起動可能なドライブ(パーテーション)があるとそのドライブから起動し始めます。

そしてまず、起動できるドライブがWindowsシステムの場合、Windowsシステムの核となるカーネルをメインメモリに読み込みます。

その後そのPC自体のハードウェアをチェックしながらドライバソフトを
同じくメインメモリに読み込みます。(全てではない)

そしてある程度稼働状態が可能な環境が構築されたと判断するとサービスプログラムを読み込みます。DOSのころのConfig.sysみたいなもんですかね。複雑さが違いますが。

オートログインを設定しているとそのままログインしてスタートアップに登録されたアプリを実行します。

大まかな起動プロセスを書いてみました。実際はもっと複雑ですけどね・・

スタートアップから起動する

まず、ユーザーがアプリを自動的に起動させたい場合はスタートアップに登録するのが一般的です。

その場所はどこか

ログイン後に可能になるためユーザーフォルダに既に作られています。場所は(Ver1809の場合)

C:\Users\{ユーザー}\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

全てのユーザーで利用したい場合は

C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp

にショートカット等を入れることでログイン後起動が可能になります。

サービスから起動する

サービスは基本的にサービスの規格に則ったプログラムしか登録できません。それは、バックグラウンドプログラム。ドライバ系などが多いようです。

ようはウィンドウなどのオブジェクトを持たない(ちょっと語弊があるかもしれませんが)アプリ。

まあ、ログイン画面前にユーザーアプリが立ち上がってしまってはサービスの意味がありませんからね。(でもたまあに質の悪いアプリだったりすると立ち上がってしまいます)

このサービスに登録する場合はコマンドラインからすることが多い。またユーザーが自ら登録することはほとんどありません。

タスクスケジューラを利用する

タイトルでは「3つ」と書きました。最後のひとつがタスクスケジューラから起動させる場合。

タスクスケジューラをを利用する場合は、サービスとしてログイン前及びログイン後、その他時間経過等柔軟性の高い設定が可能です。

ユーザー側から登録可能な方法はほぼこの3つと思われます。ただしソフトウェア等をインストールした場合、これ以外の場所に登録されることもあります。

総 評

Windowsで一般的に自動起動の登録が可能な場所をピックアップしてみました。ただやはり一般的なのはスタートアップだと思います。

サービスに登録するのはユーザーよりもアプリやソフトが一般的と思われます。