Grub 提供有关其他软件正在使用的引导扇区的消息。我该怎么办?

Bob*_*ble 21 boot grub2

这只发生在我的一台电脑上。这是一台老式笔记本电脑,在多个操作系统上有着悠久而多样的历史,但在退役后,它使用 Ubuntu 12.04 充当我家庭网络的服务器。它是一个单启动系统,没有安装其他系统。每隔一段时间,每当有 grub 升级时,我都会注意到这样的消息:

Setting up grub-common (1.99-21ubuntu3.4) ...
Installing new version of config file /etc/grub.d/00_header ...
Setting up grub2-common (1.99-21ubuntu3.4) ...
Setting up grub-pc-bin (1.99-21ubuntu3.4) ...
Setting up grub-pc (1.99-21ubuntu3.4) ...
/usr/sbin/grub-setup: warn: Sector 32 is already in use by FlexNet; avoiding it.  This software may cause boot or other problems in future.  Please ask its authors not to store data in the boot track.
Installation finished. No error reported.
Run Code Online (Sandbox Code Playgroud)

我应该担心这个吗?我应该怎么做(如果有的话)?

小智 26

这没什么大不了的,因为没有报告错误,所以只是警告。

但是,如果你想摆脱这个,你需要擦除扇区 32。为此你有很多选择:

一种。擦除整个硬盘;

湾 将零写入 MBR 中的整个扇区并重新安装 grub;

C。将零写入 MBR中的第32 扇区(这就是我们在这里要做的)。

为此,请执行以下步骤:

  1. 备份您的 MBR:

    sudo dd if=/dev/sda of=~/first_63_sectors bs=512 count=63
    
    Run Code Online (Sandbox Code Playgroud)
  2. 将您的扇区编号 32 清零:

    sudo dd if=/dev/zero of=/dev/sda bs=512 count=1 seek=32
    
    Run Code Online (Sandbox Code Playgroud)
  3. chroot 并重新安装 grub: 这里的“/media”应该是您选择的挂载点。一些分步说明使用“/mnt”而不是“/media”。

    sudo mount /dev/sda* /media/sda*
    
    sudo mount --bind /dev /media/sda*/dev
    
    sudo mount --bind /proc /media/sda*/proc
    
    sudo mount --bind /sys /media/sda*/sys
    
    sudo chroot /media/sda*
    
    Run Code Online (Sandbox Code Playgroud)

    PS:将 * 替换为适当的硬盘编号

    现在更新你的 grub:

    sudo update-grub
    
    Run Code Online (Sandbox Code Playgroud)

注意:您没有义务执行这些步骤,因为它不是可能影响您系统的错误。