系统恢复
系统恢复方法概述
FreeBSD 系统恢复可根据故障严重程度选择不同的方法,按侵入性从低到高排列如下:
- 单用户模式 Single-User Mode :系统启动至运行级 1(run level 1),仅挂载根文件系统(/),不启动网络服务和多用户环境,以 root 权限运行
- 开机按 2 进入 single user 模式,默认无需输入密码,可使用 passwd 命令重置密码
- Live 镜像启动 :从安装介质(U 盘或光盘)启动完整的 FreeBSD 运行环境,不依赖硬盘上的系统
适用于无法从硬盘启动的场景
如引导加载器损坏、根文件系统严重损坏、磁盘分区表丢失等 Live 环境提供了完整的工具链,可执行文件系统检查(fsck)、ZFS 池导入(zpool import)、数据备份等操作
灾难恢复:当整个存储子系统不可用时,需要依赖预先创建的备份(如 ZFS 快照的远程复制、dump/restore 备份)进行系统重建
此场景超出本节范围
UFS 文件系统
将根 UFS 文件系统挂载为可写:
$ mount -u /
挂载所有 UFS 文件系统:
$ mount -a -t ufs
ZFS 文件系统
在某些情况下,FreeBSD Live 镜像对 ZFS 磁盘的操作可能受限,例如无法创建挂载点或修改为可写模式。此类限制通常与 Live 镜像的默认配置有关 如遇此类问题,可尝试使用 Ubuntu 24.04 或更高版本的 Live 模式对 ZFS 磁盘进行操作,例如还原快照等
将根文件系统挂载为可写:
$ mount -u /
挂载所有 ZFS 文件系统:
$ zfs mount -a
挂载 ZFS 根文件系统:
$ zpool import -fR /mnt zroot
参数说明:
- -f:强制导入(force)
- -R:指定备用根目录(altroot)
使用 zpool import -fR /mnt zroot 表示强制将 zroot 池导入到 /mnt 作为备用根目录
故障排除与未竟事宜
passwd: pam_chauthtok(): Error in service module
请检查 ZFS 文件系统是否处于只读状态:
$ zfs get all | grep readonly
解除 ZFS 文件系统只读属性:
$ zfs set readonly=off zroot
使用 U 盘设备
将指定 U 盘分区挂载到 /mnt 并以读写模式访问:
$ mount /dev/daXpN -o rw /mnt
参数说明:
- 可通过 dmesg 命令查看设备信息以确定 da 后的具体编号
- X、N 的参数取决于具体设备编号
| Previous: Sysctl工具 | Home: 系统管理 |