Linux GRUB更新及其他可引导分区造成的报错解决方案(保姆级教程)
当GRUB启动时,它会执行os-prober并将检测到的其他系统添加到GRUB引导菜单中,以便你可以选择引导到这些系统。那直接改成false就行,我电脑是注释#掉的,而且还是false,但是理论上他不会执行检测引导分区,但是我偏偏不,我看的明明注释掉了,但是还是报错,那么我告你个好办法,你用mousepad,这个跟Windows系统的记事本大同小异,几乎是一样的,怎么安装mousepad?然而,在
要在Kali Linux上更新GRUB引导程序,可以按照以下步骤操作:
-
打开终端,输入以下命令以获取管理员权限:
sudo su
-
更新系统软件包列表,可以使用以下命令:
apt update
-
安装GRUB更新工具,输入以下命令:
apt install grub2-common
-
运行以下命令更新GRUB引导程序:
update-grub
-
更新过程可能需要一些时间,它将扫描系统中的所有操作系统和内核。完成后,将在终端中看到一条消息,表示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
-
重新启动系统,以确保更新后的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引导菜单中。
要解决这个问题,可以按照以下步骤操作:
-
打开终端,输入以下命令以获取管理员权限:
sudo su
-
编辑GRUB配置文件
/etc/default/grub
,输入以下命令:nano /etc/default/grub
本人目前还是学生,就是kali瞎捣鼓捣鼓玩玩,我技术渣勿喷,我是真不会用这些感觉很反人类的文本编辑器吧算是,要么用vim要么用nano这俩玩意我是真不会用,不知道咋保存,我感觉设计的很反人类,这仅仅我个人的观点,那么我告你个好办法,你用mousepad,这个跟Windows系统的记事本大同小异,几乎是一样的,怎么安装mousepad?看文章最后边!
-
在打开的文件中找到名为
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"
-
将其值设置为
false
。修改后的行应该类似于这样:GRUB_DISABLE_OS_PROBER=false
注意啊,看好喽,有的人默认的是true!那直接改成false就行,我电脑是注释#掉的,而且还是false,但是理论上他不会执行检测引导分区,但是我偏偏不,我看的明明注释掉了,但是还是报错,所以网上有说直接注释掉的,但是我发现注释了没用,还是一样的报错,所以还是建议大家该删注释的删注释,该改false的老老实实改false!!直接改成我这样的:GRUB_DISABLE_OS_PROBER=false
-
保存文件并关闭编辑器。(如果是mousepad的话点左上角的文件,再点保存,跟Windows的记事本是一样的保存)
-
运行以下命令以重新生成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
恭喜你更新成功!!!
-
重新启动系统,新配置将使GRUB检测并添加其他可启动的分区。
***再讲讲怎么安装mousepad
-
打开终端。
-
运行以下命令以更新软件包列表和依赖关系:
sudo apt update
-
运行以下命令以安装Mousepad:
sudo apt install mousepad
-
安装完成后,可以在应用程序菜单中找到Mousepad,并从那里启动
更多推荐
所有评论(0)