如何通过GRUB命令行删除root用户的crontab?
如何通过GRUB命令行删除root用户的crontab?
我完全懂你不想重装系统的崩溃心情——那堆配置和软件重装起来太费时间了!别慌,通过GRUB命令行确实能搞定这个问题,下面是一步步的操作指南:
步骤1:调出GRUB菜单
开机的时候,按住Shift键(BIOS机型)或者Esc键(UEFI机型),就能调出GRUB启动菜单。如果你的系统平时默认隐藏GRUB,这个操作能让它显示出来。
步骤2:进入恢复模式
在GRUB菜单里,选择类似「Advanced options for [你的发行版名称]」的选项,比如Ubuntu就是「Advanced options for Ubuntu」。然后在子菜单里选带「recovery mode」的内核版本(一般是最新的那个)。
步骤3:进入root命令行
进入恢复模式菜单后,找到并选择「root - Drop to root shell prompt」选项,这时候系统会进入一个只读的root命令行环境。
步骤4:挂载根分区为可读写
默认的根分区是只读状态,没法修改文件,所以先执行这条命令把它改成可读写:
mount -o remount,rw /
步骤5:删除root的crontab
这里有两种方法可选,按需操作:
- 方法一:直接删除root的所有定时任务(简单粗暴)
执行这条命令就能一键清空root的crontab:crontab -r -u root - 方法二:先查看再删除(更稳妥)
先看看root的crontab里到底写了什么,确认是导致问题的内容:
确认后,直接删除这个文件:cat /var/spool/cron/crontabs/root
(注:部分发行版的crontab路径可能是rm /var/spool/cron/crontabs/root/var/spool/cron/root,如果上面的路径不存在,可以试试这个)
步骤6:重启系统
完成操作后,输入这条命令重启:
reboot
重启后应该就能正常进入系统了!
备选方案:如果恢复模式进不去怎么办?
如果恢复模式的root shell有问题,还可以直接修改GRUB启动参数进入单用户模式:
- 在GRUB菜单里选中正常启动的内核项,按
e进入编辑模式。 - 找到以
linux开头的行,把里面的ro改成rw,然后在行的末尾加上init=/bin/bash。 - 按
F10启动,系统会直接进入可读写的root命令行,然后重复上面步骤5的操作即可。
备注:内容来源于stack exchange,提问作者Youssef Ihab
相关产品推荐
相关产品推荐

