脖子右拧 發表於 2022-5-30 21:40:00

64位UEFI下的OpenCore和Clover引导多启动移动硬盘(MacOS + Win10 + Win11 + Ubuntu + Fedora + OpenSUSE + Archlinux + Gentoo + Debian + RHEL + SLES)

<p>OpenCore最终效果如下图:<img src="https://img2022.cnblogs.com/blog/730529/202205/730529-20220530211928463-1039745193.jpg" alt="" loading="lazy">。Clover其实效果差不多,不过由于后续可能不再支持了,所以主推OpenCore。另外,由于OpenCore自身开发不是用来做多系统引导的,所以,附上我个人魔改的OpenCore启动器教程: https://github.com/alexanderzjs/OpenCore-LiveUSB</p>
<h1 id="移动硬盘的分区">移动硬盘的分区</h1>
<p>这里我的移动硬盘大小是1TB(实际是931.5GB),具体<strong>GPT</strong>分区方案如图所示:<br>
<img src="https://img2022.cnblogs.com/blog/730529/202205/730529-20220525181735293-621010461.png" alt="硬盘分区" loading="lazy"></p>
<ol>
<li>第一个分区EFI主要用来安装OpenCore,目录结构:<br>
<img src="https://img2022.cnblogs.com/blog/730529/202205/730529-20220530212229363-1841471228.png" alt="" loading="lazy"></li>
<li>紧接着的两个分区是macOS Mojave和macOS Monterey的安装盘,这个安装盘的制作方法非常简单,下载好镜像,然后用镜像里面的createinstallmedia命令就可以了,注意分区不要选到其他分区了。分区大小只要比安装盘的略大一点就好了。</li>
<li>再下来的Buffer分区是一个空分区,这个分区主要是用来调整前后分区大小的,比如上一个macOS的后一个版本的安装镜像比现在的要大,那么就用这个空间来扩展。</li>
<li>接着两个windows的安装盘分区,一个是Win10,一个是Win11。</li>
<li>接着是我存放数据的分区,也是最大的分区。</li>
<li>最后的是LINUX分区,这个分区的格式一定要注意,EXT2是我试过比较合适的,因为有些镜像比较大,FAT32不能够很好的支持,这个分区放到最后也有利于从前面一个分区进行分区扩展。</li>
</ol>
<p><strong>注意</strong>:首先安装两个macOS系统,这个没什么好说的,然后把Win10和Win11的安装盘文件解压到各自对应的分区的根目录。</p>
<h1 id="基于opencore的多启动移动硬盘的制作">基于OpenCore的多启动移动硬盘的制作</h1>
<p>OpenCore安装参考:OpenCore安装,这里只需要Drivers和Kexts就可以了,ACPI是为了黑苹果用的,我们用不到。这里唯一需要注意的就是Misc路径下面的Entries,我所有的系统都在Entries下定义,详细方式参考config.plist,我只贴出重点的部分,其余部分和sample.plist保持一致就好了。</p>
<pre><code>        &lt;key&gt;Misc&lt;/key&gt;
        &lt;dict&gt;
                &lt;key&gt;Boot&lt;/key&gt;
                &lt;dict&gt;
                         ...
                        &lt;key&gt;HideAuxiliary&lt;/key&gt; # 这里一般来讲是true,省的有各种不想看到的图标
                        &lt;true/&gt;
                         ...
                        &lt;key&gt;PickerAttributes&lt;/key&gt; # 这里的值是参考了https://dortania.github.io/OpenCanopy-Gallery/blackosx.html
                        &lt;integer&gt;145&lt;/integer&gt;
                         ...
                        &lt;key&gt;PickerMode&lt;/key&gt; # 这个必须改成External,否则主题不起作用
                        &lt;string&gt;External&lt;/string&gt;
                        &lt;key&gt;PickerVariant&lt;/key&gt; # 这个要匹配Resources/Image下面的路径
                        &lt;string&gt;customized\custom&lt;/string&gt;
                         ...
                        &lt;key&gt;ShowPicker&lt;/key&gt; # 这个要改为true
                        &lt;true/&gt;
                         ...
                &lt;/dict&gt;
                &lt;key&gt;Debug&lt;/key&gt; # 如果需要debug,需要开启下面的内容
                &lt;dict&gt;
                        &lt;key&gt;AppleDebug&lt;/key&gt; # 必须是true
                        &lt;true/&gt;
                        &lt;key&gt;ApplePanic&lt;/key&gt; # 一般是true
                        &lt;true/&gt;
                        &lt;key&gt;DisableWatchDog&lt;/key&gt; # 一般是true
                        &lt;true/&gt;
                        &lt;key&gt;DisplayDelay&lt;/key&gt;
                        &lt;integer&gt;0&lt;/integer&gt;
                        &lt;key&gt;DisplayLevel&lt;/key&gt; # 注意一下这个值
                        &lt;integer&gt;2147483714&lt;/integer&gt;
                        &lt;key&gt;LogModules&lt;/key&gt;
                        &lt;string&gt;*&lt;/string&gt;
                        &lt;key&gt;SysReport&lt;/key&gt; # 一般不需要
                        &lt;false/&gt;
                        &lt;key&gt;Target&lt;/key&gt; # 注意一下这个值
                        &lt;integer&gt;67&lt;/integer&gt;
                &lt;/dict&gt;
                &lt;key&gt;Entries&lt;/key&gt;
                &lt;array&gt;
                        &lt;dict&gt;
                                &lt;key&gt;Arguments&lt;/key&gt;
                                &lt;string&gt;&lt;/string&gt;
                                &lt;key&gt;Auxiliary&lt;/key&gt; # 如果上面的HideAuxiliary是true并且这个值也是true,那么Windows 10就不会显示了
                                &lt;true/&gt;
                                &lt;key&gt;Comment&lt;/key&gt;
                                &lt;string&gt;Windows 10 Setup&lt;/string&gt;
                                &lt;key&gt;Enabled&lt;/key&gt;
                                &lt;true/&gt;
                                &lt;key&gt;Flavour&lt;/key&gt;
                                &lt;string&gt;Windows10:ExtWindows10&lt;/string&gt; # 这个Windows10是匹配Resources/Image/customized/custom/Windows10.icns的,如果找不到则试着找ExtWindows10.icns
                                &lt;key&gt;Name&lt;/key&gt;
                                &lt;string&gt;Windows 10 Setup&lt;/string&gt;
                                &lt;key&gt;Path&lt;/key&gt;
                                &lt;string&gt;HD(5,GPT,F98442A8-A369-4BF0-BE54-E5AFDEFFA702,0x4FC6000,0xC00000)/\EFI\BOOT\BOOTX64.EFI&lt;/string&gt; # 这个UUID的找法下面会讲
                                &lt;key&gt;TextMode&lt;/key&gt;
                                &lt;false/&gt;
                        &lt;/dict&gt;
                        &lt;dict&gt;
                                &lt;key&gt;Arguments&lt;/key&gt;
                                &lt;string&gt;&lt;/string&gt;
                                &lt;key&gt;Auxiliary&lt;/key&gt;
                                &lt;true/&gt;
                                &lt;key&gt;Comment&lt;/key&gt;
                                &lt;string&gt;Windows 11 Setup&lt;/string&gt;
                                &lt;key&gt;Enabled&lt;/key&gt;
                                &lt;true/&gt;
                                &lt;key&gt;Flavour&lt;/key&gt;
                                &lt;string&gt;Windows11:ExtWindows11&lt;/string&gt;
                                &lt;key&gt;Name&lt;/key&gt;
                                &lt;string&gt;Windows 11 Setup&lt;/string&gt;
                                &lt;key&gt;Path&lt;/key&gt;
                                &lt;string&gt;HD(6,GPT,00EA184E-E885-43CF-8B48-46D9969C54D3,0x5BC6000,0xC00000)/\EFI\BOOT\BOOTX64.EFI&lt;/string&gt;
                                &lt;key&gt;TextMode&lt;/key&gt;
                                &lt;false/&gt;
                        &lt;/dict&gt;
                        &lt;dict&gt;
                                &lt;key&gt;Arguments&lt;/key&gt;
                                &lt;string&gt;&lt;/string&gt;
                                &lt;key&gt;Auxiliary&lt;/key&gt;
                                &lt;true/&gt;
                                &lt;key&gt;Comment&lt;/key&gt;
                                &lt;string&gt;Install macOS Mojave&lt;/string&gt;
                                &lt;key&gt;Enabled&lt;/key&gt;
                                &lt;true/&gt;
                                &lt;key&gt;Flavour&lt;/key&gt;
                                &lt;string&gt;OSX:ExtApple&lt;/string&gt;
                                &lt;key&gt;Name&lt;/key&gt;
                                &lt;string&gt;Install macOS Mojave&lt;/string&gt;
                                &lt;key&gt;Path&lt;/key&gt;
                                &lt;string&gt;HD(2,GPT,1927DEFE-19D4-44E1-A7C0-32A682239B56,0x64022,0xD09DC0)/\System\Library\CoreServices\boot.efi&lt;/string&gt;
                                &lt;key&gt;TextMode&lt;/key&gt;
                                &lt;false/&gt;
                        &lt;/dict&gt;
                        &lt;dict&gt;
                                &lt;key&gt;Arguments&lt;/key&gt;
                                &lt;string&gt;&lt;/string&gt;
                                &lt;key&gt;Auxiliary&lt;/key&gt;
                                &lt;true/&gt;
                                &lt;key&gt;Comment&lt;/key&gt;
                                &lt;string&gt;Install macOS Monterey&lt;/string&gt;
                                &lt;key&gt;Enabled&lt;/key&gt;
                                &lt;true/&gt;
                                &lt;key&gt;Flavour&lt;/key&gt;
                                &lt;string&gt;MacOS:ExtApple&lt;/string&gt;
                                &lt;key&gt;Name&lt;/key&gt;
                                &lt;string&gt;Install macOS Monterey&lt;/string&gt;
                                &lt;key&gt;Path&lt;/key&gt;
                                &lt;string&gt;HD(3,GPT,8A5E73A3-A04D-4B52-A7CE-283BAE9A6B6B,0xDADDE8,0x1A13B80)/\System\Library\CoreServices\boot.efi&lt;/string&gt;
                                &lt;key&gt;TextMode&lt;/key&gt;
                                &lt;false/&gt;
                        &lt;/dict&gt;
                        &lt;dict&gt;
                                &lt;key&gt;Arguments&lt;/key&gt;
                                &lt;string&gt;iso-scan/filename=/ubuntu/jammy-desktop-amd64.iso file=/cdrom/preseed/ubuntu.seed quiet splash=silent initrd=/ubuntu/initrd&lt;/string&gt;
                                &lt;key&gt;Auxiliary&lt;/key&gt;
                                &lt;true/&gt;
                                &lt;key&gt;Comment&lt;/key&gt;
                                &lt;string&gt;Ubuntu 20.04 LTS&lt;/string&gt;
                                &lt;key&gt;Enabled&lt;/key&gt;
                                &lt;true/&gt;
                                &lt;key&gt;Flavour&lt;/key&gt;
                                &lt;string&gt;Ubuntu:Linux&lt;/string&gt;
                                &lt;key&gt;Name&lt;/key&gt;
                                &lt;string&gt;Ubuntu 20.04 LTS&lt;/string&gt;
                                &lt;key&gt;Path&lt;/key&gt;
                                &lt;string&gt;HD(8,GPT,48ACC8D0-F148-4CC7-B788-C8D0F2ABB422,0x6E2F67E0,0x63FFFFF)/\ubuntu\vmlinuz&lt;/string&gt;
                                &lt;key&gt;TextMode&lt;/key&gt;
                                &lt;false/&gt;
                        &lt;/dict&gt;
                        &lt;dict&gt;
                                &lt;key&gt;Arguments&lt;/key&gt;
                                &lt;string&gt;iso-scan/filename=/fedora/Fedora-Workstation-Live-x86_64-35-1.2.iso root=live:CDLABEL=Fedora-WS-Live-35-1-2 rd.live.image nomodeset quiet rhgb initrd=/fedora/initrd.img&lt;/string&gt;
                                &lt;key&gt;Auxiliary&lt;/key&gt;
                                &lt;true/&gt;
                                &lt;key&gt;Comment&lt;/key&gt;
                                &lt;string&gt;Fedora Workstation 35&lt;/string&gt;
                                &lt;key&gt;Enabled&lt;/key&gt;
                                &lt;true/&gt;
                                &lt;key&gt;Flavour&lt;/key&gt;
                                &lt;string&gt;Fedora:Linux&lt;/string&gt;
                                &lt;key&gt;Name&lt;/key&gt;
                                &lt;string&gt;Fedora Workstation 35&lt;/string&gt;
                                &lt;key&gt;Path&lt;/key&gt;
                                &lt;string&gt;HD(8,GPT,48ACC8D0-F148-4CC7-B788-C8D0F2ABB422,0x6E2F67E0,0x63FFFFF)/fedora/vmlinuz&lt;/string&gt;
                                &lt;key&gt;TextMode&lt;/key&gt;
                                &lt;false/&gt;
                        &lt;/dict&gt;
                        &lt;dict&gt;
                                &lt;key&gt;Arguments&lt;/key&gt;
                                &lt;string&gt;install=hd:/opensuse/openSUSE-Leap-15.3-3-DVD-x86_64-Media.iso splash=silent initrd=/opensuse/initrd&lt;/string&gt;
                                &lt;key&gt;Auxiliary&lt;/key&gt;
                                &lt;true/&gt;
                                &lt;key&gt;Comment&lt;/key&gt;
                                &lt;string&gt;OpenSUSE Leap 15.3.3&lt;/string&gt;
                                &lt;key&gt;Enabled&lt;/key&gt;
                                &lt;true/&gt;
                                &lt;key&gt;Flavour&lt;/key&gt;
                                &lt;string&gt;OpenSUSE:Linux&lt;/string&gt;
                                &lt;key&gt;Name&lt;/key&gt;
                                &lt;string&gt;OpenSUSE Leap 15.3.3&lt;/string&gt;
                                &lt;key&gt;Path&lt;/key&gt;
                                &lt;string&gt;HD(8,GPT,48ACC8D0-F148-4CC7-B788-C8D0F2ABB422,0x6E2F67E0,0x63FFFFF)/opensuse/linux&lt;/string&gt;
                                &lt;key&gt;TextMode&lt;/key&gt;
                                &lt;false/&gt;
                        &lt;/dict&gt;
                        &lt;dict&gt;
                                &lt;key&gt;Arguments&lt;/key&gt;
                                &lt;string&gt;img_dev=/dev/disk/by-label/LINUX img_loop=archlinux/archlinux-2022.05.01-x86_64.isoinitrd=/archlinux/initramfs-linux.img /archlinux/intel-ucode.img&lt;/string&gt;
                                &lt;key&gt;Auxiliary&lt;/key&gt;
                                &lt;true/&gt;
                                &lt;key&gt;Comment&lt;/key&gt;
                                &lt;string&gt;Arch Linux&lt;/string&gt;
                                &lt;key&gt;Enabled&lt;/key&gt;
                                &lt;true/&gt;
                                &lt;key&gt;Flavour&lt;/key&gt;
                                &lt;string&gt;Arch:Linux&lt;/string&gt;
                                &lt;key&gt;Name&lt;/key&gt;
                                &lt;string&gt;Arch Linux&lt;/string&gt;
                                &lt;key&gt;Path&lt;/key&gt;
                                &lt;string&gt;HD(8,GPT,48ACC8D0-F148-4CC7-B788-C8D0F2ABB422,0x6E2F67E0,0x63FFFFF)/archlinux/vmlinuz-linux&lt;/string&gt;
                                &lt;key&gt;TextMode&lt;/key&gt;
                                &lt;false/&gt;
                        &lt;/dict&gt;
                        &lt;dict&gt;
                                &lt;key&gt;Arguments&lt;/key&gt;
                                &lt;string&gt;root=/dev/ram0 init=/linuxrc dokeymap looptype=squashfs loop=/image.squashfs cdroot isoboot=/gentoo/install-amd64-minimal-20220508T170538Z.iso initrd=/gentoo/gentoo.igz&lt;/string&gt;
                                &lt;key&gt;Auxiliary&lt;/key&gt;
                                &lt;true/&gt;
                                &lt;key&gt;Comment&lt;/key&gt;
                                &lt;string&gt;Gentoo Linux&lt;/string&gt;
                                &lt;key&gt;Enabled&lt;/key&gt;
                                &lt;true/&gt;
                                &lt;key&gt;Flavour&lt;/key&gt;
                                &lt;string&gt;Gentoo:Linux&lt;/string&gt;
                                &lt;key&gt;Name&lt;/key&gt;
                                &lt;string&gt;Gentoo Linux&lt;/string&gt;
                                &lt;key&gt;Path&lt;/key&gt;
                                &lt;string&gt;HD(8,GPT,48ACC8D0-F148-4CC7-B788-C8D0F2ABB422,0x6E2F67E0,0x63FFFFF)/gentoo/gentoo&lt;/string&gt;
                                &lt;key&gt;TextMode&lt;/key&gt;
                                &lt;false/&gt;
                        &lt;/dict&gt;
                        &lt;dict&gt;
                                &lt;key&gt;Arguments&lt;/key&gt;
                                &lt;string&gt;findiso=/debian/debian-11.3.0-amd64-DVD-1.iso splash=silent initrd=/debian/initrd.gz&lt;/string&gt;
                                &lt;key&gt;Auxiliary&lt;/key&gt;
                                &lt;true/&gt;
                                &lt;key&gt;Comment&lt;/key&gt;
                                &lt;string&gt;Debian 11.3.0&lt;/string&gt;
                                &lt;key&gt;Enabled&lt;/key&gt;
                                &lt;true/&gt;
                                &lt;key&gt;Flavour&lt;/key&gt;
                                &lt;string&gt;Debian:Linux&lt;/string&gt;
                                &lt;key&gt;Name&lt;/key&gt;
                                &lt;string&gt;Debian 11.3.0&lt;/string&gt;
                                &lt;key&gt;Path&lt;/key&gt;
                                &lt;string&gt;HD(8,GPT,48ACC8D0-F148-4CC7-B788-C8D0F2ABB422,0x6E2F67E0,0x63FFFFF)/debian/vmlinuz&lt;/string&gt;
                                &lt;key&gt;TextMode&lt;/key&gt;
                                &lt;false/&gt;
                        &lt;/dict&gt;
                        &lt;dict&gt;
                                &lt;key&gt;Arguments&lt;/key&gt;
                                &lt;string&gt;inst.repo=hd:LABEL=LINUX:/redhat/rhel-baseos-9.0-x86_64-dvd.iso quiet initrd=/redhat/initrd.img&lt;/string&gt;
                                &lt;key&gt;Auxiliary&lt;/key&gt;
                                &lt;true/&gt;
                                &lt;key&gt;Comment&lt;/key&gt;
                                &lt;string&gt;RHEL 9.0&lt;/string&gt;
                                &lt;key&gt;Enabled&lt;/key&gt;
                                &lt;true/&gt;
                                &lt;key&gt;Flavour&lt;/key&gt;
                                &lt;string&gt;RedHat:Linux&lt;/string&gt;
                                &lt;key&gt;Name&lt;/key&gt;
                                &lt;string&gt;RHEL 9.0&lt;/string&gt;
                                &lt;key&gt;Path&lt;/key&gt;
                                &lt;string&gt;HD(8,GPT,48ACC8D0-F148-4CC7-B788-C8D0F2ABB422,0x6E2F67E0,0x63FFFFF)/redhat/vmlinuz&lt;/string&gt;
                                &lt;key&gt;TextMode&lt;/key&gt;
                                &lt;false/&gt;
                        &lt;/dict&gt;
                        &lt;dict&gt;
                                &lt;key&gt;Arguments&lt;/key&gt;
                                &lt;string&gt;splash=silent quiet nomodeset install=hd:/suse/SLE-15-SP4-Full-x86_64-PublicRC-202204-Media1.iso initrd=/suse/initrd&lt;/string&gt;
                                &lt;key&gt;Auxiliary&lt;/key&gt;
                                &lt;true/&gt;
                                &lt;key&gt;Comment&lt;/key&gt;
                                &lt;string&gt;SLES 15 SP4&lt;/string&gt;
                                &lt;key&gt;Enabled&lt;/key&gt;
                                &lt;true/&gt;
                                &lt;key&gt;Flavour&lt;/key&gt;
                                &lt;string&gt;SUSE:Linux&lt;/string&gt;
                                &lt;key&gt;Name&lt;/key&gt;
                                &lt;string&gt;SLES 15 SP4&lt;/string&gt;
                                &lt;key&gt;Path&lt;/key&gt;
                                &lt;string&gt;HD(8,GPT,48ACC8D0-F148-4CC7-B788-C8D0F2ABB422,0x6E2F67E0,0x63FFFFF)/suse/linux&lt;/string&gt;
                                &lt;key&gt;TextMode&lt;/key&gt;
                                &lt;false/&gt;
                        &lt;/dict&gt;
                &lt;/array&gt;
                &lt;key&gt;Security&lt;/key&gt;
                &lt;dict&gt;
                         ...
                        &lt;key&gt;ScanPolicy&lt;/key&gt; # 这个值无所谓,魔改版只会扫描外部设备的
                        &lt;integer&gt;0&lt;/integer&gt;
                        &lt;key&gt;SecureBootModel&lt;/key&gt; # 这个一定要关闭
                        &lt;string&gt;Disabled&lt;/string&gt;
                        &lt;key&gt;Vault&lt;/key&gt; # 这个一定要改成Optional
                        &lt;string&gt;Optional&lt;/string&gt;
                &lt;/dict&gt;
                &lt;key&gt;Tools&lt;/key&gt; # 根据需要启用或者不启用,这里略过
        &lt;/dict&gt;
&lt;/dict&gt;
&lt;/plist&gt;
</code></pre>
<p>OpenCore主题参考:OpenCore主题,我这里做了一些修改,不过所有文件都放在Resources文件夹下面,所以不需要多费心(注意不要随意删除Image文件夹里面的图标,可以更换或者增加)。这里面比较重要的概念是Flavour,图标的名称是和Entries里面的Flavour匹配的。要注意的是icns文件的制作,这里制作的命令可以参考后面的内容。另外,音效支持也不太管用,其实可以删除AudioDxe.efi。</p>
<h2 id="找硬盘分区uuid的方法">找硬盘分区UUID的方法</h2>
<p>进入UEFI Shell,就是最后一个选项。</p>
<p>在Shell提示符下面会显示FS0,FS1等文件系统和BLK0,BLK1等分区。输入<code>FS0:</code>会进入第一个文件系统,然后用<code>dir</code>可以显示当前文件系统的内容。</p>
<p>输入<code>map &gt; table.txt</code>就可以把当前的分区内容记录在第一个文件系统(也就是FS0)的根目录的table.txt下。</p>
<p>正常启动电脑上的系统就可以查看table.txt上面的内容。</p>
<p>注意,原来的HD(X,GPT,XXXX)前面有一个前缀类似PciRoot(0x0)/Pci(0x14,0x0)/USB(0x10,0x0)/,这个东西在魔改版不需要了。</p>
<p>如果你无法进入UEFI Shell,那么可以想办法找到你当前硬盘的如下信息:</p>
<p>HD(1, GPT, 4616168015-5166-1451-61619458, 0x568919, 0x581968)</p>
<p>HD(分区编号,分区类型(GPT,MBR),分区的UUID,分区起始地址,分区大小)</p>
<p>在Linux下可以用fdisk -l来显示,Windows下要找相应的软件去看了。</p>
<h2 id="制作icns图标文件的方法">制作icns图标文件的方法</h2>
<p>首先,打开终端并切换到桌面或者你想要的任何地方。然后在桌面(终端切换到的目录)准备一张你想用来做图标的png文件,命名为pic.png。接着继续在终端操作,新建一个目录(也可以直接右键新建,记得保留后缀)</p>
<p><code>mkdir tmp.iconset</code></p>
<p>上面我们就新建了一个名字为tmp.iconset的文件夹,下面的命令是用来生成不同分辨率下的图片的。为了能快速执行,创建一个名为makeicns的可执行文件,并贴入如下内容:</p>
<pre><code>#!/bin/bash
sips -z 16 16 pic.png --out tmp.iconset/icon_16x16.png
sips -z 32 32 pic.png --out tmp.iconset/icon_16x16@2x.png
sips -z 32 32 pic.png --out tmp.iconset/icon_32x32.png
sips -z 64 64 pic.png --out tmp.iconset/icon_32x32@2x.png
sips -z 128 128 pic.png --out tmp.iconset/icon_128x128.png
sips -z 256 256 pic.png --out tmp.iconset/icon_128x128@2x.png
sips -z 256 256 pic.png --out tmp.iconset/icon_256x256.png
sips -z 512 512 pic.png --out tmp.iconset/icon_256x256@2x.png
sips -z 512 512 pic.png --out tmp.iconset/icon_512x512.png
sips -z 1024 1024 pic.png --out tmp.iconset/icon_512x512@2x.png
iconutil -c icns tmp.iconset -o Icon.icns
</code></pre>
<p>最后执行./makeicns就好了。</p>
<h1 id="clover的制作方法">Clover的制作方法</h1>
<p>和OpenCore基本一样,这里不多说了,附上config.plist:</p>
<pre><code>      &lt;key&gt;GUI&lt;/key&gt;
      &lt;dict&gt;
            &lt;key&gt;#Mouse&lt;/key&gt;
            &lt;dict&gt;
                &lt;key&gt;Mirror&lt;/key&gt;
                &lt;false/&gt;
                &lt;key&gt;Speed&lt;/key&gt;
                &lt;integer&gt;2&lt;/integer&gt;
                &lt;key&gt;Enabled&lt;/key&gt;
                &lt;true/&gt;
                &lt;key&gt;DoubleClickTime&lt;/key&gt;
                &lt;integer&gt;500&lt;/integer&gt;
            &lt;/dict&gt;
            &lt;key&gt;#TextOnly&lt;/key&gt;
            &lt;false/&gt;
            &lt;key&gt;ProvideConsoleGop&lt;/key&gt;
            &lt;true/&gt;
            &lt;key&gt;#ConsoleMode&lt;/key&gt;
            &lt;string&gt;0&lt;/string&gt;
            &lt;key&gt;Custom&lt;/key&gt;
            &lt;dict&gt;
                &lt;key&gt;Legacy&lt;/key&gt;
                &lt;array/&gt;
                &lt;key&gt;Entries&lt;/key&gt;
                &lt;array&gt;
                  &lt;dict&gt;
                        &lt;key&gt;Hidden&lt;/key&gt;
                        &lt;false/&gt;
                        &lt;key&gt;Volume&lt;/key&gt;
                        &lt;string&gt;F98442A8-A369-4BF0-BE54-E5AFDEFFA702&lt;/string&gt;
                        &lt;key&gt;Disabled&lt;/key&gt;
                        &lt;false/&gt;
                        &lt;key&gt;Image&lt;/key&gt;
                        &lt;string&gt;windows10&lt;/string&gt;
                        &lt;key&gt;Path&lt;/key&gt;
                        &lt;string&gt;\EFI\BOOT\BOOTX64.efi&lt;/string&gt;
                        &lt;key&gt;Title&lt;/key&gt;
                        &lt;string&gt;Windows 10 Setup&lt;/string&gt;
                        &lt;key&gt;NoCaches&lt;/key&gt;
                        &lt;false/&gt;
                        &lt;key&gt;InjectKexts&lt;/key&gt;
                        &lt;false/&gt;
                        &lt;key&gt;Type&lt;/key&gt;
                        &lt;string&gt;Windows&lt;/string&gt;
                  &lt;/dict&gt;
                  &lt;dict&gt;
                        &lt;key&gt;Hidden&lt;/key&gt;
                        &lt;false/&gt;
                        &lt;key&gt;Volume&lt;/key&gt;
                        &lt;string&gt;00EA184E-E885-43CF-8B48-46D9969C54D3&lt;/string&gt;
                        &lt;key&gt;Disabled&lt;/key&gt;
                        &lt;false/&gt;
                        &lt;key&gt;Image&lt;/key&gt;
                        &lt;string&gt;windows11&lt;/string&gt;
                        &lt;key&gt;Path&lt;/key&gt;
                        &lt;string&gt;\EFI\BOOT\BOOTX64.efi&lt;/string&gt;
                        &lt;key&gt;Title&lt;/key&gt;
                        &lt;string&gt;Windows 11 Setup&lt;/string&gt;
                        &lt;key&gt;NoCaches&lt;/key&gt;
                        &lt;false/&gt;
                        &lt;key&gt;InjectKexts&lt;/key&gt;
                        &lt;false/&gt;
                        &lt;key&gt;Type&lt;/key&gt;
                        &lt;string&gt;Windows&lt;/string&gt;
                  &lt;/dict&gt;
                  &lt;dict&gt;
                        &lt;key&gt;Hidden&lt;/key&gt;
                        &lt;false/&gt;
                        &lt;key&gt;Volume&lt;/key&gt;
                        &lt;string&gt;1927DEFE-19D4-44E1-A7C0-32A682239B56&lt;/string&gt;
                        &lt;key&gt;Disabled&lt;/key&gt;
                        &lt;false/&gt;
                        &lt;key&gt;Image&lt;/key&gt;
                        &lt;string&gt;mojave&lt;/string&gt;
                        &lt;key&gt;Path&lt;/key&gt;
                        &lt;string&gt;\System\Library\CoreServices\boot.efi&lt;/string&gt;
                        &lt;key&gt;Title&lt;/key&gt;
                        &lt;string&gt;Install macOS Mojave&lt;/string&gt;
                        &lt;key&gt;NoCaches&lt;/key&gt;
                        &lt;false/&gt;
                        &lt;key&gt;InjectKexts&lt;/key&gt;
                        &lt;false/&gt;
                        &lt;key&gt;Type&lt;/key&gt;
                        &lt;string&gt;OSXInstaller&lt;/string&gt;
                  &lt;/dict&gt;
                  &lt;dict&gt;
                        &lt;key&gt;Hidden&lt;/key&gt;
                        &lt;false/&gt;
                        &lt;key&gt;Volume&lt;/key&gt;
                        &lt;string&gt;8A5E73A3-A04D-4B52-A7CE-283BAE9A6B6B&lt;/string&gt;
                        &lt;key&gt;Disabled&lt;/key&gt;
                        &lt;false/&gt;
                        &lt;key&gt;Image&lt;/key&gt;
                        &lt;string&gt;monterey&lt;/string&gt;
                        &lt;key&gt;Path&lt;/key&gt;
                        &lt;string&gt;\System\Library\CoreServices\boot.efi&lt;/string&gt;
                        &lt;key&gt;Title&lt;/key&gt;
                        &lt;string&gt;Install macOS Monterey&lt;/string&gt;
                        &lt;key&gt;NoCaches&lt;/key&gt;
                        &lt;false/&gt;
                        &lt;key&gt;InjectKexts&lt;/key&gt;
                        &lt;false/&gt;
                        &lt;key&gt;Type&lt;/key&gt;
                        &lt;string&gt;OSXInstaller&lt;/string&gt;
                  &lt;/dict&gt;
                  &lt;dict&gt;
                        &lt;key&gt;Hidden&lt;/key&gt;
                        &lt;false/&gt;
                        &lt;key&gt;Volume&lt;/key&gt;
                        &lt;string&gt;48ACC8D0-F148-4CC7-B788-C8D0F2ABB422&lt;/string&gt;
                        &lt;key&gt;Arguments&lt;/key&gt;
                        &lt;string&gt;iso-scan/filename=/ubuntu/jammy-desktop-amd64.iso file=/cdrom/preseed/ubuntu.seed quiet splash=silent initrd=/ubuntu/initrd&lt;/string&gt;
                        &lt;key&gt;Disabled&lt;/key&gt;
                        &lt;false/&gt;
                        &lt;key&gt;Image&lt;/key&gt;
                        &lt;string&gt;ubuntu&lt;/string&gt;
                        &lt;key&gt;Path&lt;/key&gt;
                        &lt;string&gt;\ubuntu\vmlinuz&lt;/string&gt;
                        &lt;key&gt;Title&lt;/key&gt;
                        &lt;string&gt;Ubuntu 20.04 LTS&lt;/string&gt;
                        &lt;key&gt;NoCaches&lt;/key&gt;
                        &lt;false/&gt;
                        &lt;key&gt;InjectKexts&lt;/key&gt;
                        &lt;false/&gt;
                        &lt;key&gt;Type&lt;/key&gt;
                        &lt;string&gt;Linux&lt;/string&gt;
                  &lt;/dict&gt;
                  &lt;dict&gt;
                        &lt;key&gt;Hidden&lt;/key&gt;
                        &lt;false/&gt;
                        &lt;key&gt;Volume&lt;/key&gt;
                        &lt;string&gt;48ACC8D0-F148-4CC7-B788-C8D0F2ABB422&lt;/string&gt;
                        &lt;key&gt;Arguments&lt;/key&gt;
                        &lt;string&gt;iso-scan/filename=/fedora/Fedora-Workstation-Live-x86_64-35-1.2.iso root=live:CDLABEL=Fedora-WS-Live-35-1-2 rd.live.image nomodeset quiet rhgb initrd=/fedora/initrd.img&lt;/string&gt;
                        &lt;key&gt;Disabled&lt;/key&gt;
                        &lt;false/&gt;
                        &lt;key&gt;Image&lt;/key&gt;
                        &lt;string&gt;fedora&lt;/string&gt;
                        &lt;key&gt;Path&lt;/key&gt;
                        &lt;string&gt;\fedora\vmlinuz&lt;/string&gt;
                        &lt;key&gt;Title&lt;/key&gt;
                        &lt;string&gt;Fedora Workstation 35&lt;/string&gt;
                        &lt;key&gt;NoCaches&lt;/key&gt;
                        &lt;false/&gt;
                        &lt;key&gt;InjectKexts&lt;/key&gt;
                        &lt;false/&gt;
                        &lt;key&gt;Type&lt;/key&gt;
                        &lt;string&gt;Linux&lt;/string&gt;
                  &lt;/dict&gt;
                  &lt;dict&gt;
                        &lt;key&gt;Hidden&lt;/key&gt;
                        &lt;false/&gt;
                        &lt;key&gt;Volume&lt;/key&gt;
                        &lt;string&gt;48ACC8D0-F148-4CC7-B788-C8D0F2ABB422&lt;/string&gt;
                        &lt;key&gt;Arguments&lt;/key&gt;
                        &lt;string&gt;install=hd:/opensuse/openSUSE-Leap-15.3-3-DVD-x86_64-Media.iso splash=silent initrd=/opensuse/initrd&lt;/string&gt;
                        &lt;key&gt;Disabled&lt;/key&gt;
                        &lt;false/&gt;
                        &lt;key&gt;Image&lt;/key&gt;
                        &lt;string&gt;opensuse&lt;/string&gt;
                        &lt;key&gt;Path&lt;/key&gt;
                        &lt;string&gt;\opensuse\linux&lt;/string&gt;
                        &lt;key&gt;Title&lt;/key&gt;
                        &lt;string&gt;OpenSUSE Leap 15.3.3&lt;/string&gt;
                        &lt;key&gt;NoCaches&lt;/key&gt;
                        &lt;false/&gt;
                        &lt;key&gt;InjectKexts&lt;/key&gt;
                        &lt;false/&gt;
                        &lt;key&gt;Type&lt;/key&gt;
                        &lt;string&gt;Linux&lt;/string&gt;
                  &lt;/dict&gt;
                  &lt;dict&gt;
                        &lt;key&gt;Hidden&lt;/key&gt;
                        &lt;false/&gt;
                        &lt;key&gt;Volume&lt;/key&gt;
                        &lt;string&gt;48ACC8D0-F148-4CC7-B788-C8D0F2ABB422&lt;/string&gt;
                        &lt;key&gt;Arguments&lt;/key&gt;
                        &lt;string&gt;img_dev=/dev/disk/by-label/LINUX img_loop=archlinux/archlinux-2022.05.01-x86_64.isoinitrd=/archlinux/initramfs-linux.img /archlinux/intel-ucode.img&lt;/string&gt;
                        &lt;key&gt;Disabled&lt;/key&gt;
                        &lt;false/&gt;
                        &lt;key&gt;Image&lt;/key&gt;
                        &lt;string&gt;arch&lt;/string&gt;
                        &lt;key&gt;Path&lt;/key&gt;
                        &lt;string&gt;\archlinux\vmlinuz-linux&lt;/string&gt;
                        &lt;key&gt;Title&lt;/key&gt;
                        &lt;string&gt;Arch Linux&lt;/string&gt;
                        &lt;key&gt;NoCaches&lt;/key&gt;
                        &lt;false/&gt;
                        &lt;key&gt;InjectKexts&lt;/key&gt;
                        &lt;false/&gt;
                        &lt;key&gt;Type&lt;/key&gt;
                        &lt;string&gt;Linux&lt;/string&gt;
                  &lt;/dict&gt;
                  &lt;dict&gt;
                        &lt;key&gt;Hidden&lt;/key&gt;
                        &lt;false/&gt;
                        &lt;key&gt;Volume&lt;/key&gt;
                        &lt;string&gt;48ACC8D0-F148-4CC7-B788-C8D0F2ABB422&lt;/string&gt;
                        &lt;key&gt;Arguments&lt;/key&gt;
                        &lt;string&gt;root=/dev/ram0 init=/linuxrc dokeymap looptype=squashfs loop=/image.squashfs cdroot isoboot=/gentoo/install-amd64-minimal-20220508T170538Z.iso initrd=/gentoo/gentoo.igz&lt;/string&gt;
                        &lt;key&gt;Disabled&lt;/key&gt;
                        &lt;false/&gt;
                        &lt;key&gt;Image&lt;/key&gt;
                        &lt;string&gt;gentoo&lt;/string&gt;
                        &lt;key&gt;Path&lt;/key&gt;
                        &lt;string&gt;\gentoo\gentoo&lt;/string&gt;
                        &lt;key&gt;Title&lt;/key&gt;
                        &lt;string&gt;Gentoo Linux&lt;/string&gt;
                        &lt;key&gt;NoCaches&lt;/key&gt;
                        &lt;false/&gt;
                        &lt;key&gt;InjectKexts&lt;/key&gt;
                        &lt;false/&gt;
                        &lt;key&gt;Type&lt;/key&gt;
                        &lt;string&gt;Linux&lt;/string&gt;
                  &lt;/dict&gt;
                  &lt;dict&gt;
                        &lt;key&gt;Hidden&lt;/key&gt;
                        &lt;false/&gt;
                        &lt;key&gt;Volume&lt;/key&gt;
                        &lt;string&gt;48ACC8D0-F148-4CC7-B788-C8D0F2ABB422&lt;/string&gt;
                        &lt;key&gt;Arguments&lt;/key&gt;
                        &lt;string&gt;findiso=/debian/debian-11.3.0-amd64-DVD-1.iso splash=silent initrd=/debian/initrd.gz&lt;/string&gt;
                        &lt;key&gt;Disabled&lt;/key&gt;
                        &lt;false/&gt;
                        &lt;key&gt;Image&lt;/key&gt;
                        &lt;string&gt;debian&lt;/string&gt;
                        &lt;key&gt;Path&lt;/key&gt;
                        &lt;string&gt;\debian\vmlinuz&lt;/string&gt;
                        &lt;key&gt;Title&lt;/key&gt;
                        &lt;string&gt;Debian 11.3.0&lt;/string&gt;
                        &lt;key&gt;NoCaches&lt;/key&gt;
                        &lt;false/&gt;
                        &lt;key&gt;InjectKexts&lt;/key&gt;
                        &lt;false/&gt;
                        &lt;key&gt;Type&lt;/key&gt;
                        &lt;string&gt;Linux&lt;/string&gt;
                  &lt;/dict&gt;
                  &lt;dict&gt;
                        &lt;key&gt;Hidden&lt;/key&gt;
                        &lt;false/&gt;
                        &lt;key&gt;Volume&lt;/key&gt;
                        &lt;string&gt;48ACC8D0-F148-4CC7-B788-C8D0F2ABB422&lt;/string&gt;
                        &lt;key&gt;Arguments&lt;/key&gt;
                        &lt;string&gt;inst.repo=hd:LABEL=LINUX:/redhat/rhel-baseos-9.0-x86_64-dvd.iso quiet initrd=/redhat/initrd.img&lt;/string&gt;
                        &lt;key&gt;Disabled&lt;/key&gt;
                        &lt;false/&gt;
                        &lt;key&gt;Image&lt;/key&gt;
                        &lt;string&gt;redhat&lt;/string&gt;
                        &lt;key&gt;Path&lt;/key&gt;
                        &lt;string&gt;\redhat\vmlinuz&lt;/string&gt;
                        &lt;key&gt;Title&lt;/key&gt;
                        &lt;string&gt;RHEL 9.0&lt;/string&gt;
                        &lt;key&gt;NoCaches&lt;/key&gt;
                        &lt;false/&gt;
                        &lt;key&gt;InjectKexts&lt;/key&gt;
                        &lt;false/&gt;
                        &lt;key&gt;Type&lt;/key&gt;
                        &lt;string&gt;Linux&lt;/string&gt;
                  &lt;/dict&gt;
                  &lt;dict&gt;
                        &lt;key&gt;Hidden&lt;/key&gt;
                        &lt;false/&gt;
                        &lt;key&gt;Volume&lt;/key&gt;
                        &lt;string&gt;48ACC8D0-F148-4CC7-B788-C8D0F2ABB422&lt;/string&gt;
                        &lt;key&gt;Arguments&lt;/key&gt;
                        &lt;string&gt;splash=silent quiet nomodeset install=hd:/suse/SLE-15-SP4-Full-x86_64-PublicRC-202204-Media1.iso initrd=/suse/initrd&lt;/string&gt;
                        &lt;key&gt;Disabled&lt;/key&gt;
                        &lt;false/&gt;
                        &lt;key&gt;Image&lt;/key&gt;
                        &lt;string&gt;suse&lt;/string&gt;
                        &lt;key&gt;Path&lt;/key&gt;
                        &lt;string&gt;\suse\linux&lt;/string&gt;
                        &lt;key&gt;Title&lt;/key&gt;
                        &lt;string&gt;SLES 15 SP4&lt;/string&gt;
                        &lt;key&gt;NoCaches&lt;/key&gt;
                        &lt;false/&gt;
                        &lt;key&gt;InjectKexts&lt;/key&gt;
                        &lt;false/&gt;
                        &lt;key&gt;Type&lt;/key&gt;
                        &lt;string&gt;Linux&lt;/string&gt;
                  &lt;/dict&gt;
                &lt;/array&gt;
                &lt;key&gt;Tool&lt;/key&gt;
                &lt;array&gt;
                  &lt;dict&gt;
                        &lt;key&gt;Hidden&lt;/key&gt;
                        &lt;false/&gt;
                        &lt;key&gt;Volume&lt;/key&gt;
                        &lt;string&gt;0F4984CD-5371-4BAE-B085-3CCA81A1EE46&lt;/string&gt;
                        &lt;key&gt;Disabled&lt;/key&gt;
                        &lt;false/&gt;
                        &lt;key&gt;Path&lt;/key&gt;
                        &lt;string&gt;\EFI\CLOVER\TOOLS\Shell64.efi&lt;/string&gt;
                        &lt;key&gt;Title&lt;/key&gt;
                        &lt;string&gt;Shell64&lt;/string&gt;
                  &lt;/dict&gt;
                  &lt;dict&gt;
                        &lt;key&gt;Hidden&lt;/key&gt;
                        &lt;false/&gt;
                        &lt;key&gt;Volume&lt;/key&gt;
                        &lt;string&gt;0F4984CD-5371-4BAE-B085-3CCA81A1EE46&lt;/string&gt;
                        &lt;key&gt;Disabled&lt;/key&gt;
                        &lt;false/&gt;
                        &lt;key&gt;Path&lt;/key&gt;
                        &lt;string&gt;\EFI\CLOVER\TOOLS\ResetSystem.efi&lt;/string&gt;
                        &lt;key&gt;Title&lt;/key&gt;
                        &lt;string&gt;Shutdown&lt;/string&gt;
                  &lt;/dict&gt;
                &lt;/array&gt;
            &lt;/dict&gt;
            &lt;key&gt;ScreenResolution&lt;/key&gt;
            &lt;string&gt;1280x1024&lt;/string&gt;
            &lt;key&gt;Hide&lt;/key&gt;
            &lt;array&gt;
                &lt;string&gt;cdboot&lt;/string&gt;
                &lt;string&gt;Legacy HD&lt;/string&gt;
                &lt;string&gt;EFI&lt;/string&gt;
            &lt;/array&gt;
            &lt;key&gt;CustomIcons&lt;/key&gt;
            &lt;false/&gt;
            &lt;key&gt;#KbdPrevLang&lt;/key&gt;
            &lt;false/&gt;
            &lt;key&gt;#Language&lt;/key&gt;
            &lt;string&gt;ru:0&lt;/string&gt;
            &lt;key&gt;Scan&lt;/key&gt;
            &lt;dict&gt;
                &lt;key&gt;Legacy&lt;/key&gt;
                &lt;false/&gt;
                &lt;key&gt;Entries&lt;/key&gt;
                &lt;true/&gt;
                &lt;key&gt;Tool&lt;/key&gt;
                &lt;false/&gt;
            &lt;/dict&gt;
            &lt;key&gt;ShowOptimus&lt;/key&gt;
            &lt;false/&gt;
            &lt;key&gt;Timezone&lt;/key&gt;
            &lt;integer&gt;3&lt;/integer&gt;
            &lt;key&gt;Theme&lt;/key&gt;
            &lt;string&gt;custom&lt;/string&gt;
            &lt;key&gt;EmbeddedThemeType&lt;/key&gt;
            &lt;string&gt;Daytime&lt;/string&gt;
            &lt;key&gt;PlayAsync&lt;/key&gt;
            &lt;false/&gt;
      &lt;/dict&gt;
</code></pre>
<p>最终文件包:EFI-OC<br>
最终文件包:EFI-clover</p><br><br>
来源:https://www.cnblogs.com/alexanderzjs/p/16328439.html
頁: [1]
查看完整版本: 64位UEFI下的OpenCore和Clover引导多启动移动硬盘(MacOS + Win10 + Win11 + Ubuntu + Fedora + OpenSUSE + Archlinux + Gentoo + Debian + RHEL + SLES)