标签 grml 下的文章

使用 grub4dos 来引导硬盘上的 grml.iso livecd - debian

需求:将 LiveCD grml.iso 保存在 ntfs 分区上,使用 grub4dos 来引导,加载 grml.iso 文件。

本例,硬盘是 MBR 分区,只有一个 NTFS 分区,已经安装有 Windows 22H2。grml.iso 保存在 C:\iso\grml.iso。

尝试:

  1. 先安装 grub4dos, 将 grub4dos ,用 bcdedit 将 grub4dos 添加到启动菜单中
  2. 这里的 C:\menu.lst 文件内容,其中 findiso 参数是让它能在设备中查找iso文件,toram=grml.squashfs 是避免 ntfs-3g 自动将 ntfs 分区挂载为“可读写”,导致重启或关机时会挂死

    title grml
    find --set-root --ignore-floppies --ignore-cd /iso/grml.iso
    map /iso/grml.iso (0xff)
    map --hook
    set opts=" toram=grml.squashfs dns=8.8.8.8 ip=192.168.1.108::192.168.1.1:255.255.255.0:testbox:eth0:off ssh=mima "
    kernel (0xff)/boot/grml/vmlinuz apm=power-off boot=live live-media-path=/live/grml/ bootid=grml001 findiso=/iso/grml.iso  nomce net.ifnames=0 %opts%
    initrd (0xff)/boot/grml/initrd.img
    map --unhook
    boot
    savedefault --wait=2

参考:

在grml debian 的 livecd overlay 文件系统里启动 mariadb-server

问题:在 grml 的急救系统里无法启动 mariadb-server,报错:/usr/sbin/mariadbd $MYSQLD_OPTS $_WSREP_NEW_CLUSTER $_WSREP_START_POSITION (code=killed, signal=ABRT)

尝试:在 mysqld 的配置内容中,增加一行 innodb_flush_method = fsync

参考:

用 grml-live 制作 debian stable 的 iso 急救盘

需求:grml 当前官方可下载的版本是基于 debian 12/sid 构建的,如需 stable 的,怎么做呢?

尝试:

  1. 下载 grml64-full 的 iso 文件,因为里边有 grml-live 的命令
  2. 用 grml64-full 启动机子
  3. grml-live -s stable -c GRMLBASE,GRML_SMALL,AMD64 -o /srv/grml-live # 执行这条命令,就可以用 debian stable 来构建新的 iso 急救盘了
  4. 如需在 grub 菜单中添加内核启动的参数,例如设置静态IP,可添加形如:ip=144.172.126.97::144.172.126.1:255.255.255.0 这样的内容

参考:https://grml.org/grml-live/#deploy-on-debian

用 grml iso 作为急救盘 dd 安装 debian 12 系统

需求:一台物理机,主板不支持EFI,有 LSI MTP 阵列卡组成 6TB 的存储。想达到不使用IPMI,在原 Debian 系统环境中,能远程重装系统。

尝试:使用 grml iso 作为急救系统,在内存中使用,再通过 dd 命令,或 grml-debootstrap 重新安装 Debian 系统。

步骤:

  1. apt install grml-rescueboot # 安装 grml急救 工具
  2. mkdir /boot/grml 和 wget -O /boot/grml/grml.iso https://download.grml.org/grml64-small_2022.11.iso # 下载 grml 的iso文件
  3. sed -i 's|additional_param=""|additional_param="ssh=mjj2023"|g' /etc/grub.d/42_grml # 添加 grml 的启动参数,即 ssh=mjj2023 。效果是自动启动 ssh 服务,且 root 的密码是 mjj2023
  4. update-grub # 更新 grub 配置
  5. grub-reboot 2 # 下次启动,选择从第二项启动,即加载 grml iso 文件
  6. reboot # 重启系统。如果顺利,机子重启后,会自动加载 grml iso 文件。 grml 会自动获取IP,然后启动 ssh 服务。机子可从远程ssh连接,即可登录到 grml 的急救系统

以下部分是具体实例,仅参考。

  1. ip addr add 66.181.33.88/32 dev eth0 和 ip route add default dev eth0 via 100.103.2.49 onlink # 如果成功通过IPv6 ssh连接到 grml 急救系统,可执行以上两条命令,为 eth0 网卡临时配置IPv4
  2. wget -O- https://cloud.debian.org/images/cloud/bookworm/latest/debian-12-nocloud-amd64.raw | dd of=/dev/sda status=progress # 这里是使用debian官方的硬盘镜像。dd 好后,需要设置root密码、允许root用户凭密码ssh登录,还需留意物理机的网卡名称可能会随环境变化
  3. cfdisk /dev/sda # dd 好后,调整分区大小。请留意,如果是使用debian官方的硬盘镜像,调整分区后,是否需要重新安装grub,否则重启后,会出现 grub rescue
  4. resize2fs /dev/sda2 # 调整文件系统大小

调整磁盘分区后,grub找不到原来的位置,转到grub-rescu了

grml iso急救系统

参考: