如何消除加载 Kali Linux 时的双声提示音?

如何消除加载 Kali Linux 时的双声提示音?

我按照官方网站上的说明将 Kali Linux 安装为 Live USB:

sudo dd if=kali-linux-2022.4-live-amd64.iso of=/dev/sda bs=4M conv=fsync status=progress

当我启动 Kali Linux 时,我听到两声蜂鸣声。这是非常响亮的,我觉得这是不可接受的。起初我以为是我的硬件或驱动程序有问题。然而,事实证明 Kali Linux 默认情况下就是这样的(这是噩梦)。

然后我试图找出如何摆脱这种行为。我找到了注释掉/boot/grub/config.cfgLive USB中两行的信息:

insmod play
play 960 440 1 0 0 4 440 1

然而,事实证明,在我的主系统上,Live USB 是以只读权限安装的,并且没有办法改变这一点。

然后我决定尝试更改原始 ISO 映像中的这些行。为此,我安装了该文件:

sudo mount -o loop kali-linux-2022.4-live-amd64.iso /media/iso

将 ISO 映像的全部内容复制到目录中:

cp -r /media/iso/ kali-linux

然后我修改了文件/boot/grub/config.cfg;更新校验和文件以防万一;重建 ISO 映像:

mkisofs -o kali-linux.iso kali-linux/

接下来,我再次将ISO镜像下载到U盘:

sudo dd if=kali-linux.iso of=/dev/sda bs=4M conv=fsync status=progress

但是,经过此类操作后,无法从闪存驱动器启动:它根本不在可启动列表中。

显然,我以某种方式错误地组装了 ISO 映像。请告诉我如何正确构建它。一般来说,也许您知道一种更简单的方法来消除这种声音?

PS 我在 Linux 下工作,想知道如何通过 CLI 解决我在 Linux 上的问题。所以我提前说 - 不建议使用 Rufus :)

答案1

快速而肮脏的方法……就是hexedit这样!将其注释掉而不更改任何字节偏移量,即使其长度相同,例如更改play 960#### 960。这种方法的唯一问题是,如果有人检查校验和/签名,它们将不再匹配。

原来的:

~ # mount -o loop kali-linux-2022.4-live-amd64.iso{,.loop}
~ # grep -C 1 play kali-linux-2022.4-live-amd64.iso.loop/boot/grub/config.cfg
# Comment these two lines out to disable the beep on boot
insmod play
play 960 440 1 0 4 440 1

hexedit 或 sed 或 awk 或其他:

~ # sed -e 's/insmod play/#nsmod play/' \
        -e 's/play 960/#lay 960/' \
    < kali-linux-2022.4-live-amd64.iso \
    > kali-nobeep-linux-2022.4-live-amd64.iso

已修补:

~ # mount -o loop kali-nobeep-linux-2022.4-live-amd64.iso{,.loop}
~ # grep -C 1 play kali-nobeep-linux-2022.4-live-amd64.iso.loop/boot/grub/config.cfg
# Comment these two lines out to disable the beep on boot
#nsmod play
#lay 960 440 1 0 4 440 1

验证这是唯一的更改:

~ # cmp -l kali-linux-2022.4-live-amd64.iso kali-nobeep-linux-2022.4-live-amd64.iso
5153011 151  43
5153023 160  43

这不是一个很好的修补文件的方法,但有时它可以。

相关内容