注意:本教程仅适用于支持 EFI 引导的计算机。如果安装盘包含 Linux,则选择的 Linux 发行版需要支持 EFI 引导。
我经常给自己或者别人重装系统,因为有时候要装macOS,有时候又要装OS,每次都要重新刷安装包到我的U盘,不仅很折腾,而且不利于生活。于是这几天研究了如何将这些安装盘放入U盘,并取得了不错的效果。
这个U盘不仅可以选择启动多个系统u盘启动后不显示mac安装软件,而且当某个系统的安装盘需要更新的时候,也可以不用抹掉整个盘,只要单独处理对应的分区就可以了,非常方便的。启动时是这样的:
我的这个盘包括一个macOS安装器,一个安装器,一个Live(是Linux平台的一个分区工具,是一个简单的Linux发行版,只提供了这个分区工具和其他一些基本功能)和一个温PE。在接下来的教程中,我将教你如何制作这样一个可启动的 U 盘并处理一些启动问题。
初步知识
为了不让大家看到云里雾里,我们先来看看什么是EFI。简单地说,EFI 是一种引导操作系统的方式。
我不知道你是否还记得几年前电脑刚开机时的样子。
这种黑白屏幕称为POST屏幕,由主板上称为BIOS的芯片生成。芯片上电时,首先完成上电自检(POST)并初始化各种硬件,然后读取磁盘的固定区域寻找启动程序(0面,0磁道,1扇区)。操作系统将在其中编写自己的引导程序。当 BIOS 发现这个程序时,它会交出控制权u盘启动后不显示mac安装软件,操作系统就会启动。这种引导方法称为引导,包含引导程序块的分区表格式称为主引导记录 (MBR),与 GPT 相对。
与 2005 年发明的 EFI 不同,它不会从磁盘上的固定位置查找引导程序,而是在每个分区的 EFI 文件夹中查找引导程序。对于只支持Boot的操作系统,如果要让磁盘可引导,就需要使用一些特殊的程序来编写引导块,而且由于一块硬盘只有一个引导块,所以要实现多块是很麻烦的。系统启动,需要借助工具(YUMI-USB)来实现。EFI启动程序和普通文件放在同一个地方。如果你想把支持EFI的操作系统安装盘扔到U盘里,你可以简单地将所有文件复制进去。无需任何额外操作即可直接开启,本教程利用了这一点。
由于只有新电脑支持 EFI 启动,所以在旧电脑上使用前请确认电脑是否支持 EFI 启动。而如果你要确定你要扔进U盘的安装盘支持不支持EFI,只要打开ISO文件,看看里面是否有一个叫EFI的文件夹。
材料准备
如果要保存这么多安装盘,首先需要一个至少 16GB 的 U 盘。参考:
(以上大小以0.5为单位四舍五入)
您需要一个工作系统来运行分区工具,虚拟机也可以。macOS Disk 基本上就是个垃圾,当你在U盘上同时创建HFS+和FAT文件系统时它会报错。此外,在 macOS 中创建的 FAT 分区无法调整大小。
准备好需要放入的安装盘等,需要的话准备好WinPE。这里推荐傲梅PE,是国外的Win PE环境,支持自行添加软件和驱动。(这个PE在运行的时候会阻塞它所在的驱动器,可能会出现一些问题,我们后面再说。)
所需的 软件 是:
编写 macOS 安装程序
从 mac 操作系统开始。首先下载Okmac操作系统安装程序(.app)进行备份,我们来做一些分区操作。macOS开机需要使用GPT(GUID)分区表,所以我们需要将磁盘格式化成这种格式,而不是U盘中默认的MBR。
打开磁盘工具,先在左边选择你的U盘,注意选择的是U盘而不是分区,然后点击Erase按钮,将整个磁盘擦除为GPT。⚠️此操作会清空U盘全部内容,注意备份。⚠️(虽然有些软件可以直接转换MBR和GPT,但我还是觉得直接擦掉比较干净)
如图,分区格式选择mac OS (),方案选择GUID分区图。单击擦除。第一次擦除不成功有一定概率,是系统没有正确卸载磁盘造成的。这个错误很常见。如果第一次失败,请再试一次。
之后,选择U盘,点击分区。您现在应该看到使用一个分区的整个硬盘驱动器。点击下面的加号新建一个分区,上面的硬盘会一分为二。选择右边的那个(第一个分区),在右边的中把分区的名字改成“macOS”(我们在接下来的写命令中会用到这个名字),把大小改一下到5.5GB(其实可以更小一点,但是为了兼容后续的macOS更新,我觉得5.5是比较合理的大小)。单击分区。
然后,您应该会在 mac 的桌面上看到两个分区。完成分区操作后,我们接下来编写安装程序。打开系统终端,找到您的 下载 .app 文件,将其拖入终端窗口并输入文件路径。终端会在文件路径后加一个空格,注意删除。
接下来输入 /// -- //macOS ,然后回车继续运行,程序会询问是否确定要擦除,输入y回车。然后等待它完成。
当程序提示“Done.”时,表示写入成功。如果您在写入时不小心关闭了终端窗口,请转到磁盘工具并擦除 macOS 分区并重新开始。
重新启动计算机,在启动过程中按住 键,您应该会看到安装程序图标出现在系统的启动菜单中。
其他分区处理和写入 Linux 分区
并不是所有的电脑都能像启动菜单中的mac一样显示U盘中的每个分区,有的EFI BIOS会直接从U盘识别的第一个区域启动(macOS中会被忽略) PC,因为 macOS 的引导加载程序存储在 . 而不是普通的 EFI 文件夹中),它后面的分区是无用的。如果您的第一个分区是安装程序,那么您将无法进入另一个分区上的系统(例如 WinPE)。
为了解决这个问题,我们可以将 Linux 发行版放在 macOS 分区之后的第一个分区上。因为大多数 Linux 发行版都包含一个名为 GRUB 的引导程序,所以可以通过从其自己的命令行跳转到另一个分区来启动该程序。
如果您已经需要 Linux,请将其写入紧跟 macOS 分区的分区中。如果你不需要 Linux,我建议在这里写一个 Live。是一款非常实用的分区工具,分布的大小非常小,解决问题的时候很实用。下载地址:,下载 64 位 ISO。
接下来,我们先进入分区操作,将U盘连接到虚拟机,也可以了。系统可能会提示分区损坏,取消,不要格式化,因为无法读取HFS+分区。
打开(以下简称DG),点击右小箭头切换到U盘:
可以看到分区图标如下:
右键删除右侧的大分区,然后单击保存更改。DG每次修改分区结构都需要保存一次,否则可能会出现你已经点击对话框填写参数要求你出去保存再回来的情况(什么奇怪的交互设计)。
在空白区域创建一个1GB的分区(如果要安装自己的发行版,可能需要更大的分区),分区格式为FAT32,DG在创建新分区时只能使用整数大小,所以先这样做,去回调整。完成后不要忘记单击保存更改。
关闭DG,在资源管理器中应该可以看到U盘出现了。使用解压工具打开下载good或者其他Linux发行版的安装ISO,直接把里面的文件扔进去。
重新进入DG,右击刚才的分区调整分区大小,对于,我这里调整大小为350M。
重新启动系统后,您应该可以在启动菜单中看到写入的启动盘。在 mac 上,它应该由一个名为“EFI BOOT”的黄色硬盘驱动器图标表示。
编写安装程序
分区方法与Linux类似。在空白区域新建一个分区,对我来说推荐大小为5GB,分区格式为FAT32。
前面我们提到,安装盘中有一个文件超过了FAT32的最大文件大小,需要第三方工具写入。运行,选择下面的ISO,点击三点按钮选择安装镜像。然后选择刚刚创建的分区作为目标。⚠️不要选错,抹掉其他分区就得重新开始。⚠️
单击写入等待完成。
重新启动后,您应该可以看到另一个启动盘。
写点别的
如果您没有其他安装盘可以写入,我们可以在DG剩余空间中新建一个分区用于存储文件。
最后我们把WinPE放进去。我们不需要给WinPE单独做一个分区,放在最后一个分区就行了。让我介绍一下奥美PE。
国内的PE系统想必很多人都用过,问题也不少。例如,许多不支持 NVME 硬盘,这使得无法备份 SSD。一些无良作者还会携带私货,偷偷改电脑浏览器主页,自动为你安装数码公司的杀毒软件软件什么?的。另一个问题是它很丑。即使是中国互联网上最好的“微型PE”,也有许多带有随机图标的程序。所以这里我选择了一个国外的PE来使用,虽然没有一些国人常用的软件,但是因为可以支持自己的加法,所以在实践中用起来很舒服。最重要的是,对 EFI 引导和 NVME 硬盘的支持很好。
官网有一个安装程序下载,必须先在系统中安装。这就是它在运行时的工作方式。注意中间的步骤,你可以自己添加软件和驱动,别忘了添加。最后选择生成 ISO。
这里再次推荐DG,因为这个PE在运行的时候会隐藏自己的磁盘,也就是说你不能用剩余的空间来备份文件。DG自带文件浏览器,可以在未挂载的磁盘中读写文件,在需要备份的时候非常方便。或者插入另一个磁盘。
之后,继续执行各种后续步骤以生成它。
旧的经验法则是从该磁盘复制所有文件并将它们放入我们刚刚创建的最后一个分区中。为了让我们存放文件的分区更干净,我们还可以在右键菜单中选择“属性”来隐藏这些文件和文件夹。
重新启动后,您应该会看到另一个新的启动盘。
方便调整
您可能已经注意到一些问题,在启动屏幕中,最后三个磁盘被称为“EFI BOOT”。我们怎么知道哪个是哪个?我花了很多时间研究如何修改这个显示名称,结论是不能这样做。mac 似乎不支持更改 FAT32 文件系统的显示名称。不过没关系,还有一件事我们可以改变,那就是磁盘的图标。
在mac中,启动盘的图标由根目录下的..icns决定。这里我做了一些对应的图标,大家可以下载使用:百度云。另外,你也可以用这个App自己制作ICNS文件,也很方便。
只需将图标放入并将名称更改为..icns。
在不支持多个 EFI 分区的计算机上启动
有的PC的UEFI不能识别一个磁盘中的多个EFI分区(甚至虚拟机BIOS也有这个问题),遇到这种情况非常尴尬。但是我们之前已经创建了一个 Linux 分区,所以我将向您展示如何使用 GRUB 手动引导到其他分区。
首先启动系统,进入U盘,会看到类似这样的画面。
在屏幕中按 C 键进入命令行,会看到类似 GRUB> 的提示。首先输入 ls 查看可用的硬盘和分区。
图中的格式是这样的(硬盘号,分区号)。虽然我们的U盘只划分了四个区域,但是由于前面macOS添加的保留分区的存在,一共有5个分区,分别从1到5表示。看上面编号的哪个硬盘有五个区,应该是我们U盘的编号,这里是0,一般应该是0。
如果我们要进入安装程序,这个区域的个数是4,在命令行输入set root=(hd0,4)回车。
后面要给出的EFI引导程序的位置,输入/EFI/Boot/.efi+1(Win10引导一般在这个地方),应该会看到如下提示,说明加载成功。
然后再次进入boot,如果没有意外,安装程序就可以正常启动了。
如果要启动 PE,除了分区号更改为 5 外,其他一切都相同。
问答
如果安装盘有新版本怎么办?只需擦除分区并根据前面的步骤重新刷新即可。同理,不过这个操作叫做格式化。
那些有安装盘的分区可以自己保存文件吗?当然,您可以在可用空间内随意存放,不会浪费。
U盘启动时无法启动怎么办?因为四个区的关系,在速度较慢的U盘上启动会很卡。这是正常现象,请稍等片刻。
参考
发表评论