我有一个新安装的 18.04 系统,并且正在其上安装 VirtualBox 及其自动启动脚本。
自动启动脚本正确地将 VirtualBox 内核模块列为 /etc/init.d/ 脚本的 LSB 部分中的依赖项,如下所示:
/etc/init.d/virtualbox:
### BEGIN INIT INFO
# Provides: vboxdrv virtualbox
# Required-Start: $remote_fs $network
# Required-Stop: $remote_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: VirtualBox Linux kernel module
### END INIT INFO
/etc/init.d/vboxautostart 服务:
### BEGIN INIT INFO
# Provides: vboxautostart-service
# Required-Start: vboxdrv
# Required-Stop: vboxdrv
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Description: VirtualBox autostart service
### END INIT INFO
然而,我跑完之后;
sudo update-rc.d vboxautostart-service defaults
/etc/rc*.d/ 目录将 vboxautostart-service 列为 S01* 和 K01*。这导致两者之间的依赖关系不被遵守,并且我的 VirtualBox VM 无法自动启动,因为启动时未加载内核模块。
例如,这是 /etc/rc5.d 的目录列表:
S01acpid S01dbus S01saned
S01anacron S01gdm3 S01speech-dispatcher
S01apport S01grub-common S01spice-vdagent
S01avahi-daemon S01irqbalance S01ssh
S01bluetooth S01kerneloops S01unattended-upgrades
S01console-setup.sh S01ntp S01uuidd
S01cron S01plymouth S01vboxautostart-service
S01cups S01rsync S01virtualbox
S01cups-browsed S01rsyslog S01whoopsie
这在 16.04 上运行良好。以下是 16.04 上的 /etc/rc5.d 列表:
README S01rsyslog S02dbus S03grub-common
S01apport S01unattended-upgrades S02irqbalance S03ondemand
S01lvm2-lvmetad S01uuidd S02mdadm S03plymouth
S01lvm2-lvmpolld S01virtualbox S02ntp S03rc.local
S01lxcfs S02acpid S02rsync
S01lxd S02atd S02ssh
S01open-vm-tools S02cron S02vboxautostart-service
这个在 18.04 中坏了吗?
答案1
我遇到了同样的问题。使用systemctl
命令解决了它。
sudo systemctl enable vboxautostart-service