AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1142016
Accepted
Ray
Ray
Asked: 2019-05-10 22:30:52 +0800 CST2019-05-10 22:30:52 +0800 CST 2019-05-10 22:30:52 +0800 CST

双启动 Windows 7 和 Ubuntu 19.04

  • 772

我不是创建双引导系统的初学者,但我想我还有很多东西要学,因为我已经在当前系统上苦苦挣扎了好几天。

我从占用两个物理磁盘的 Windows 7 系统开始。我拿了第二个,把它做成了一个 Ubuntu 系统。目前,它看起来像这样:

/dev/sda1     NTFS    (labeled as "system reserved")
/dev/sda2     NTFS    Windows 7
/dev/sda3     NTFS    (Data for Windows 7 system to access)

/dev/sdb1     FAT32   Mounted on /boot/efi (flags "boot" and "esp")
/dev/sdb3     Ext4    Mounted on /

(有一个 /dev/sdb2,但我将其删除并合并到 /dev/sdb3 中gparted。)

我安装了 Ubuntu 19.04,它运行良好。但是我无法启动到 Windows 7。我想将 Windows 7 添加到 grub 菜单或至少访问它;我现在连那个都做不到。

所以,我尝试了以下方法:

  • 运行sudo update-grub。
  • sudo os-prober挂载 /dev/sda2 后运行。
  • 在计算机上运行boot-repair,​​也可以使用可启动的活动磁盘。
  • 运行grub-customizer。

它们都不起作用。

对于boot-repair,我尝试了几种方法,例如“重新安装 GRUB”和“恢复 MBR”。如果我执行“推荐修复”,我得到“检测到 GPT。请创建一个 BIOS-Boot 分区(>1 MB,未格式化的文件系统,...)。...或者,您可以在激活 [Separate /引导/efi 分区:] 选项。” 在其他系统上运行boot-repair多年后,这是我第一次看到这个消息。

使用grub-customizer,它为 /dev/sda2 (Chainloader) 创建了这些行:

set root='(hd0,2)'
search --no-floppy --fs-uuid --set XXX
drivemap -s (hd0) ${root}
chainloader +1

当我重新启动时,我收到诸如“没有这样的设备:XXX”、“找不到命令驱动器映射”和“找不到磁盘 hd0,2”之类的错误。

在我用其他计算机遇到这个问题的所有时间中,我想这是我遇到的最古老的。(毕竟它有 Windows 7。)同样,BIOS 也很旧。所以,这难倒我。我也有点担心我有一些如何破坏(Windows)系统。我尝试了“恢复 MBR”选项boot-repair并将 MBR 写入 /dev/sda2 ,但我仍然无法启动到 Windows - 它grub改为进入。(当我意识到这一点时,我想我需要向其他人寻求帮助......现在感觉很糟糕。)

Ubuntu 端是全新安装的,如果我需要以某种方式破坏它以撤消我为使其双启动而犯的错误,我可以接受。

任何人都可以就我应该尝试什么提供建议吗?正如我老实猜测的那样,我确信答案就在我面前,但是一些关于我应该尝试什么的建议,也许订单会有所帮助。

grub2 boot dual-boot windows-7 19.04
  • 1 1 个回答
  • 770 Views

1 个回答

  • Voted
  1. Best Answer
    mook765
    2019-05-11T08:24:14+08:002019-05-11T08:24:14+08:00

    引导模式(传统与 EFI)很重要。Grub 不能在不同的引导模式下链式加载引导加载程序,因此要实现正确的多重引导,所有操作系统必须安装在相同的引导模式下。在错误的引导模式下安装似乎是一个常见的错误。

    从问题中的少量信息来看,我不能 100% 确定,但看起来您的 Windows 安装在传统模式下,而 Ubuntu 似乎安装在 EFI 模式下。

    您可以通过不同的方式解决此问题,一种方法是以旧模式重新安装 Ubuntu。您必须确保以传统模式启动安装程序,仅此而已。

    另一种方法是仅重新安装引导加载程序 (Grub)。只需启动到您安装的 Ubuntu(在 EFI 模式下)并运行

    sudo apt update
    sudo apt install grub-pc
    

    这将删除grub-efi(Grub 的 EFI 版本)并安装grub-pc(Grub 的 BIOS 版本)。在安装过程中,系统会询问您将引导加载程序放在哪里。这很有趣,因为您有多个磁盘,并且您不需要覆盖应该驻留在sda. 所以你应该把 Grub 放在sdb. 然后在 BIOS 中检查引导顺序。额外的清理不是绝对必要的,但删除关于/boot/efifrom的行/etc/fstab是有道理的,它不再需要了。

    你应该知道的另一件事:

    如果您要放置 Grub 的磁盘使用 GPT,您需要创建一个带有 bios-boot 标志的小 (2MB) 分区并保持未格式化(无文件系统)。Grub'score.img将被放置在那里。

    • 0

相关问题

  • 如何在 Windows 7 中运行 Ubuntu?

  • 如何从双启动计算机访问加密的主文件夹?

  • 如何在 Ubuntu 启动时显示或隐藏启动消息?

  • 如何避免启动时出现“S to Skip”消息?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve