禁用 vbox 服务以减少启动时间

禁用 vbox 服务以减少启动时间

systemd-analyze critical-chain在我的系统上做了一个启动,在 i3wm 上运行 vanilla Arch。

现在,我也已经Virtualbox安装在我的系统上。因此,输出systemd-analyze critical-chain看起来像这样:

graphical.target @45.620s
└─multi-user.target @45.620s
  └─vboxweb-service.service @45.609s +10ms
    └─vboxdrv.service @1.645s +43.956s
      └─basic.target @1.637s
        └─sockets.target @1.637s
          └─dbus.socket @1.637s
            └─sysinit.target @1.637s
              └─sys-fs-fuse-connections.mount @6.422s +3ms
                └─systemd-modules-load.service @348ms +36ms
                  └─systemd-journald.socket @340ms
                    └─system.slice @327ms
                      └─-.slice @327ms

请注意,“vboxdrv.service”花费的时间最长,约为 43 秒,几乎占总启动时间的 90%。

我的问题是:通过以下方式禁用这两项服务是否安全systemd disable vboxdrv.service?然后,每当我想运行 virtualbox 时,我都可以这样做systemd start vboxdrv.service

答案1

systemd disable vboxdrv.service命令对我不起作用。

要禁用和启用 vboxdrv,我使用了以下命令:

systemctl disable vboxdrv.service
systemctl enable vboxdrv.service

答案2

没必要。

vboxdrv.service仅当您更新内核时才重新编译内核驱动程序,我很确定您不会每天都这样做。您仍然可以禁用它。

答案3

除了减少启动时间之外,如果您希望运行更少的进程,您可以停止并禁用 virtualbox 的服务:

systemctl stop vboxweb-service.service vboxballoonctrl-service.service vboxdrv.service
systemctl disable vboxweb-service.service vboxballoonctrl-service.service vboxdrv.service

所以在需要使用虚拟机之前只需要启动这些服务即可。但我测试了一下,发现重启系统后它仍然继续重新启动。

相关内容