我刚刚买了一个外置硬盘,目的是在上面运行 Ubuntu。我在论坛上搜索了一段时间,但还没有找到我具体问题的答案,我希望我的外置 SSD 分为 3 个分区 - 1 个完整的 Ubuntu 分区(所以不是实时模式) - 1 个分区(最好是 NTFS 或 FAT)用于存储我的工作文档 - 1 个分区(hfs)用于存储个人文档
我希望让外部磁盘可由不同的系统(Windows PC 和 Mac)启动。这是我遇到的一个特殊问题,因为我对启动过程不太熟悉。我知道我可能大多数时候都必须在 (u)efi 中启动,但有时仍然需要在旧版 bios 中启动。
我该怎么做?
答案1
准备一个外部硬盘以在 BIOS/CSM/传统模式或 EFI/UEFI 模式下启动 Ubuntu 是可行的,但比较棘手。我没有一步一步的指导,但我确实有一些提示和建议:
- 使用 GPT-- 使用以下方式对磁盘进行分区GUID 分区表 (GPT),而不是老主引导记录 (MBR)系统。这将有利于 EFI 模式启动,并且不应妨碍 Ubuntu 的 BIOS 模式启动。另一方面,使用 GPT 将使从较旧或较不知名的操作系统(如 Windows XP)访问磁盘变得复杂,因为它们不支持 GPT。
- 先放置 Windows 可访问的分区-- Windows 将某些外部媒体(尤其是 USB 闪存驱动器)视为“超级软盘”,这意味着它只允许您访问第一个分区,即使该分区是 Windows 无法读取的分区(因为它是 HFS+、Linux 分区等)。此限制可能不适用于您的特定磁盘,因此我建议您在投入太多精力进行其他操作之前先测试此细节;如果您有任何疑问,请先将 Windows 数据分区放在磁盘上。
- 创建 BIOS 启动分区和 ESP- ABIOS 启动分区是一个很小的 (~1 MiB) 分区,用于保存 BIOS 模式 GRUB 安装的一部分。EFI 系统分区 (ESP)是一个较大的(我建议 550 MiB)FAT32 分区,用于保存 EFI 引导加载程序和相关文件。虽然如果您使用 GRUB 以外的程序作为 BIOS 模式引导加载程序,则可以不使用 BIOS 引导分区,但您的建议配置将需要 ESP。
- 学会控制计算机的启动模式-- 为了达到您的目的,重要的是您要学会控制计算机是在 BIOS/CSM/传统模式还是在 EFI/UEFI 模式下启动。如果您不知道如何执行此操作,您将以安装程序碰巧启动的任何模式进行安装,这可能不是您的计划的最佳选择。不幸的是,如何执行此操作的细节因计算机而异。通常,您会看到两个用于启动安装介质的选项,其中一个包含字符串“UEFI”,另一个不包含字符串。启动后,查找名为 的目录
/sys/firmware/efi
。如果存在,则说明您已在 EFI 模式下启动;如果不存在,则说明您已在 BIOS 模式下启动。如果您似乎无法让 Ubuntu 安装程序以所需的模式启动,则可能是缺少相关的引导加载程序,这意味着您可能需要摆弄用于将文件写入.iso
USB 闪存驱动器的任何程序的选项,甚至完全切换程序。 - 在 BIOS 模式下安装 Ubuntu,然后添加 EFI 模式引导加载程序-- 如果您以 BIOS 模式将 Ubuntu 安装到磁盘,您可以告诉安装程序将 GRUB 放在外部磁盘上。然后外部磁盘应以 BIOS 模式启动(或在仅 BIOS 的计算机上启动)。然后,您可以将 EFI 模式引导加载程序添加到 ESP,存储为
EFI/BOOT/bootx64.efi
(“后备文件名”)。请注意,大多数 EFI 引导加载程序的安装工具都会尝试将引导加载程序存储在另一个文件名下并将其注册到 NVRAM,但这是不是你想要的。获得所需行为的一个相对简单的方法是安装 Debian 软件包或 PPArEFInd 启动管理器 在 BIOS 模式下启动时。当 rEFInd 安装程序发现它在 BIOS 模式下运行时,它将安装到备用文件名。但请注意,我已经有一段时间没有测试过此代码路径了,因此可能存在错误。您可能还想阅读我的这个页面,这篇文章概括了 EFI 引导加载程序的安装。如果您以 EFI 模式安装 Ubuntu,它很可能在第一台计算机上运行,但当您尝试在另一台计算机上启动它时会失败。您可以通过将引导加载程序复制到备用文件名来解决这个问题,但即使您确切知道该怎么做,这也是一个(小)麻烦,如果您不知道,那就太麻烦了。 - 了解安全启动-- 如果您要启动安装的任何计算机都使用安全启动,则可能需要调整 EFI 模式引导加载程序。这是 GRUB 比 rEFInd 工作得更好的一个方面,因为 Ubuntu 的 GRUB 和 Shim(大多数 Linux 发行版用来应对安全启动的程序)无需修改即可与安全启动配合使用。虽然您可以将 rEFInd 与 Shim 和安全启动配合使用(请参阅关于这一主题的文献,您可能需要完成一些额外的工作,并且您必须在每台安全启动计算机上注册至少一个机器所有者密钥 (MOK)。如果您只想启动几台自己的计算机,这可能是可以接受的麻烦;但如果您想将磁盘带到随机计算机或将其交给朋友或亲戚使用,则必须通过所需的糟糕用户界面注册 MOK 可能是不可接受的。
- 在多台计算机上测试已安装的系统-- 您可能认为它运行正常,因为系统在一台或两台计算机上启动,但它可能在第三台计算机上失败。
- 做好从头开始的准备-- 您的第一次尝试很可能会以失败告终。如果发生这种情况,请尝试找出问题所在并解决问题,或者在必要时从头开始。
答案2
您可以从内部磁盘启动 Ubuntu 并执行以下操作:
sudo apt install gparted sudo gparted
从那里,您可以根据需要重新分区外部磁盘。如果您从另一个 USB 端口上连接的 SSD 磁盘的 USB 磁盘启动,则可以在其上安装 Linux。如果您需要安装 Windows,最好先安装 Windows,然后再安装 Linux,否则 Windows 将破坏引导扇区,Linux 将无法启动。希望这对您有所帮助。
您可以在此处找到更多详细信息:如何在 UEFI HP 笔记本电脑上双启动 Windows 10 和 Ubuntu?