如何更改驱动器号


1

我在驱动器所在的机器上安装了FreeBSD 8.1,/dev/ad6但已将其移动到现在驱动器的新系统/dev/ad4。新系统启动但我需要手动指定根文件系统已启用ad4s1

如何更改引导加载程序以自动执行此操作?谷歌搜索引出了disklabel -e能够更改磁盘编号的示例,但我只获得“未找到类”错误,并且此方法没有更改磁盘标签。


/etc/disktabbsdlabel -B/boot/kernel.conf
米克尔

Answers:


4

我有以下情况:

我将FreeBSD 10.1 USB .img文件安装到1GB棒上并将FreeBSD安装到16GB棒上。被认为是1GB的棒/dev/da0,而16GB的棒被认为是/dev/da1。FreeBSD安装到16GB以下/dev/da1s2a。然后我删除1GB棒 - 通常无法自动启动到FreeBSD系统。系统说无法启动vfs.root.mountfrom="/dev/da1s2a",但是让我手动启动进入FreeBSD,所以我不得不将启动切片更改为/dev/da0s2a,并且工作正常。当然,我不想手动完成,所以我找到了这篇文章。

它启发我搜索变量的位置vfs.root.mountfrom,所以我重新启动系统,拉出16GB棒,放回1GB棒,从它作为Live CD启动。此时,我放回16GB棒,安装它(mount /dev/da1s2a /mnt)并搜索“vfs.root.mountfrom”。我的发现是:

  1. 请勿更改/boot/loader.conf文件!
  2. 请勿更改/boot/defaults/loader.conf文件!

因为做那些事会搞乱装载机!

解决的办法是在调整/etc/fstab/mnt(16GB棒)改变输入/dev/da1s2a/dev/da0s2a/作为装载机正在寻找的fstab文件系统在fstab启动过程中,并自动写入的值vfs.Root.Mountfrom变!

所以在重启期间我删除了1GB棒,机器成功启动了FreeBSD!


我在XServe上安装了FreeBSD,然后将原始磁盘移出,所以驱动器号码改变了(ata1到ata0)。这个简单的解决方案立即解决了
Allan

2

文件/boot/loader.conf包含以root用户身份挂载文件系统的说明。

检查此文件是否为enrty:

vfs.root.mountfrom="ufs:ad6s1a"

并调整它(如果它缺少则添加它):

vfs.root.mountfrom="ufs:ad4s1a"

(假设设备4的片1的分区a)


这很简单,对我有用。谢谢!
ACK_stoverflow 2015年

1

使用sysinstallConfigure > Label)允许修复磁盘标签。一个奇怪的是编辑器提出了正确的磁盘编号(即ad4),但选择W写出正确的标签并修复了启动问题。


0

我想你想改变/boot.config

请参见boot.config手册页。

它表明你想要的东西

echo "1:ad(4,a)/boot/loader" > /boot.config

但是首先看看文件/dev/ad6是什么,然后找出/dev/ad4应该是什么。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.