LinuxMintの起動時間を速くする設定
(2023.05.29執筆 ⇒ 2025.01.12追記)
LinuxMintは、初期状態でもWin何とかより起動がスピーディーですが、起動と同時に立ち上がる設定などを見直すことで、さらにスタート待機時間が短縮されます。古いパソコンで動作が遅いときは特に、今回のコラムが役立つと思われます。まずはターミナルで「systemd-analyze」
systemd-analyze
今回の主役のコードがこちら「systemd-analyze」です。ターミナルを開いて打ち込んでみますと、電源ON時の起動時間が表示されます。
起動時間の内訳をみる「systemd-analyze blame」
systemd-analyze blame
今度は起動時間の内訳を見てみましょう。ターミナルから「systemd-analyze blame」と打ち込んでみると、起動時間に係る詳細な内訳を見れます。
一応表示された記述をメモしておきます。後で要らない機能を無効化。又はレストアするときに必要になってくるので。
執筆時のOSはLinuxMint 21.1 Cinammon版です。
6.337s NetworkManager-wait-online.service 1.874s systemd-udev-settle.service 1.149s dev-sda6.device 736ms blueman-mechanism.service 599ms ufw.service 380ms networkd-dispatcher.service 293ms accounts-daemon.service 280ms lightdm.service 272ms plymouth-quit-wait.service 264ms udisks2.service 205ms ModemManager.service 196ms ubuntu-system-adjustments.service 194ms apparmor.service 182ms zfs-load-module.service 180ms bluetooth.service 177ms upower.service 176ms avahi-daemon.service 175ms keyboard-setup.service 169ms systemd-udev-trigger.service 161ms systemd-logind.service 152ms gpu-manager.service 144ms polkit.service 143ms secureboot-db.service 135ms thermald.service 134ms user@1000.service 120ms grub-common.service 119ms wpa_supplicant.service 117ms alsa-restore.service 115ms systemd-journald.service 112ms lm-sensors.service 104ms systemd-timesyncd.service 103ms systemd-udevd.service 103ms systemd-resolved.service 101ms systemd-modules-load.service 97ms e2scrub_reap.service 88ms systemd-journal-flush.service 88ms lvm2-monitor.service 87ms rsyslog.service 84ms systemd-fsck@dev-disk-by\x2duuid-CCA9\x2d991E.service 83ms networking.service 83ms cups.service 76ms NetworkManager.service 46ms systemd-remount-fs.service 45ms modprobe@fuse.service 44ms dev-hugepages.mount 43ms dev-mqueue.mount 43ms systemd-tmpfiles-setup.service 41ms modprobe@chromeos_pstore.service
内訳の中の要らない項目を削除「sudo systemctl disable サービス名」
ターミナルで「sudo systemctl disable サービス名」と入力すれば、その機能を無効化できます。 例えば最も時間の掛かってる「NetworkManager-wait-online.service」は削除してOKなので、以下の文字列をターミナルで記述し、無効化してみます。sudo systemctl disable NetworkManager-wait-online.service
このようにして、起動時間の短縮ができます。他にも、以下のサービスは無効化して問題ないようです。
networking.service networkd-dispatcher.service speech-dispatcher.service ModemManager.service pppd-dns.service dns-clean.serviceまとめて無効化
sudo systemctl disable networking.service networkd-dispatcher.service speech-dispatcher.service ModemManager.service pppd-dns.service dns-clean.service
ここまでの参考URL ⇒ systemdユニットファイルを使用したシステムのカスタマイズ及び最適化
無効化したものを再び有効化「sudo systemctl enable サービス名」
間違えて必要なシステムを無効化した場合「sudo systemctl enable サービス名」でいつでも復旧できます。 しかし、サービス名の記述を憶えておかねばならないので、メモか何かに予め無効化したサービス名を印しておくのが無難かもしれません。sudo systemctl enable サービス名
ついでにBluetoothも無効化
ブルートゥース、忌避すべきかな。プライバシーの侵害に関わるし、無意識下での身体的な影響もバカにできないので。知ってますか?マイクロなのチップの存在。なのでブルートゥース関連は切っておきます。歪んだIT業界は常に消費者を食い物にしようと働きかけますが、無線(bluetooth)はその入り口の一つです。人権侵害と健康被害の窓口。こんな機能まず使うべきで無い。
sudo systemctl disable bluetooth.service blueman-mechanism.service
他1:自動でネットワークを検出しないようにする
sudo systemctl disable avahi-daemon.service
他2:プリントサーバーやクライアントサービス
sudo systemctl disable cups.service
他3:アプリを攻撃から守るセキュリティツール
sudo systemctl disable apparmor.service
etc/modprobe.d/blacklist.confにbluetoothを追加
追加分として、Bluetoothモジュールの読み取りを無効化する記述を追記。 もしBluetoothを使わないのであれば、これで起動時間のさらなる短縮とリソースの節約になります。etc/modprobe.d/フォルダをルート権限で開き、blacklist.confを開いて以下を追記します。
blacklist bluetooth
blacklist btusb
参考画像↓のような感じになります。

参考URL ⇒ Linux起動時にBluetoothを無効化する方法