我的任务是在没有可移动介质的情况下安装 FreeBSD 8 和 CentOS 6。 CentOS 6 已经在机器上,并且运行得很好。但是,我不知道如何让 FreeBSD 运行。我花了很多时间尝试各种事情,但总是碰壁。以下是最成功的两次尝试:
- UNetBootIn:经过一些调整,它给了我一个 GRUB 菜单项来启动 FBSD 8 的 sysinstall。但是,当我去安装它时,我收到了“找不到磁盘”错误,但我无法解决。我尝试将硬盘从 IDE 切换到 ACHI,然后再切换回来,但没有成功。我认为这可能是最好的方法,但我被阻止了。
- 将安装 ISO 的内容复制到硬盘驱动器:我为 ISO 创建了一个 FAT32 分区,并创建了一个运行 /boot/loader 的 GRUB 条目,但出现错误,提示无法加载内核。当我使用 lsdev 时,我可以看到它所在的分区,但我似乎无法加载内核。使用 ls 告诉我 / 不存在。
- 与 #2 类似,但在 GRUB 条目中使用 /boot/kernel/kernel 而不是 /boot/loader:这将成功加载内核,但当它要求我挂载根分区时会变得混乱。不幸的是,无论我告诉它使用哪个分区,内核都会拒绝我尝试的所有安装点。
如果有人对如何使这些工作有任何想法,或者可以为我指出正确的方向,我将非常感激!
答案1
我还没有尝试过,但是如果您首先在磁盘上创建 BSD 磁盘标签,您也许能够启动 FreeBSD。
我强烈建议阅读Linux + FreeBSD 指南在执行其他操作之前,请先了解有关 BSD 和 Linux 分区的信息。我将解释如何处理它,fdisk
因为它更接近金属。
您可以从以下位置执行以下操作分手了;我不知道它对 BSD 分区的支持是否能胜任这项任务。我建议您在 fdisk 之前尝试 Parted,因为它不太容易出错。
首先,从 Linux 创建一个BSD分区表。运行fdisk /dev/sda
(或者您想要安装 FreeBSD 的任何磁盘)并:
- 使用以下命令创建 PC 风格的主分区(通过
/dev/sda1
之一/dev/sda4
)n
。它将包含 FreeBSD 的所有内容,因此请适当调整其大小。 - 使用命令将其类型设置为
a5
(FreeBSD)t
。 - 使用以下命令在新创建的分区上创建 BSD 磁盘标签
b
。 - 创建(使用
n
命令)一个 BSD 分区a
,该分区使用分配给 FreBSD 的部分空间;通常,a
分区在 BSD 空间开始后 64kB 处开始。这是根分区。将其类型(使用t
命令)设置为7
(4.2BSD)。 - 创建一个 BSD 分区
b
,使用分配给 FreeBSD 的部分空间。这将是交换分区;将其类型设置为1
(交换)。我认为这一步是可选的。 - 删除
d
Linuxfdisk
创建的分区。 - 使用该
x
命令创建一个d
与存储 FreeBSD 安装文件的分区一致的 BSD 分区。 - 非常非常仔细地检查您的更改。如果满意,请运行
w
将新的 BSD 磁盘标签写入磁盘,然后w
在主菜单中再次运行将 PC 分区表写入磁盘。
请注意,这很容易出错;拼写错误可能会毁掉您的所有数据。同样,如果 Parted 可以做到这一点,请使用 Parted。
创建 BSD 分区后,请再次尝试方法 #2 或方法 #3。
答案2
通过 IPMI 的虚拟媒体,但这取决于您的服务器是真实服务器还是低成本机器。