更改 FreeBSD Loader 的 loaddev 变量

更改 FreeBSD Loader 的 loaddev 变量

我正在寻找更改loaddevFreeBSD 变量的方法/boot/loader。无论是在 FreeBSD 中,还是在 Google 中,都没有什么用处man

disk0p2默认情况下,它对应于,GPT但也可以disk0s2:用于BSD 的磁盘标签以及MBRMBR分区(又名片)上的 BSD 磁盘标签(子分区)。disk0a:disk0s2a:

loader.conf但如何将其更改为从我想要的分区加载呢?

当我尝试时,set loaddev=disk0s2:我得到了operation not permitted。任何想法?

答案1

将这两者分开在概念上是不可能的。

机器固件将信息传递给引导加载程序(以各种方式,其细节并不重要)给出启动卷的设备路径。引导加载程序必须知道才能找到任何事物,包括文件/boot/loader/boot/loader.conf文件,它们都是位于同一个单曲启动音量。

就加载程序而言,此时只有一个已知卷,因此无法将这两个文件放在两个不同的卷上。

  • 理论上是传统的老式PC/AT引导程序 启动管理器可以允许人们通过从启动管理器的菜单中进行选择来选择不同的启动卷。
  • 理论上,我们可以将BootXXXX变量重写为EFI启动管理器其中有不同的设备路径。
  • 理论上,可以在其微调器处中断 boot(8)、gptboot(8) 或 gptzfsboot(8),并手动输入启动卷的设备路径。

实际上,这些都是相当深奥的操作,哪一种更合适取决于机器的固件是什么。多重引导以及执行此操作所需的所有知识已不再像以前那样普遍。

/boot/loader它更改了所有、/boot/loader.conf、 以及内核模块和文件的位置;所有这些都位于同一个启动卷上。

相关内容