Autoruns 1.0 が Linux に対応、起動項目を 1 枚の表に

要約

Microsoft は Autoruns の Linux 版を 1.0 として公開した。Rust で書かれ、systemd の unit、cron の処理、デスクトップの自動起動、ブラウザの拡張を 1 度に並べる。調べる相手のシステムには手を加えない。

おすすめ
ソフト名
Autoruns
バージョン
1
料金
無料
オープンソース
オープンソース
OS
WindowsLinux
更新日時
2026-11-06 23:00
Windows で起動時に何が動くのかを調べるとき、まず名前が挙がるのが Autoruns だ。11 月 5 日、Microsoft はこれを Linux に移した。バージョン番号は振り出しに戻り、14.x まで進んでいたものが 1.0 になった。

Linux では起動の入口が最初から散らばっている

Windows の自動起動は数が多くても、レジストリと決まったフォルダにほぼ集まっており、1 つの道具で一通り見て回れる。Linux はそうではない。サービスは systemd が扱い、古い機械には SysV のスクリプトが残り、定期処理は cron と anacron に分かれ、グラフィカルなセッションは XDG の autostart ディレクトリを読み、ログインシェルは .profile のようなファイルを読み込む。さらにブラウザの拡張、udev の規則、fstab のマウント指定がそれぞれ別に存在する。全体を握る部品は 1 つもなく、起動時に何が動くのかを確かめるには、以前は場所を 1 つずつ見て回るしかなかった。

散らばった場所を 1 枚の表にまとめる

Autoruns for Linux は Rust で書かれたコマンドラインの道具で、MIT ライセンスで公開されている。上の各場所の設定を読み出し、事象、起動の仕組み、対象、主体、有効な状態、根拠の出どころという形で 1 行ずつ並べる。範囲は XDG のデスクトップ自動起動と、システム全体および利用者ごとのシェル起動ファイル、systemd のシステムサービスと利用者サービス、timer、socket、path、device、mount、automount に及び、優先度、mask、drop-in、依存関係、テンプレートの実例、段階ごとの条件まで含む。さらに両方の階層の cron、anacron、run-parts の処理、modules-load の設定、boot と SysV のフック、動的ローダーの preload と検索パス、alternatives、対応するネットワークフックのディレクトリも対象になる。

ブラウザは別扱いだ。Chromium 系と Firefox の拡張は、インストール、利用者、profile をまたいで一覧になり、企業の方針、外部からの登録、常駐する load-extension の起動役、ネイティブメッセージの受け口も含まれる。機器と媒体の側では、udev の実行可能な動作と unit、fstab に書かれた x-systemd の関係、autofs のプログラム対応、マウント済み媒体の autorun 優先度を扱う。オフィス群も入っており、LibreOffice と OpenOffice の拡張パッケージ、UNO の部品、その事象と処理の設定が並ぶ。

引数なしではログイン項目だけを見る

そのまま実行するとログイン時の起動項目を見るのと同じで、Windows 版の既定の振る舞いに揃えてある。実装済みの Linux の分類を一気に見るには -a とワイルドカードを付ける。b、h、i、k、l、n、o、s、t で個別に選ぶこともでき、それぞれ boot のフック、イメージの乗っ取りと preload、ブラウザ連携、動的ローダー、ログイン項目、ネットワークフック、アプリ連携、サービスとモジュール、定期処理に対応する。機器とマウントには device、mount、device-mount という名前付きの選択子がある。

出力は CSV、TSV、JSON、XML、そして桁を揃えた表の 5 種類で、項目はどれも同じだ。先頭に機械可読の 12 列があり、そのあとに事象、仕組み、主体、profile、起動のきっかけ、対象、完全性の注記が続き、さらに対象の状態、対象が存在するか、実行できるかが並ぶ。絶対パスの対象は選んだルートの中で調べられ、存在する、欠けている、到達できないのいずれかになる。相対のコマンドは未解決として示される。見落としやすいのは、登録の状態と対象の状態が別々に持たれている点だ。有効なままでファイルだけ消えている項目は、有効と表示されながら同時に対象の欠落が付く。

読むだけで、手を出さない

こうした道具が壊れるのは、扱いが乱暴になったときだ。Autoruns for Linux は静的なファイル確認だけに限定している。見つけたコマンドは実行せず、unit を起動せず、機器の事象を作らず、媒体をマウントせず、拡張も読み込まない。テキストの出どころと XPI、OXT の中身は、1 ファイルの大きさ、要素の数、1 要素の大きさ、展開後の合計に上限を置いて読む。対象ファイルの中身は見るだけで動かさない。実行中のサービスの状態は問い合わせない。オフラインのルートでは問い合わせようもなく、そのことは出力に明記される。

相手のシステムを起動せずに調べられる

root 引数は別のルートを指すためのもので、試験環境、マウント済みのシステム、コンテナ、オフラインのイメージに使える。この経路は調べる前に検証と正規化が行われ、Linux では openat2 の RESOLVE_IN_ROOT と RESOLVE_NO_MAGICLINKS を通る。カーネルがこの仕組みを持たない場合は、一部だけ調べたという診断を出し、代替の処理の間はマウントしたイメージを読み取り専用のままにしておくよう求める。終了コードも分かれている。0 は選んだ静的アダプタが最後まで走ったこと、1 は出力の失敗、2 は引数かルートの誤り、3 は結果が一部だけであることを示す。

範囲の外はどう扱うか

Windows 版の信頼の設定と VirusTotal への照会には、ここに対応するものが無い。対応しているふりをせず、終了コード 2 で断る。Windows にしか無い分類や、静的アダプタが届かない部分は、もっともらしい分類に押し込むのではなく unsupported-scope という行ではっきり示す。d という選択子は Windows 版での互換の意味をそのまま保ち、黙って機器の側へ向け直されることはない。

できないことはできないと言う。これは分類をいくつか増やすことより、調べた結論の根拠になる道具にとって重い。起動の調査で最も多い誤りは、見つからなかったものを、無かったことにしてしまうことだからだ。

誰が使うのか

まず運用だ。起動がだんだん遅くなった、何かが黙って居座っている気がする、というときに、systemd、cron、デスクトップの自動起動、ブラウザの拡張を並べた一覧は、フォルダを 1 つずつ見て回るより速い。セキュリティと調査の用途にも向く。root 引数があれば、マウントしたイメージやコンテナのルートをそのまま調べられ、そのシステムを立ち上げる必要がない。配布物を削ったりイメージを小さくしたりする人が、基準として使い、自分のイメージに最初から何が自動で走るよう設定されているかを見るのにも向く。

Windows 版で十数年積んだものは Linux にそのまま移らない。仕組みがそもそも違う。それでも自動起動を 1 か所で見るという考え方は通用するし、この 1.0 の広さは、Microsoft が慌てて移植したわけではないことを示している。

Autoruns が Linux で値打ちを持つのは、自動起動の場所を何種類知っているかではなく、読み取り専用を守り、確かでない所を明示する点にある。調査の道具の信頼は、認めた境界の分だけ積み上がる。
Autorunsダウンロード
対応OS: Windows Linux