windows 10和ubuntu双启动

我们在安装ubuntu和Windows 8时面临的安装ubuntu和Windows 10时会遇到同样的问题吗? 微软修好了吗?

让我写一些问题来帮助其他可能遇到同样问题的人。

我的电脑预装了Windows 8,所以我缩小了Windows分区,为Ubuntu腾出空间。 它是如何运作的去年。

在Windows 10升级中第二次重新启动后,计算机无法再启动。 grub只显示了一个grub rescue命令提示符。 我后来发现问题的发生是因为windows以某种方式改变了分区方案。 启动分区不再是grub所期望的。 我不知道这是怎么发生以及为什么发生的。

首先,你可以做的是用“ls”查看grub rescue中的分区。 我的是(hd0,gpt1),(hd0,gpt2)等。试着找出你的启动分区是哪个分区。 我尝试了以下命令,直到找到正确的分区:

ls (hd0,gpt1)/ ls (hd0,gpt1)/boot ls (hd0,gpt2)/ 

等等

然后在grub rescue提示符下键入set 。 它将显示grub查找其文件的位置。 在我的情况下(hd0,gpt6)已移至(hd0,gpt7)。 显示的set命令:

 prefix=(hd0,gpt6)/boot/grub root=hd0,gpt6 

将前缀和根设置更改为指向正确的分区。 在我的情况下命令是:

 set prefix=(hd0,gpt7)/boot/grub set root=(hd0,gpt7) 

然后从救援切换到正常模式:

 insmod normal normal 

你应该得到正常的grub菜单。 从现在开始,您可以启动Windows并完成Windows升级。 问题是你必须在每次重启时告诉grub救援关于正确的分区。 这就是我做到的。 我之后留下了grub的问题,因为我不确定Windows是否会对分区或引导进行更多更改。

Windows完成后,我开始解决grub问题。 按“e”编辑Ubuntu的启动选项。 我将所有(hd0,gpt6)更改为(hd0,gpt7)并启动了Ubuntu。 但是,我使用加密分区和cryptswap。 在启动时,Ubuntu问我密码。 幸运的是,我在Ubuntu的安装中保存了它并在启动时输入了它。 Ubuntu启动没有问题。 我更正了/boot/grub/grub.cfg,我用(hd0,gpt7)替换了(hd0,gpt6)并执行了sudo grub-install

现在它只是加密。 由于根Ubuntu分区被提升为1(7中的6),因此交换分区也发生了类似的变化。 我不得不将/ etc / crypttab文件更改为指向/ dev / sda8而不是/ dev / sda7。

我只为Ubuntu使用了两个分区(root和swap)。 如果与Windows共存的其他操作系统使用更多分区,则可能需要进行更多更改。 特别是如果分区是根据它们的数量安装而不是根据它们的UUID安装的。 看看你的/ etc / fstab。 如果分区由UUID标识,则应该没有问题。 但如果有/ dev / …行,如果更改了数字,则应该更正。

我相信rEFInd Boot Manager适用于此:

http://www.rodsbooks.com/refind/

以下是一些需要考虑的其他引导加载程序:

https://en.wikipedia.org/wiki/Comparison_of_boot_loaders