我如何知道我是否有一个单独的启动分区?

我如何知道我是否有一个单独的启动分区?

我的笔记本电脑上安装了 Ubuntu 16.10,我计划与 Windows 7 进行双启动。问题是,安装 Windows 7 后,它会破坏 GRUB。我需要知道我是否有单独的启动分区,以便我可以使用 Ubuntu live USB 将 GRUB 恢复到正确的位置。

这是来自 GParted 的图片。sda3是我为 Windows 7 创建的分区。

在此处输入图片描述

答案1

您没有任何单独的/boot分区。

  • /dev/sda1是您的 Ubuntu 根分区(挂载点/,其中包括未从其他任何地方挂载的所有文件夹,包括/boot您的情况)

  • Windows 中的/dev/sda2 and/dev/sda3 are partitions for Windows, the small one is probably going to be the hidden system partition while the big one will show up as yourC:` 驱动器。

  • /dev/sda4不是用于数据的“真实”分区,而是所谓的“扩展分区”,这意味着它只是一个可以容纳任意数量逻辑卷(其行为再次与普通分区类似)的容器。需要扩展分区是因为 msdos/MBR 分区表只能有 4 个主分区或 3 个主分区和一个扩展分区(包含任意数量的逻辑分区)。

  • /dev/sda5是您的 Linux 交换分区,用于在 RAM 已满时将内存页面从 RAM 中交换出去。

但是,要使用 GRUB 进行引导,您必须将其安装到磁盘 ( /dev/sda) 而不是任何分区,例如使用sudo grub-install /dev/sda。这应该从磁盘上运行的 Ubuntu 安装(这是不可能的,因为您需要先恢复 GRUB)或从实时 Ubuntu 环境到已安装的 Ubuntu 分区来完成chroot。它的工作原理如下:

  1. 启动 Ubuntu Live DVD 或 USB 驱动器。应与安装的 Ubuntu 具有相同的架构(32/64 位),最好是相同的版本。选择“无需安装即可试用 Ubuntu”。
  2. 打开终端(++ Ctrl)并运行以下命令来挂载你的 Ubuntu 分区并将其放入其中:AltTchroot

    sudo mount /dev/sda1 /mnt
    for x in /dev /dev/pts /proc /sys ; do sudo mount --bind "$x" "/mnt/$x" ; done
    sudo chroot /mnt
    
  3. 您的终端提示现在应该已经改变了,因为您现在以 root 用户身份登录到磁盘上的 Ubuntu 安装(而不是实时系统)的 shell 会话中。在此处输入以下命令将 GRUB 重新安装到磁盘。请注意,sudo出于这个原因,我们不需要此处。此外,第二个命令可能可以省略,但这并没有什么坏处:

    grub-install /dev/sda
    update-grub
    
  4. chroot通过键入exit或按Ctrl+再次退出会话D。再次卸载所有已安装的分区:

    sudo umount -R /mnr
    
  5. 退出终端并从磁盘重新启动,弹出您启动的实时媒体。

相关内容