尝试安装用于无头运行 Virtualbox VM 的服务时出现问题

尝试安装用于无头运行 Virtualbox VM 的服务时出现问题

我的目标是当我启动和停止主机(Ubuntu 10.04)时,让 Ubuntu 正常启动和停止无头虚拟机 VM。

我正在使用脚本由...提供Quadir Kareemullah 的页面

这是脚本中的 LSB 注释头(我从“Required-Start”中删除了 vboxnet 以减少依赖性):

### BEGIN INIT INFO
# Provides:          vboxsvc
# Required-Start:    $local_fs $remote_fs vboxdrv 
# Required-Stop:     $local_fs $remote_fs
# Default-Start:     2 3 4 5
# Default-Stop:      S 0 1 6
# Short-Description: VirtualBox Service
# Description:       VirtualBox Service to startup and shutdown Virtual Machines
### END INIT INFO

正如 Quadir 所解释的,我在 /etc/init.d/ 中找到了“vboxsvc”并执行:

$sudo update-rc.d vboxsvc

这为运行级别创建了链接。例如在运行级别 2 中:

$ls -l /etc/rc2.d/
...
lrwxrwxrwx 1 root root  17 2010-11-03 20:02 S20vboxdrv -> ../init.d/vboxdrv
lrwxrwxrwx 1 root root  25 2010-11-03 20:03 S20vboxweb-service -> ../init.d/vboxweb-service
lrwxrwxrwx 1 root root  17 2010-11-11 21:43 S21vboxsvc -> ../init.d/vboxsvc
...

如果我手动启动|停止服务:

$sudo /etc/init.d/vboxsvx start

它按预期工作。

如果我执行“service --status-all”,则不会列出该服务,但当我使用 sysv-rc-conf --list 时它会显示出来。

当我启动计算机时,它不会自动启动。另一方面,当我重新启动或关闭时,该服务会自动停止。由于某种原因,当系统启动时,链接 /etc/rc2.d/S21vboxnet 未执行或发生了其他事情。

我知道 Upstart 是现在 Ubuntu 的做事方式,但是 SysV init 仍然受支持,对吗?

编辑:我认为我快要解决这个问题了。我认为解决方案与加密我的主文件系统有关。当 init 进程执行相应的启动脚本并尝试执行“sudo -H -u myuser VBoxManage myVirtualMachine -type vrdp > /dev/null”时,它无法访问 myVirtualMachine 的数据(位于加密文件系统中),因为我尚未以 myuser 身份登录,因此我的主文件系统尚未挂载。

答案1

正如我所想,整个问题是由于我的主分区被加密而引起的。

我最终遵循了这一点问题删除加密。

我的建议是,除非你知道自己在做什么,否则不要在安装 Ubuntu 时加密你的主分区。如果你这样做,请注意,除非你已登录,否则你的主目录下的所有内容都将被锁定给其他用户(包括 root)。

答案2

让新的系统用户运行 VirtualBox 比解密你的主文件夹不是更好吗?

这样,您仍然受到保护,并且虚拟机可以顺利启动。

相关内容