如何从 Arch Linux 创建 FreeBSD 11.1 的实时 USB?

Jos*_*nto 3 freebsd arch-linux dd live-usb

我想在我的 UEFI 固件中为 FreeBSD 11.1 启动实时 USB。我尝试使用以下方法创建实时 USB:

dd if=FreeBSD-11.1-RELEASE-amd64-dvd1.iso of=/dev/sdc bs=4M status=progress && sync
Run Code Online (Sandbox Code Playgroud)

然后我尝试启动这个 USB 并收到 GRUB 消息:

error: unknown filesystem.
Entering rescue mode.
grub rescue>
Run Code Online (Sandbox Code Playgroud)

这个 USB 没有任何问题,因为我已经设法从它启动了几个发行版,而且不久前(我最后一次这样做最多一个月),我使用几乎相同的 dd 命令将这些发行版放在 USB 上。

我正在运行 Arch Linux,但我没有安装 Windows、macOS 或任何非 Linux 操作系统,所以如果您的方法涉及使用其他操作系统,恐怕它不适用。

小智 6

您正在使用错误的图像。在FreeBSD 11.1的Release Information 页面,您可以获得以下信息:

影碟1

这包含安装基本 FreeBSD 操作系统所需的一切、文档、调试分发集和一小组旨在启动和运行图形工作站的预构建包。它还支持启动到基于“livefs”的救援模式。如果您可以刻录和使用 DVD 大小的媒体,这应该就是您所需要的。

--- 剪辑 ---

记忆棒

这可以写入 USB 记忆棒(闪存驱动器)并用于在能够从 USB 驱动器启动的机器上进行安装。它还支持启动到基于“livefs”的救援模式。没有预先构建的软件包。

作为如何使用 memstick 映像的一个示例,假设 USB 驱动器在您的机器上显示为 /dev/da0,这样的事情应该可以工作:

    # dd if=FreeBSD-11.1-RELEASE-amd64-memstick.img \
      of=/dev/da0 bs=1m conv=sync
Run Code Online (Sandbox Code Playgroud)

小心确保你得到的目标(of=)是正确的。

因此,您需要修复/适应以使其适用于 Linux:

  • 图像必须FreeBSD-11.1-RELEASE-amd64-memstick.img不是dvd1
  • 块大小必须与图像bs=1m无关。利用资本上的Linux代表了1024 * 1024的尺寸,一样的使用上的FreeBSD4mmemstickMddmdd
  • 将输出文件更改为代表您的 Pendrive 的文件,就像of=/dev/sdc您在问题中所显示的那样。

  • 正如我引用了文档并试图不更改它。您必须将 `of=` 调整为与您的输出设备相对应的那个,这可能是 `/dev/sdc`。我也会把它放在答案上。假设 ISO 文件是 hibrid(dvd 和 USB)是没有问题的,但出于好奇,几年前的 Debian 也不是这样,在那里您必须使用 Unetbootin 或其他工具来提取 ISO 内容; )。Virtualbox 模拟 cd 驱动程序,所以它应该可以工作。 (2认同)