是否可以在不真正重启的情况下进行重启?我有 Ksplice,还没有机会使用它,但需要一些不同的东西。如果我在启动期间进入 BIOS 并告诉它从 USB 启动,我的桌面才会启动到 HD,然后它将启动到 HD,这非常奇怪,我检查了我的 BIOS 并将其设置为默认设置,以防我可能更改了某些内容,但这并没有解决问题。所以基本上我不想进行实际的关机/重启。我添加了我的 Brother MFC-295CN 并更改了扫描所需的脚本,但现在我需要重新启动才能使其工作。这与内核无关,所以 Ksplice 不会这样做。还有其他方法吗?重新启动 lighdm 可以解决问题吗?可能吗?
感谢您的时间和回答
答案1
首先,使用以下命令安装 kexec 工具:
sudo apt-get install kexec-tools
现在,要使用 kexec 重新启动,需要确定要使用 kexec 进入的内核版本以及要使用的启动设备和 initrd。
例如,要查找您正在运行的当前内核,请使用:
uname -r
找到启动设备的一个快速而简单的方法是在 /boot/grub/grub.cfg 中查找根设备,例如:
grep "set=root" /boot/grub/grub.cfg
并查找启动设备的 UUID。
因此,对于我的机器,我的内核是 3.5.0-17-generic,我的 UUID 是 69822458-67e5-437a-84ab-0c9e5c139d43,因此我可以使用以下命令将此内核和 initrd 映像加载到内存中:
sudo kexec -l /boot/vmlinuz-3.5.0-17-generic --append=" linux /boot/vmlinuz-3.5.0-17-generic root=UUID=69822458-67e5-437a-84ab-0c9e5c139d43 ro quiet" --initrd=/boot/initrd.img-3.5.0-17-generic
然后使用以下命令启动内核:
kexec -e
可以通过 kexec 进入不同的内核版本;不需要使用正在运行的版本。