首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何正确引导openSUSE和Windows 10

如何正确引导openSUSE和Windows 10
EN

Unix & Linux用户
提问于 2016-10-15 12:26:04
回答 4查看 34.8K关注 0票数 2

我有一个关于双引导openSUSE和Windows的问题.

我想在我的机器上安装Windows 42.1和Windows10,有办法使用openSUSE引导程序吗?

我试过几次,但确实有两种结果: SUSE无论如何劫持了引导进程,或者让我的PC无法启动(在SUSE上安装Xubuntu使它再次启动,然后将窗口放回MBR中,让xubuntu无法启动,但是嘿,windows再次引导)

我需要设置哪些选项(或未设置)?在SUSE安装程序中实现这一点吗?

顺便说一句:这是我当前的分区设置:

代码语言:javascript
运行
复制
350MB       Windows Boot Partition          NTFS
380GB       Windows Install Partition       NTFS
90GB        Linux Extended partition
25GB        Linux Root Partition            ext4
60GB        Linux home Partition            XFS
3GB         Linux Swap Partition            swap
450MB       Windows Recovery Partition

您会问,为什么要使用windows引导程序?

嗯,我真的需要windows (MultiSim,Xilinx设计套件,.),几乎每天都是如此,所以我不能把我的引导加载程序搞砸,因为我在修改它。这就是为什么我想让windows引导程序来负责。我不能搞砸它,如果我搞砸了我的Linux,当然我会重新安装,但是windows始终是可引导的。

EN

回答 4

Unix & Linux用户

发布于 2016-10-16 01:07:44

对于每一个问同样问题的人,我把它写下来,这就是:

步骤1:准备工作:

安装EasyBCD。使用EasyBCD,您将备份您的windows启动配置。

不要跳过这一步,如果您不备份此配置,您的系统可能会呈现不可引导的状态。(相信我,恢复一台无法启动的电脑并不有趣,因为你知道明天你需要它)

步骤2:分区:

您需要添加另一个分区,这将是您的/boot分区。我把它放在扩展Linux分区的前面。我的分区大小约为512 My,分区为ext2。

步骤3:安装openSUSE:

接下来,安装openSUSE。请确保不要安装到MBR,并将引导代码写入您的/boot分区。

第四步:让Windows重新掌权:

现在我们将再次让Windows负责,在安装openSUSE之后重新启动您的系统。这应该引导GRUB,选择“/dev/sdaX上的Windows 10加载程序”。现在,使用EasyBCD恢复MBR,还可以选择windows引导驱动器/分区作为系统的引导驱动器/分区。如果您现在重新启动,您应该直接引导到Windows。现在,您可以添加一个新的启动条目。确保选择GNU/Linux选项卡。保持自动检测分区对我有效,但您应该能够手动选择一个分区。一定要给它取个合适的名字。

第五步:大结局:

现在应该设置dualboot系统,继续重新启动,您将看到windows引导程序,它可以继续加载Windows,也可以链式加载GRUB。

注意:使用Windows引导加载程序的双引导使引导Linux的速度比引导Windows慢得多。这是因为Windows在选择不属于Windows的操作系统后执行重新引导。如果启动速度对你很重要,我建议你让GRUB负责。

票数 2
EN

Unix & Linux用户

发布于 2016-10-16 14:36:02

通常您不需要设置任何东西,GRUB是为了探测硬盘中的其他操作系统并将它们添加到菜单项中,甚至windows恢复分区也应该出现在那里。因此,当您安装了所有其他系统时,您就可以安装openSUSE,并且可以通过GRUB的菜单开机启动系统中的任何其他可引导的东西。

如果由于某种原因,GRUB的菜单上没有显示"Windows 10“,请尝试如下:

1)在openSUSE中,转到窗口"Bootloader设置“窗口上的"Yast >Bootloader”,单击选项卡“Bootloader Options”,检查是否选择了“探测外部操作系统”选项,如果不选择,则单击“确定”,GRUB将重新运行其配置,然后重新启动系统。当您启动pc时,其他操作系统应该出现在Grub的菜单条目中。

2)如果上述操作不起作用,您可以在GRUB的菜单中手动设置"Windows 10“分区的条目。(我自己在openSUSE Leap 42.1中使用这个!)

作为根用户,编辑文件/etc/grub.d/40_custom,如下所示:

代码语言:javascript
运行
复制
#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.

menuentry "Windows 10" {
    set root='(hd0,gpt2)'
    chainloader /EFI/microsoft/BOOT/Windows.efi
}

在菜单项中,您必须为以下内容设置windows分区的信息:hd0 =硬盘驱动器的名称,可能与这里相同;gpt2 =引导分区,您可能是gpt1 (如果您没有使用gpt分区1而不是gpt1,则该数字按照硬盘驱动器中分区的顺序排列;chainloader = windows efi引导加载程序所在的位置。我在引导文件夹中复制了/boot/efi/EFI/Microsoft/Boot/bootmgfw.efi,并将其重命名为"Windows.efi“。注意,在链加载器地址中,不需要初始的/boot/efi/。保存文件并关闭它。

现在,您需要将此更改告诉GRUB,方法是以root方式运行该命令:

# grub2-mkconfig -o /boot/grub2/grub.cfg

这将在完成重新启动系统时用新条目重新配置GRUB。您应该能够从GRUB的菜单中启动"Windows 10“。通过提供正确的地址和所需的信息,上面提供的菜单条目也适用于其他系统。

票数 1
EN

Unix & Linux用户

发布于 2019-04-25 06:51:33

2019年更新!我受了很多苦,所以我认为会有更多的贡献。

我在笔记本上安装了suse 15之后,我的windows引导项就消失了。

恢复过程!

  1. 确认您的efi windows分区仍处于活动状态,在您的HDD linux-ifbe:~ # bootctl状态的某些位置。

文件系统"/boot/ EFI“对于EFI系统分区(ESP)有错误的类型。系统:固件: n/a ( n/a )安全启动:禁用安装模式:安装当前加载程序:产品: n/a ESP :n/a文件:└─n/a Boot二进制文件: ESP:无法找到或访问ESP的安装点。EFI变量中的引导加载程序条目:标题:sled: 0x0000状态:活动,引导顺序分区: /dev/disk/by-partuuid/493e9e82-b2e9-4201-a856-5df63869a4bf文件:└─/EFI/ sles /grubx64.efi标题:sled secureboot ID: 0x0006状态: active,引导顺序分区: /dev/disk/by-partuuid/493e9e82-b2e9-4201-a856-5df63869a4bf文件:└─/EFI/sled/shim.efi标题: Windows : 0x0005状态:活动,启动顺序分区: /dev/disk/by-partuuid/93607397-896b-11e4-b666-d343be9e55dd文件:└─/EFI/Microsoft/ Boot /bootmgfw.efi标题: Windows : 0x0004状态: active,引导顺序分区: /dev/disk/by-partuuid/93607397-896b-11e4-b666-d343be9e55dd文件:└─/EFI/Microsoft/Boot/bootmgfw.efi

linux-ifbe:~ #

  1. 与您的磁盘id匹配

linux-ifbe:~ # blkid

/dev/sda1 1:LABEL=“系统”32546F46546F0C43“TYPE="ntfs”PARTLABEL=“基本数据分区”PARTUUID="93607399-896b-11e4-b666-d343be9e55dd“/dev/sda1 2:UUID=”“5A70-28D9”vfat“PARTLABEL=”“基本数据分区”PARTUUID="93607397-896b-11e4-b666-d343be9e55dd“/dev/sda1 3: UUID="B802718A02714E7E”TYPE="ntfs“基本数据分区”PARTUUID=“93607399-896b-11e4-b666-d343be9e55dd”/dev/sda1 4: LABEL="TI31184100G“UUID="C46872F76872E816”LABEL=“ntfs”ntfs““基本数据分区”PARTUUID="9360739f-896b-11e4-b666-d343be9e55dd“/dev /sda6 5: UUID="20B60C41B60C19C4”TYPE="ntfs“PARTUUID="e06a03c0-05b3-46b9-8f39-285835657847”/dev/sda6 6: UUID="04d80a53-ba70-4bb2-9d81-cea98f2d9e4a“TYPE="ext4”PARTLABEL=“主”PARTUUID="43e69176-d33c-4ad4-bcd4-d9e2bc7abbc0“/dev/sda6 7:LABEL=”恢复“UUID=”TYPE="ntfs“PARTLABEL=”基本数据分区“PARTUUID="337287c5-897f-11e4-b1c9-b0248f5831e0”/dev“PARTUUID="0c4c51be-7222-4db2-9150-3140d6835482“/dev/sda9 9: PARTUUID="493e9e82-b2e9-4201-a856-5df63869a4bf”:UUID="e870bcac-a05d-4251-b3e1-752b16275d62“TYPE=”交换主“PARTLABEL=/dev/sda9 9: UUID="8F60-443B”vfat“PARTLABEL=”主“UUID=”

linux-ifbe:~ # blkid \grep -i 93607397 /dev/sda2 2: UUID="5A70-28D9“TYPE="vfat”PARTLABEL=“基本数据分区”“UUID= linux-ifbe:~ #”

!找到它的/dev/sda2 2

3..运行到/etc/grub2/40_定制

代码语言:javascript
运行
复制
linux-ifbe:~ # cat /etc/grub.d/40_custom 
#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.

menuentry "Windows 10" {

    set root='(hd0,gpt2)'

    chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}

linux-ifbe:~ # 

hda = hd0旧式基础hda,2 = gpt2将其保存在文件中

4....去重新配置grub

grub2-mkconfig -o /boot/grub2/grub.cfg

5...reboot你的系统。也享受你的窗户吧

马努的欢呼声

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/316602

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档