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


19

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

我应该为此担心吗?我该怎么办(如有)?


1
仅供参考,“ FlexNet”由Flexera软件编写,用于跟踪许可证。
holmis83

我不知道Google何时计划在其搜索结果中首先显示最受好评的答案 ...
user10089632 '18

@ user10089632不确定您的评论针对的是什么?您链接的答案是一个完全不同的问题。也许您需要与Google交流,但是否则我无法为您提供帮助,因为我不知道您使用的是什么搜索字词。
Bobble

Answers:


25

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

但是,如果您希望摆脱这种情况,则需要擦除扇区32。要执行此操作,您有多种选择:

一种。擦拭整个硬盘;

b。将零写入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:将*替换为您的硬盘的适当数量

    现在更新您的grub:

    sudo update-grub
    

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


谢谢maythux。有关此问题的更多信息,请
参阅

我认为您是对的,这里有一个选项,“但不要打扰”,但与此同时,我认为警告仍然存在,因为将来引起问题,因此最好消除它。
Bobble 2012年

不客气,我已经阅读了您的答案,您应该得到+1

这对我没有用。我想即使这个。我仍然与grub引导加载程序打招呼。
machineaddict 2014年

谢谢,但是我没有完成整个过程3。我只在过程1和2之后执行了过程3中的“ sudo update-grub”。是否需要“ sudo mount ...”?
微笑

2

我找到了几个有用的链接,这些链接解释了消息的含义以及如何清除磁盘上的引导扇区。 该线程很好地解释了问题。 该线程提供了一个不错的简单食谱来清理内容。

菜谱对我有用,尽管我把乱七八糟的东西弄得一团糟……(见下文)

我在我的电脑是单启动幸运,我没有计划EVER重新安装Windows。但是,如果您的双引导Windows系统具有使用FlexNet或类似软件的软件,则可能会遇到常规问题。我也认为某些Windows病毒可能会使用磁盘的这一部分。第一个线程讨论为Ubuntu用户提供了一个解决方案,可在您的live-CD USB启动器上安装一个名为boot-repair的应用程序。

当出现问题时,我还发现上述启动修复程序非常宝贵。恕我直言,这是如此有用,默认情况下应在Live CD上。请参阅此链接


0

使用实时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报告的扇区号(此处为扇区),从受影响的驱动器(此处为)中删除FlexNet/dev/sda32

    $ 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. 现在,您可以安全地从已消毒的硬盘驱动器重新启动。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.