我正在尝试从按照以下说明创建的 USB 驱动器启动 FreeBSD 9官方指南:
dd if=FreeBSD-9.0-RELEASE-i386-memstick.img of=/dev/da0 bs=64k
启动失败,出现简单的“启动错误”。我使用这个 USB 棒已经有一段时间了,目的就是启动/安装新的操作系统,但我还是尝试了另一个 USB 棒 - 问题相同。我也在另一台机器上重现了这个问题。我通过 torrent 获取了映像文件,据我所知,它内置了 md5 检查,但我还是直接从 FreeBSD 镜像中再次下载了它。结果相同。
有人成功解决了这个问题吗?我在网上没有找到任何相关信息,这似乎表明这不是一个众所周知的问题。有人知道在哪里可以找到问题的原因吗?
答案1
您是否实际使用了它/dev/da0
或者将其替换为实际的设备名称?
官方指南仅为您提供了一个要写入的示例设备名称。da0
是一个 FreeBSD 设备名称,而不是 Linux 设备名称,所以您可能实际上并没有写入您的 USB 记忆棒。
使用dmesg
来确定你的 USB 驱动器在 Linux 下是哪个设备 - 可能是类似的sdb
,在这种情况下你的dd
命令将如下所示:
dd if=FreeBSD-9.0-RELEASE-i386-memstick.img of=/dev/sdb bs=64k
答案2
我在 dd 中添加了选项“conv=sync”,这样我就可以在 Ubuntu 上创建启动盘了。整个命令如下:
dd if=FreeBSD-9.0-RELEASE-i386-memstick.img of=/dev/sdb bs=64k conv=sync
答案3
我找到了问题的原因:我在 Linux 下创建了 USB 记忆棒 - 但看来该记忆棒只能在 FreeBSD 下创建。
您可能认为 dd 是在 Linux 还是 FreeBSD 或任何其他操作系统下运行应该没有什么区别,因为它所做的就是将字节从一个设备复制到另一个设备,但在这种情况下,它确实有区别。
我想知道:如果需要运行 FreeBSD 安装来创建安装介质,那么应该如何安装 FreeBSD?
答案4
我正在该服务器上从头安装 FreeBSD 10,并借此机会回顾了这个问题。恐怕最好的答案是:再试一次。
我在 Linux 上运行过dd
带有和不带有每个bs=64k
(和其他块大小)和conv=sync
开关的命令,并且每次服务器都能从 USB 记忆棒顺利启动。
我能想到的导致这个问题的唯一原因是 - 与 Debian 不同 - FreeBSD(以及其他操作系统)提供了两个 ISO 映像,一个叫...-disc-1.iso
,另一个叫...-memstick.iso
;dd
将第一个插入 USB 驱动器将导致所述的启动错误。这似乎不太可能(因为我甚至在问题中引用了 ISO 名称),但如果您来自 Debian,跳过阅读 FreeBSD 文档并通常关闭您的大脑,这可能会发生。
非常感谢大家的回复,很抱歉,这并没有解决一些问题,可能对以后遇到同样问题的人有帮助。