要在Kali Linux上更新GRUB引导程序,可以按照以下步骤操作:

  1. 打开终端,输入以下命令以获取管理员权限:

    sudo su

  2. 更新系统软件包列表,可以使用以下命令:

    apt update

  3. 安装GRUB更新工具,输入以下命令:

    apt install grub2-common

  4. 运行以下命令更新GRUB引导程序:

    update-grub

  5. 更新过程可能需要一些时间,它将扫描系统中的所有操作系统和内核。完成后,将在终端中看到一条消息,表示GRUB已成功更新。(如下图)

    ┌──(root💀kali)-[~]
    └─# sudo update-grub
    Generating grub configuration file ...
    Found theme: /boot/grub/themes/kali/theme.txt
    Found background image: /usr/share/images/desktop-base/desktop-grub.png
    Found linux image: /boot/vmlinuz-6.3.0-kali1-amd64
    Found initrd image: /boot/initrd.img-6.3.0-kali1-amd64
    Found linux image: /boot/vmlinuz-6.1.0-kali9-amd64
    Found initrd image: /boot/initrd.img-6.1.0-kali9-amd64
    Warning: os-prober will be executed to detect other bootable partitions.
    Its output will be used to detect bootable binaries on them and create new boot entries.
    done

  6. 重新启动系统,以确保更新后的GRUB引导程序生效:

    reboot

但是想象很美好,现实很骨感.......

比如我更新,他就报错下面的话: 

┌──(root💀kali)-[~]
└─# update-grub
Generating grub configuration file ...
Found theme: /boot/grub/themes/kali/theme.txt
Found background image: /usr/share/images/desktop-base/desktop-grub.png
Found linux image: /boot/vmlinuz-6.3.0-kali1-amd64
Found initrd image: /boot/initrd.img-6.3.0-kali1-amd64
Found linux image: /boot/vmlinuz-6.1.0-kali9-amd64
Found initrd image: /boot/initrd.img-6.1.0-kali9-amd64
Warning: os-prober will not be executed to detect other bootable partitions.
Systems on them will not be added to the GRUB boot configuration.
Check GRUB_DISABLE_OS_PROBER documentation entry.
done

讲讲更新这是在犯什么病: 

警告消息显示os-prober未执行,这可能导致其他可引导分区的系统未被添加到GRUB引导配置中。

在GRUB引导配置文件/etc/default/grub中,有一个名为GRUB_DISABLE_OS_PROBER的选项。这个选项控制GRUB是否执行os-prober工具来检测其他可引导的分区。

os-prober是一个用于检测系统中其他操作系统和可引导分区的工具。当GRUB启动时,它会执行os-prober并将检测到的其他系统添加到GRUB引导菜单中,以便你可以选择引导到这些系统。

然而,在某些情况下,你可能希望禁用os-prober,例如仅使用单个操作系统引导,或者因其他原因选择不检测其他系统。

因此,在GRUB配置文件中,该选项的值被设置为true(默认值)时,os-prober将会被禁用。如果你将其注释掉或将其值设置为false,则os-prober将会被启用,并且其他可引导的系统将被添加到GRUB菜单中。

通过修改GRUB_DISABLE_OS_PROBER选项,你可以启用os-prober并确保其他可引导系统正确添加到GRUB引导菜单中。

要解决这个问题,可以按照以下步骤操作:

  1. 打开终端,输入以下命令以获取管理员权限:

    sudo su

  2. 编辑GRUB配置文件/etc/default/grub,输入以下命令:

    nano /etc/default/grub

    本人目前还是学生,就是kali瞎捣鼓捣鼓玩玩,我技术渣勿喷,我是真不会用这些感觉很反人类的文本编辑器吧算是,要么用vim要么用nano这俩玩意我是真不会用,不知道咋保存,我感觉设计的很反人类,这仅仅我个人的观点,那么我告你个好办法,你用mousepad,这个跟Windows系统的记事本大同小异,几乎是一样的,怎么安装mousepad?看文章最后边!

  3. 在打开的文件中找到名为GRUB_DISABLE_OS_PROBER的行(就比如我的是在第17行

    # If you change this file, run 'update-grub' afterwards to update
    # /boot/grub/grub.cfg.
    # For full documentation of the options in this file, see:
    #   info -f grub -n 'Simple configuration'
    
    GRUB_DEFAULT=0
    GRUB_TIMEOUT=5
    GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
    GRUB_CMDLINE_LINUX_DEFAULT="quiet"
    GRUB_CMDLINE_LINUX=""
    
    # If your computer has multiple operating systems installed, then you
    # probably want to run os-prober. However, if your computer is a host
    # for guest OSes installed via LVM or raw disk devices, running
    # os-prober can cause damage to those guest OSes as it mounts
    # filesystems to look for things.
    # GRUB_DISABLE_OS_PROBER=false
    
    # Uncomment to enable BadRAM filtering, modify to suit your needs
    # This works with Linux (no patch required) and with any kernel that obtains
    # the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
    # GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"
    (@@@@@@@@@@@@@@在上边!!!!!!看清楚了!!!!!!别找不见!!!!!!@@@@@@@)
    
    # Uncomment to disable graphical terminal
    # GRUB_TERMINAL=console
    
    # The resolution used on graphical terminal
    # note that you can use only modes which your graphic card supports via VBE
    # you can see them in real GRUB with the command `vbeinfo'
    # GRUB_GFXMODE=640x480
    
    # Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
    # GRUB_DISABLE_LINUX_UUID=true
    
    # Uncomment to disable generation of recovery mode menu entries
    # GRUB_DISABLE_RECOVERY="true"
    
    # Uncomment to get a beep at grub start
    # GRUB_INIT_TUNE="480 440 1"

  4. 将其值设置为false。修改后的行应该类似于这样:

    GRUB_DISABLE_OS_PROBER=false

    注意啊,看好喽,有的人默认的是true!那直接改成false就行,我电脑是注释#掉的,而且还是false,但是理论上他不会执行检测引导分区,但是我偏偏不,我看的明明注释掉了,但是还是报错,所以网上有说直接注释掉的,但是我发现注释了没用,还是一样的报错,所以还是建议大家该删注释的删注释,该改false的老老实实改false!!直接改成我这样的:GRUB_DISABLE_OS_PROBER=false

  5. 保存文件并关闭编辑器。(如果是mousepad的话点左上角的文件,再点保存,跟Windows的记事本是一样的保存

  6. 运行以下命令以重新生成GRUB配置文件:

    update-grub

    然后我这里就显示:

    ┌──(root💀kali)-[~]
    └─# sudo update-grub
    Generating grub configuration file ...
    Found theme: /boot/grub/themes/kali/theme.txt
    Found background image: /usr/share/images/desktop-base/desktop-grub.png
    Found linux image: /boot/vmlinuz-6.3.0-kali1-amd64
    Found initrd image: /boot/initrd.img-6.3.0-kali1-amd64
    Found linux image: /boot/vmlinuz-6.1.0-kali9-amd64
    Found initrd image: /boot/initrd.img-6.1.0-kali9-amd64
    Warning: os-prober will be executed to detect other bootable partitions.
    Its output will be used to detect bootable binaries on them and create new boot entries.
    done

    恭喜你更新成功!!!

  7. 重新启动系统,新配置将使GRUB检测并添加其他可启动的分区。

***再讲讲怎么安装mousepad 

  1. 打开终端。

  2. 运行以下命令以更新软件包列表和依赖关系:

    sudo apt update

  3. 运行以下命令以安装Mousepad:

    sudo apt install mousepad
  4. 安装完成后,可以在应用程序菜单中找到Mousepad,并从那里启动

Logo

更多推荐