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

这只发生在我的一台计算机上。 这是一台拥有多种操作系统的历史悠久且历史悠久的老年笔记本电脑,但在退休之后,它使用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. 

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

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

但是,如果你想摆脱这个,你需要擦除扇区32.要做到这一点,你有很多选择:

一个。 擦拭整个硬盘;

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

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

为此,请按照以下步骤操作:

  1. 备份你的MBR:

     sudo dd if=/dev/sda of=~/first_63_sectors bs=512 count=63 
  2. 零行业编号32:

     sudo dd if=/dev/zero of=/dev/sda bs=512 count=1 seek=32 
  3. chroot并重新安装grub:

     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* 

    PS:用适当数量的hdd替换*

    现在更新您的grub:

     sudo update-grub 

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

我找到了几个有用的链接来解释消息的内容,以及如何清除磁盘上的引导扇区。 该线程对该问题给出了非常好的解释。 这个post提供了一个很好的简单食谱配方来清理东西。

这本食谱对我来说很有用,虽然我弄得一团糟……(见下文)

我很幸运,我的计算机是单启动的,我没有计划重新安装Windows。 但似乎如果您的双启动Windows系统使用的是使用FlexNet或类似软件的软件,您可能会遇到常见问题。 另外我认为一些Windows病毒可能会使用磁盘的这一部分。 第一个线程讨论为Ubuntu用户提供了一个解决方案,用于在live-CD USB Booter上安装一个名为boot-repair的应用程序。

我还发现,当出现问题时,上面提到的启动修复程序非常有价值。 恕我直言这是非常有用的,默认情况下它应该在Live CD上。 看到这个链接 。

使用实时DVD / USB减少CLI输入

这是一种使用现场DVD或实时USB进行较少命令行输入的方法。

  1. 启动进入实时会话(=选择尝试(X)Ubuntu)。
  2. 使用lsblk命令显示所有驱动器分区。

     NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 298.1G 0 disk ├─sda1 8:1 0 512M 0 part /boot ├─sda2 8:2 0 4.5G 0 part [SWAP] ├─sda3 8:3 0 44G 0 part / └─sda4 8:4 0 249.1G 0 part /home sr0 11:0 1 1024M 0 rom 

    确保您定位受影响的驱动器(此处为sda )。

  3. 使用GRUB报告的扇区号(此处为扇区32 )从受影响的驱动器(此处为/dev/sda )中删除FlexNet

     $ sudo dd if=/dev/zero of=/dev/sda bs=512 count=1 seek=32 

    无需备份扩展引导记录(EBR)中通常为空的部分。

  4. 现在,安装通常用于引导的受影响驱动器的分区(此处为/dev/sda1 )。

     $ sudo mount /dev/sda1 /mnt 
  5. 最后,在受影响的驱动器上重新安装GRUB:

     $ sudo grub-install --boot-directory=/mnt /dev/sda 

    现在应该在没有任何警告的情况下安装GRUB。

  6. 您现在可以安全地从已消毒的硬盘驱动器重新启动。