[Share Experiences] 使用Deepin引导黑苹果(OC引导) Resolved
Tofloor
poster avatar
deepin
2023-06-13 18:09
Author

个人喜欢折腾,常用windows,有时要用到苹果,没事鼓捣deepin。感觉前两个用起终究不是那么心安理得,但又没办法完全代替,只能慢慢等deepin完善。

我买了3块硬盘,每块上安装了一个操作系统。切换windows和Deepin直接使用deepin引导就行了,可是黑苹果就是引导不了,于是在网上查了些方法,感觉rEFInd挺牛,无耐比较笨,没整明白,后来在B站发现一个方法,直接修改deepin引导就可以引导黑苹果了,记录一下。

原帖地址:在Grub中添加OC引导启动黑苹果,告别F12! www.bilibili.com/video/av477269714/?vd_source=331550f8cbf40a69f94ab4b97ef7f113,全程只演示无讲解,我根据视频结合自己的情况总结了下步骤:

1、文件管理器打开 /boot,右键-以管理员身份打开,deepin真心为小白考虑,这个太方便了。

截图_选择区域_20230612205116.png

2、打开grub文件夹,备份grub.cfg,然后用文本编辑软件打开grub.cfg,我使用的Notepad--。

image.png

3、找到windows引导项并复制,如果没有可以参照我的。

image.png

以下是文本正文

###BEGIN /etc/grub.d/30_os-prober###

menuentry 'Windows Boot Manager (在 /dev/nvme0n1p1)' --class windows --class os $menuentry_id_option 'osprober-efi-CA1C-CD52' {
insmod part_gpt
insmod fat
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root CA1C-CD52
else
search --no-floppy --fs-uuid --set=root CA1C-CD52
fi
chainloader /efi/Microsoft/Boot/bootmgfw.efi
}

###END /etc/grub.d/30_os-prober###

把这部分复制,记得带上注释,粘贴到刚刚要复制的文本下方。然后开始把这个修改成黑苹果的引导。

4、修改引导参数

(1)、查找黑苹果的安装位置

打开终端输入:sudo fdisk -l

我的比较长,直接贴出我安装的硬盘。

截图_选择区域_20230613093514.png

重点是sda1。我安装时单独占的盘,所以引导文件就放在了sda1也就是第一个EFI盘符上。

(2)、查找硬盘uuid(卷或文件系统唯一标识)

终端输入:ls -al /dev/disk/by-uuid

image.png

用这个FE4-A8CE替换上面复制的文本中的CA1C-CD52,有3处,注意别把别处的替换了,不然启动不了相应的操作系统。替换后,我的文本为

###BEGIN /etc/grub.d/30_os-prober###

menuentry 'Windows Boot Manager (在 /dev/nvme0n1p1)' --class windows --class os $menuentry_id_option 'osprober-efi-FE4-A8CE' {
insmod part_gpt
insmod fat
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root FE4-A8CE
else
search --no-floppy --fs-uuid --set=root FE4-A8CE
fi
chainloader /efi/Microsoft/Boot/bootmgfw.efi
}

###END /etc/grub.d/30_os-prober###

(3)、修改黑苹果启动文件名及位置

###BEGIN /etc/grub.d/30_os-prober###

menuentry 'Windows Boot Manager (在 /dev/nvme0n1p1)' --class windows --class os $menuentry_id_option 'osprober-efi-FE4-A8CE' {
insmod part_gpt
insmod fat
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root FE4-A8CE
else
search --no-floppy --fs-uuid --set=root FE4-A8CE
fi
chainloader /EFI/OC/OpenCore.efi
}

###END /etc/grub.d/30_os-prober###

如果是CLOVER好像是EFI/CLOVER/CLOVERX64.efi,这个我不确定,请自己确认文件名。

(4)、修改名称参数

Windows Boot Manager (在 /dev/nvme0n1p1)替换为macOS,或者其他你喜欢的名字。替换后我的是这样的

###BEGIN /etc/grub.d/30_macOS###

menuentry 'macOS' --class windows --class os $menuentry_id_option 'osprober-efi-FE4-A8CE' {
insmod part_gpt
insmod fat
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root FE4-A8CE
else
search --no-floppy --fs-uuid --set=root FE4-A8CE
fi
chainloader /EFI/OC/OpenCore.efi
}

###END /etc/grub.d/30_macOS###

保存退出。

启动设置-通用就可以看到自己的杰作啦!修改默认启动项可以在这里改。

image.png

重启看看效果吧!

经过验证,系统更新后,会恢复之前的引导菜单,每次更新都需要重新设置,所以,不想麻烦还是另想他法吧!

Reply Favorite View the author
All Replies
userqian
deepin
2023-06-13 18:11
#1

666agree

Reply View the author
阿尼樱奈奈
deepin
2023-06-13 18:14
#2

like

Reply View the author
deepin_xiaoqian
deepin testing team
2023-06-13 18:34
#3

感谢分享like

Reply View the author
大威天龙
deepin
2023-06-13 18:39
#4

like 感谢分享,保姆级教程

Reply View the author
vivian_me
deepin testing team
2023-06-13 19:01
#5

感谢分享哦,我分享到wiki可以吗

Reply View the author
deepin
2023-06-13 20:22
#6
vivian_me

感谢分享哦,我分享到wiki可以吗

当然没问题,我的荣幸!

Reply View the author
momo
deepin
2023-06-13 20:44
#7

我记得oc可以跳过grub直接引导Linux,以前用oc引导三系统,界面比grub好看一点,好久不折腾了,又学了一个新方法,赞tail

Reply View the author
caoyuUU
deepin
2023-06-13 21:25
#8

我也是用的oc引导deepin

Reply View the author
忘记、过去
deepin
2023-06-13 21:55
#9

反过来 OC 引导多系统不是更好吗......OC 加载 OpenLinuxBoot.efi 和对应文件系统驱动,就可以直接引导内核启动,跳过 grub 界面了。(当然,如果用 btrfs 文件系统的话,如果根目录挂载在子卷里面好像无法直接引导)

Reply View the author
青稚
deepin
2023-06-13 22:14
#10

点赞了like

Reply View the author
浪云
deepin
2023-06-14 00:03
#11

UUID和efi文件,好像应该修改40那个文件,

我还是喜欢XORboot

agree hi

Reply View the author
deepin
2023-06-14 03:18
#12
忘记、过去

反过来 OC 引导多系统不是更好吗......OC 加载 OpenLinuxBoot.efi 和对应文件系统驱动,就可以直接引导内核启动,跳过 grub 界面了。(当然,如果用 btrfs 文件系统的话,如果根目录挂载在子卷里面好像无法直接引导)

OC有时引导windows会蓝屏。

Reply View the author
忘记、过去
deepin
2023-06-14 05:21
#13

OC有时引导windows会蓝屏。

那就要看你的 SSDT 补丁写的水平咋样了,OC 的追求就是多个系统应该共用一套 ACPI 表,不应该像 Clover 一样 SSDT 修改只针对 macOS 生效。

也就是说所有的 SSDT 修改都要确定对其他启动有没有影响。不确定的情况下干脆从头到尾加上 If ( _OSI = ("Darwin")) 判断仅在 macOS 上生效。

包括是否覆盖 BIOS 信息(CustomBIOSGrid 几个相关 Quirk 设置),SystemUUID 要填主板序列号,不然 Windows 里面机型会被覆盖为苹果,还会影响系统激活

Reply View the author
deepin
2023-06-14 06:41
#14
忘记、过去

那就要看你的 SSDT 补丁写的水平咋样了,OC 的追求就是多个系统应该共用一套 ACPI 表,不应该像 Clover 一样 SSDT 修改只针对 macOS 生效。

也就是说所有的 SSDT 修改都要确定对其他启动有没有影响。不确定的情况下干脆从头到尾加上 If ( _OSI = ("Darwin")) 判断仅在 macOS 上生效。

包括是否覆盖 BIOS 信息(CustomBIOSGrid 几个相关 Quirk 设置),SystemUUID 要填主板序列号,不然 Windows 里面机型会被覆盖为苹果,还会影响系统激活

大神,像我们这咱小白怎么会这些东西。我用的EFI去掉了其他系统的引导项,原因是引导windows不稳,后来升级OC据说可以了,但一直都没弄明白,差点把黑苹果搞烂,最后发现DEEPIN这个方法最适合我!包括rEFInd,我都没弄成功。

Reply View the author
风吹过的绿洲
deepin
2023-06-14 20:57
#15

用refind啥也不要动呀,启动界面选择deepin Windows 还是macos,我就是这样的,用了很多年了。没大必要折腾在grub启动Macos,不过你的折腾还是很棒的

Reply View the author
deepin
2023-06-15 04:27
#16
风吹过的绿洲

用refind啥也不要动呀,启动界面选择deepin Windows 还是macos,我就是这样的,用了很多年了。没大必要折腾在grub启动Macos,不过你的折腾还是很棒的

我的说啥也找不到黑苹果,无耐想到这个办法!

Reply View the author
Hawk
deepin
2023-06-18 06:03
#17

这个可以有,最近正在尝试单硬盘3系统呢

Reply View the author