FreeBSD数据备份与迁移方法从零开始的完整指南
迁移数据这件事,不少用户可能都考虑过:磁盘空间不足想添加新硬盘,或者旧硬盘容量偏小、出现故障需要更换。今天就来详细梳理具体的操作思路。当然,实际环境千差万别,这里仅提供一个可参考的框架,还需根据你手中的硬盘和系统实际情况进行调整。
无论采用哪种方法,第一步都是先安装新硬盘并让系统正确识别。为了省去调整硬盘跳线的麻烦(默认设置为Master),这里假设将新IDE硬盘连接到IDE1接口,即与旧硬盘使用不同数据线,系统会识别为ad2。如果必须与旧硬盘共用同一条数据线(IDE0),则需要将跳线设为Client,系统识别为ad1。具体步骤:关机、安装新硬盘、开机,然后执行下面命令确认系统是否识别到新硬盘:
hpserver# dmesg | grep ad2
如果成功识别,会看到类似如下的信息:
ad2: 9765MB [19841/16/63] at ata1-master UDMA33
若没有显示,则需要检查接线或硬件兼容性问题。新硬盘就位后,下面分别介绍两种常见的数据迁移场景。
一、增加一块硬盘,将原系统的 /var 数据迁移过来
FreeBSD 不像 Windows 的 PQMagic 那样可以自由调整分区大小且不丢失数据。因此,当 /var 空间紧张时,添加一块新硬盘并把旧数据搬过去是最稳妥的解决方案。
1. 对新硬盘进行分区
可以使用 sysinstall 或命令行 fdisk。虽然 fdisk 更灵活,但这里更推荐 sysinstall 的图形界面,分区完成后再利用它的 Label 功能创建文件系统。
2. 挂载文件系统到 /mnt
hpserver# mount /dev/ad1s1e /mnt
3. 迁移数据——两种主流方法
这里介绍两种方式:tar 和 dump/restore,大家可根据场景选择。
(1) 使用 tar 备份并还原
hpserver# cd /var
hpserver# tar cf - * | (cd /mnt; tar xf -)
(2) 使用 dump 备份并用 restore 还原
根据个人经验,推荐 dump + restore。曾经尝试用 tar 备份 /var 时,因为部分正在使用的文件或临时文件无法读取,导致中途中断。而 dump 按块操作,不受文件锁限制,可靠性更高。
hpserver# cd /mnt
hpserver# dump -f- /var | restore -f- -r
过程中会输出类似下面的信息,属于正常现象:
DUMP: Date of this level 0 dump: Wed Jan 14 23:44:35 2004
DUMP: Date of last level 0 dump: the epoch
DUMP: Dumping /dev/ad0s1e (/var) to standard output
DUMP: mapping (Pass I) [regular files]
DUMP: mapping (Pass II) [directories]
DUMP: estimated 305 tape blocks.
DUMP: dumping (Pass III) [directories]
DUMP: dumping (Pass IV) [regular files]
DUMP: DUMP: 361 tape blocks
DUMP: finished in less than a second
DUMP: DUMP IS DONE
4. 确认与收尾
有一点需要提醒:备份过程中不要向原 /var 写入新数据,否则那些文件不会出现在新分区。完成后检查结果,然后卸载 /mnt:
hpserver# ls /mnt
hpserver# umount /mnt
5. 修改 /etc/fstab
将原来指向 /var 的设备路径改为新硬盘对应的分区(例如 /dev/ad1s1e),重启即可生效。
二、硬盘复制——旧盘换新盘
如果旧系统盘出现坏道、容量不足,打算整体更换,就可以将旧盘完整复制到新盘,然后移除旧盘。操作前有一个小技巧:先记下旧硬盘每个文件系统对应的挂载点(通过 /etc/fstab 查看),然后对新硬盘分区时完全按照旧盘的次序——这样后续挂载时不会混乱。
1. 对新硬盘分区并创建文件系统
用 sysinstall 分区,设置 MBR,然后按旧盘的次序逐一创建文件系统。例如,旧盘 /dev/ad0s1g 对应 /usr,新盘 /dev/ad2s1g 就设为 /usr;/dev/ad0s1e 对应 /var,新盘 /dev/ad2s1e 就设为 /var。关键一步:在 sysinstall 的 Label 界面中,按 M 清空所有文件系统的挂载点(因为我们尚未创建临时挂载目录),避免与系统原有挂载冲突。
2. 创建临时挂载点并挂载
hpserver# cd /mnt
hpserver# mkdir root
hpserver# mkdir usr
hpserver# mkdir var
然后根据 /etc/fstab 中旧盘的对应关系,挂载新盘的分区:
hpserver# mount /dev/ad2s1a /mnt/root
hpserver# mount /dev/ad2s1g /mnt/usr
hpserver# mount /dev/ad2s1e /mnt/var
3. 使用 dump+restore 复制数据
复制根分区时最好使用 dump,不要用 tar。因为 tar 如果不加排除参数会将所有内容(包括 /proc、/sys 等)都打包进去,这不是我们想要的结果。分别执行:
hpserver# cd /mnt/root
hpserver# dump -f- / | restore -f- -r
hpserver# cd /mnt/var
hpserver# dump -f- /var | restore -f- -r
hpserver# cd /mnt/usr
hpserver# dump -f- /usr | restore -f- -r
4. 检查并卸载
hpserver# umount /mnt/root
hpserver# umount /mnt/usr
hpserver# umount /mnt/var
5. 最后一步
关机,拆下旧硬盘,将新硬盘安装到旧硬盘原来的物理位置(例如 IDE0 接口)。这一步不能省略——如果不换位置,系统仍会把新盘识别为 ad2,而 /etc/fstab 中写的是 ad0,系统启动时就会报找不到 /usr、/var 等分区。启动后检查一切正常,恭喜你,数据迁移成功。如果出现问题,回顾之前的步骤看看是否有遗漏。无论如何,不要急着清空旧硬盘——让新系统运行几天,确认无误后再动手清理。
最后再提醒一句:数据迁移是有风险的操作,过程中任何失误都可能导致数据丢失,务必谨慎再谨慎。
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
同类文章
麒麟系统字体太小看不清如何调整界面字体大小
麒麟系统高分屏字体过小需分层干预:控制中心调整缩放至150%或200%,辅助功能增大文本,命令行设置MateDPI值(2K设200 0,4K设220 0),QT类软件用环境变量QT_DEVICE_PIXEL_RATIO=2,终端取消使用系统等宽字体并改字号,输入法候选字体调至16或18。
Win11记事本默认不换行如何设置为自动换行
Windows11记事本默认不自动换行,手动开启仅对当前窗口有效。若要永久启用,可修改注册表,在HKCU Software Microsoft Notepad路径下新建DWORD值fWrap并设为1,或导入含此设置的 reg文件,此后所有新建记事本文件均自动换行显示,无需重复手动操作,一劳永逸。
银河麒麟系统时间快几分钟的调整方法
银河麒麟系统时钟快几分钟的解决方法:先用date命令校正系统时间,再执行hwclock--systohc写入硬件时钟;启用systemd-timesyncd并配置阿里云NTP服务器;禁用chronyd避免服务冲突;双系统用户需设置硬件时钟为UTC模式。
Win11多屏下设置软件只在特定屏幕打开的方法
双屏办公时,通过快捷方式添加启动参数、利用Windows窗口位置记忆功能或PowerShell脚本,可让软件自动在副屏打开,免去手动拖拽,提升工作效率。
MacBook如何取消菜单栏蓝牙搜索状态
在macOS中,进入系统设置“控制中心”,将蓝牙设为“不显示在菜单栏”即可隐藏图标且功能正常;旧版系统则在蓝牙偏好设置中取消勾选“在菜单栏中显示”。
- 日榜
- 周榜
- 月榜
相关攻略
2026-07-01 07:42
2026-07-01 07:42
2026-07-01 07:41
2026-07-01 07:41
2026-07-01 07:41
2026-07-01 07:41
2026-07-01 07:41
2026-07-01 07:41
热门教程
- 游戏攻略
- 安卓教程
- 苹果教程
- 电脑教程
热门话题

