我有一台运行 Windows(带有 BitLocker)的笔记本电脑,用于工作。我希望可以选择使用外部 SSD(通过 USB 连接)启动 Ubuntu,而无需触及现有 Windows 配置中的任何内容。我已经听到了运行实时系统的建议,它可能还没有实现,但经过一番挖掘,我相信有可能实现我想要的。这是我所做的:
- 将 Ubuntu 20.10 下载到 USB 拇指驱动器上
- 使用此 USB 启动并选择“安装”插入我的外部 SSD,选择它作为使用整个磁盘进行安装的目标,也作为引导加载程序安装位置。逻辑是,如果我在启动时插入 SSD,它可以启动,如果没有,则未触及的 Windows 引导加载程序将发挥作用。当我想启动 Ubuntu 时,我准备按 F9 选择备用启动设备
- 安装完成后,我删除了 U 盘,重新启动,按 F9 并启动到 Ubuntu - 到目前为止,一切都很好
- 关机、拔掉 SSD、开机……只看到 grub 命令提示符。经过一番挖掘后
exit
,我可以启动到 Windows - 我做了 Windows 魔术来将我系统上的引导加载程序恢复到原始状态(即在没有按下任何键且没有插入外部媒体的情况下重新启动,让你直接进入 Windows)。
因此,总而言之,任务没有完成,因为我无法在未触及内置 SSD 的情况下选择性地启动。我仍然在我的外部 SSD 上安装了 Ubuntu,我非常想启动它,但我被卡住了。我正在尝试做的事情可能吗?如果是这样,我该怎么做才能通过使其可启动来挽救外部 SSD 上的安装,或者以完全不影响集成(Windows)SSD 的方式执行安装?是实现后者在安装时物理移除内部 SSD 的唯一可靠方法吗?
我确实找到了这个,但在这一点上它和this有点让我头疼,这与我的情况略有不同。我的主要目标是使外部 SSD 上的现有安装可启动。
我建议您按照以下步骤操作:
从您的工作笔记本电脑中提取您的内部硬盘。使用 Ubuntu 安装程序插入随身碟并使用 Ubuntu live 启动。在要安装 Ubuntu 的位置插入外部 HD。从 pendrive 在您的外部 HD 上安装 Ubuntu。
安装引导修复,其中包含在 Ubuntu 中使用 UEFI 的实用程序。
关闭笔记本电脑。
从外置硬盘启动
安装启动重新配对并执行它,您会在互联网上找到可以帮助您在 Ubuntu 中配置 UEFi。
现在可以关机了。连接内部硬盘和外部硬盘。使用 F12 启动以配置 uefi 以使用 Windows 10 uefi 和来自 Ubutnu 外部硬盘的 efi。
重启。从 Ubuntu 外部硬盘启动。
现在,在我的情况下,使用 Virtual Box 从 Ubuntu 使用 Windows 10 内部安装是魔法。
您需要做的是指向现有硬盘的所谓“创建原始磁盘”文件。稍后,您使用该文件创建一个新的 Virtual Box 虚拟机,您将使用现有安装从 Ubuntu 启动 Windows 10。不要忘记在 Virtual Box 虚拟机配置上单击 UEFI 选项。
这是一个从 Ubuntu 映射到 /dev/nvme0n1 的现有文件创建原始文件虚拟硬盘的示例:
这些只是一点帮助。您可能会发现,也许您需要使用 sudo 来使用 Virtual Box,但是通过一些讲座和几个小时,您可能会找到使其与普通用户一起使用的方法。
我按照ptetteh227提供的这些步骤解决了这个问题。这基本上是oldfred上面的建议,但我需要细节。这些步骤是为 Ubuntu 15.10 提供的,但将它们应用到 Ubuntu 20.10 可以完美运行。请注意,我没有遵循“为 Ubuntu 创建自定义引导条目以指向外部 HD 上的 efi”的步骤,因此我无法谈论它们的持续有效性。
如果您不想按照上面的链接进行操作,请执行以下步骤:
将 Grub 安装到安装了 Ubuntu 的外部硬盘驱动器
启动到 Ubuntu live USB 并连接外部硬盘驱动器。
列出所有设备的分区:
从 的结果中
lsblk
,分别识别出 linux 分区和外置硬盘的 efi 分区,ie/dev/sdXY1
和/dev/sdXY2
。将XY1
和替换XY2
为您自己的分区名称。特殊挂载linux分区:
挂载关键的虚拟文件系统:
chroot
进入你挂载的 Linux 分区:您现在位于外部硬盘驱动器的 linux 文件系统中。
创建 grub 将安装其文件的目录:
如果它已经存在,则跳到步骤 8。
从第 3 步挂载 efi 分区:
将 grub 安装到外部硬盘驱动器:
更新蛴螬:
找到 efi 分区的 UUID(又名“vfat”)并记下它:
或者
现在我们需要告诉 fstab 在启动时挂载那个 efi 分区:
将以下两行添加到 fstab 中,将 xxxx-xxxx 替换为步骤 11 中的 UUID:
确保注释掉 Windows esp 的 fstab 条目,以免冲突。
退出 chroot:
重启电脑:
此时,当您重新启动并从 EFI 启动管理器中选择您的外部设备时,它将启动到 grub。
要使 Ubuntu 在您插入外部设备时自动启动,并且 Windows 在未插入外部设备时自动启动,您必须为 Ubuntu 创建一个自定义启动条目以指向外部驱动器上的 efi:
为 Ubuntu 创建自定义引导条目以指向外部 HD 上的 efi
从 Windows EasyUEFI可以添加或删除启动项。
从 Linux efibootmgr可以添加或删除引导条目。
备选方案 #1 – 使用 EasyUEFI
在 Windows 中下载 EasyUEFI,安装并运行。
选择EFI 选项管理器
选择使用 + 号创建“新条目”
选择Linux 或其他操作系统并在描述框中为其命名
在包含 grub 引导加载程序的外部驱动器上选择 FAT32 EFI 分区
选择浏览
导航到/efi/ubuntu/shimx64.efi或/efi/ubuntu/grubx64
节省
将其移至引导条目列表的顶部
重新开始
备选方案 #2 – 使用
efibootmgr
列出引导菜单条目:
创建启动项:
例如:
efibootmgr -c -L myubuntu -d /dev/sdX
此引导条目将自动成为第一个条目。
/dev/sdX
是带有 grub 引导加载程序的外部硬盘驱动器。您现在可以重新启动,无需您的干预,当插入外部硬盘驱动器时,Ubuntu 会自动启动。当未插入外部硬盘驱动器时,PC 会跳过我们的Ubuntu启动条目,进入下一个条目,可能是Windows Boot Manager。