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

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

这种情况只发生在我的一台电脑上。这是一台老旧的笔记本电脑,使用过多种操作系统,历史悠久,功能多样,但在退役后,它使用 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

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

但是,如果您希望摆脱它,则需要擦除第 32 扇区。为此,您有多种选择:

a. 擦除整个硬盘;

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: 此处的“/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*
    

    PS: 将 * 替换为你的硬盘的相应编号

    现在更新你的 grub:

    sudo update-grub
    

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

答案2

我找到了一些有用的链接,它们解释了该消息的含义以及如何清除磁盘上的引导扇区。 此主题对这个问题给出了很好的解释。 此主题给出了一本简单易懂的清洁食谱。

这本食谱对我来说很有用,尽管我把 chrooting 位弄得一团糟……(见下文)

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

我还发现,当出现问题时,上面提到的启动修复程序非常有用。在我看来,它非常有用,应该默认安装在 Live CD 上。请参阅此链接

答案3

使用实时 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. 消除柔性网络从受影响的驱动器(此处/dev/sda),使用报告的扇区号GRUB(此处为部门32):

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

相关内容