FreeBSD 无法再启动,因为 /dev/gpt/rootfs 不再创建,如何解决这个问题?

FreeBSD 无法再启动,因为 /dev/gpt/rootfs 不再创建,如何解决这个问题?

我的 /etc/fstab 中有

/dev/gpt/rootfs   /       ufs     rw      1       1

gpart list 显示带有 rootfs 标签的分区:

3. Name: nvd0p3
   Mediasize: 16105245696 (15G)
   Sectorsize: 512
   Stripesize: 4096
   Stripeoffset: 1024
   Mode: r1w1e1
   efimedia: HD(3,GPT,1d7be3e1-14fe-11eb-9c6b-0cc47ad8b808,0x6b2,0x1dff946)
   rawuuid: 1d7be3e1-14fe-11eb-9c6b-0cc47ad8b808
   rawtype: 516e7cb6-6ecf-11d6-8ff8-00022d09712b
   label: rootfs
   length: 16105245696
   offset: 877568
   type: freebsd-ufs
   index: 3
   end: 31457271
   start: 1714

然而,系统无法再启动。我通过将 /etc/fstab 更改为来修复它

/dev/nvd0p3   /       ufs     rw      1       1

它会启动。这是我现在查看该磁盘的位置:

# ls /dev/gpt
bootfs

也在这里:

# ls -l /dev/gptid
total 0
crw-r-----  1 root  operator  0x46 Jun  6 17:28 1d7be3d4-14fe-11eb-9c6b-0cc47ad8b808
crw-r-----  1 root  operator  0x5a Jun  6 17:28 1d7be3dc-14fe-11eb-9c6b-0cc47ad8b808

这两个是nvd0p1和p2,但是缺少p3。

这个 gpart 标签似乎已损坏。

然后我又做了一个。我只是复制了整个磁盘并从头开始设置 gpt。

你瞧,rootfs 分区标签再次没有显示为 /dev/gpt/rootfs。

但奇怪的是,当我将此磁盘附加到另一个正在运行的系统时,/dev/gpt/rootfs 出现了。只是当该磁盘用作启动盘时,/dev/gpt/rootfs 就丢失了。其他一切都在那里。

这实在是太糟糕了。我不知道它会是什么,现在已经失去耐心去尝试其他选择并失败。

根据要求,以下是 /boot/loader.conf 的内容:

debug.trace_on_panic=1
debug.debugger_on_panic=0
kern.panic_reboot_wait_time=0
autoboot_delay="-1"
beastie_disable="YES"
hint.atkbd.0.disabled=1
hint.atkbdc.0.disabled=1
boot_multicons="YES"
hw.broken_txfifo="1"
if_ena_load="YES"
console="comconsole"

答案1

尝试将这些行添加到您的/boot/loader.conf

kern.geom.label.disk_ident.enable=0
kern.geom.label.gptid.enable=0
kern.geom.label.gpt.enable=1
kern.geom.label.ufs.enable=1

另外,将您的/etc/fstab线路改回:

/dev/gpt/rootfs   /       ufs     rw      1       1

重新启动它,并在下面评论您的结果。为了获得奖励积分,请将这些进一步的条目添加到/boot/loader.conf,并编辑您的帖子以包含产生的任何有趣的输出:

kern.geom.debugflags=7
kern.geom.label.debug=2

可以找到好的读物这里但这可能只是有启发性,而不能直接解决您的具体情况。

相关内容