Grml是一个基于Debian的可引导实时系统(Live-CD)
Grml内置很多适用于系统管理员的GNU/Linux软件。Grml特别适用于安装、部署和系统救援等管理任务。
而grml-rescueboot可以帮你轻松完成GRUB引导ISO的配置,方便你随时引导Grml Live Linux。
在Debian11上安装grml-rescueboot:
apt -y update apt -y install grml-rescueboot
可以使用如下命令自动下载最新的grml iso,但是这个只能下载full版本的iso:
update-grml-rescueboot
考虑到一些机器内存较小,我们可以手动下载并使用small版本的iso:
cd /boot/grml wget https://download.grml.org/grml64-small_2022.11.iso
注:即便是small版本的iso,如果启动参数有toram(将整个系统放在内存运行)机器内存也至少需要2gb才能引导。
对于大多数使用情况而言,toram是一个必须要启用的配置,如果仅仅只是通过硬盘引导iso的话,可以做的事情非常有限,比如你要给硬盘重新分区就无法完成。
接下来编辑配置文件,在这个配置文件里面我们需要配置ssh密码等一些信息:
nano /etc/default/grml-rescueboot
对于原系统是debian的,并且使用ifupdown来管理网络的机器,可以在启动选项里面使用debnet,这样grml就会自动将原系统内的interfaces配置文件复制到grml内使用:
CUSTOM_BOOTOPTIONS="ssh=password lang=us keyboard=us tz=Asia/Shanghai debnet toram"
如果原系统的网关ip不在同一网段,grml将无法添加默认路由,在启动选项里面加入services=networking即可解决:
CUSTOM_BOOTOPTIONS="ssh=password lang=us keyboard=us tz=Asia/Shanghai services=networking debnet toram"
注:我感觉这是grml的一个bug,因为按照官方的解释services仅仅只是启动/etc/init.d里面的服务,但不知为何可以通过这种方式解决。。
如果原系统不是debian,但只要网络支持dhcp,你还可以使用下面的配置:
CUSTOM_BOOTOPTIONS="ssh=password lang=us keyboard=us tz=Asia/Shanghai toram"
你还可以配置使用静态地址,但是我这里就不详细说了,有需要的可以看看官方的文档:http://grml.org/cheatcodes/
配置好了后,更新grub配置:
update-grub
让机器下一次启动的时候引导grml,对于使用full iso的使用如下命令:
grub-reboot "Grml Rescue System (grml64-full_2022.11.iso)"
使用small iso的使用如下命令:
grub-reboot "Grml Rescue System (grml64-small_2022.11.iso)"
重启:
systemctl reboot
等待1分钟左右,尝试登录ssh,如果能成功登录就说明成功了:
如果因为某种原因在重启后无法登录到ssh,只需在你的VPS/服务器面板重启一下即可恢复到之前的系统。
如果因为某种原因在重启后无法登录到ssh,只需在你的VPS/服务器面板重启一下即可恢复到之前的系统。