我有双启动设置:Manjaro KDE 和 Elementary OS。
假设我想阻止 Manjaro KDE 在特定时间启动(例如上午 8:00 至下午 1:00 之间),以便只有 Elementary OS 可以在该特定时间使用。
因为我认为我无法在 GRUB 级别采取行动,所以 Manjaro 当然能够启动,但某些软件应该阻止用户登录或使发行版在特定时间无法使用。
这可能吗?我该怎么办?
答案1
今天看来的事情明天不一定就会出现:-)
。
您应该被允许在/boot/grub/grub.cfg
编辑时使用与日期和时间相关的命令/etc/grub.d
,即使它们应该依赖于内部 PC 时钟,该时钟必须受到保护,以防止用户在操作系统和 BIOS 下使用,并且有可能从除这两个之外的源启动。此外,请记住,主板电池故障可能会导致内部时钟显示的时间错误。
看看这个ubuntu 线程寻求更多实用提示或这个帖子简单全景图。提示中继datehook
模块和配置文件 ( /boot/grub/grub.cfg
)
insmod datehook if [ "$HOUR" -ge "8" -a "$HOUR" -lt "13" ]; then set default="0" #Manjaro KDE else set default="1" #Elementary OS fi
用手
如果你无法使用grub
上述功能,你可以应用策略
在错误的时间抢占登录,强制重新启动并进行特定选择,如下所述这些其他答案。您应该在启动时必须执行的脚本中添加时间检查。如果检查未通过,您应该使用其他选项强制重新启动
grub
。
主要步骤如下:- 在
/etc/default/grub
写/检查GRUB_DEFAULT=saved
- 使用
grub-set-default
(如果需要)作为所需的启动选项 sudo update-grub
保存它
在要运行的脚本中
grub-reboot <entry>
指向其他操作系统。
- 在
踢当它到达黑色时,仍然登录的人时间窗口,例如以下建议davidgo 添加了一个检查
crontab
(但我再次认为最好编写一个小脚本,使用所需的 grub 选项重新启动,或者如果它直接起作用grub-reboot <entry>
)。
祝您阅读和尝试愉快...
答案2
如果您能找到解决方案,就可以绕过它。如果是为了阻止那些不太了解的人的尝试,您只需在 crontab 中添加一行,以便在这些小时内每分钟重新启动一次。可能的做法是编辑 /etc/crontab 并添加
* 8-12 * * * root shutdown -h now