Chinaunix首页 | 论坛 | 博客
  • 博客访问: 18672371
  • 博文数量: 7460
  • 博客积分: 10434
  • 博客等级: 上将
  • 技术积分: 78178
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-02 22:54
文章分类

全部博文(7460)

文章存档

2011年(1)

2009年(669)

2008年(6790)

分类: BSD

2008-04-06 21:08:28

昨天晚上回来, 看着备份恢复mbr命令突然想到我可以将系统移到新硬盘上, 想到就动手操作, 从开始备份操作到新硬盘上的系统成功启动, 整个过程花了差不到2个小时.

需要: 一台已安装配置好的OpenBSD系统, 一块没安装系统的空硬盘.

我是在OpenBSD3.6下操作的.在操作之前, 我先简单的介绍OpenBSD的系统启动过程.

在i386平台上, OpenBSD启动分两步, 系统开机进入启动时, 首先启动的是MBR, 然后再启动PBR ( partition boot record) , mbr说明系统从哪启动, pbr是载入/boot启动系统,
这两步都可以自己操作.具体的损坏后安装操作可以参考OpenBSD FAQ 14节的How does OpenBSD/i386 boot?这一段.

下面我介绍如何将一个已安装配置好的OpenBSD系统移到一个新硬盘上, 然后我们就可以使用新硬盘上的OpenBSD了.

1,备份MBR, 当然如果你不备份也可以使用/usr/mdec/mbr这个也行(这个我还没操作过, 只在看man pages时上面都有说明)
   dd if=/dev/wd0a of=boot.bin bs=512 count=1
这一步总是提示硬盘忙, 所以我将这块硬盘挂到别的系统上备份mbr的:
dd if=/dev/wd1a of=boot.bin bs=512 count=1

2, 备份系统文件, 除了/tmp下的文件不备份外, /目录下的所有文件都备份.
我的系统分区为wd0a /, wd0b swap, wd0d /var, wd0e /tmp, wd0f /usr:
同备份mbr一样, 我将硬盘挂到别的系统上完成的:
mount /dev/wd1a /mnt
cd /mnt
tar zcf ~/back/root.tar.gz .
umount /mnt
mount /dev/wd1d /mnt
cd /mnt
tar zcf ~/back/var.tar.gz .
umount /mnt
mount /dev/wd1f /mnt
tar zcf ~/back/usr.tar.gz .

cd ~/back/
mv *.gz /mnt/
cd
mv boot.bin /mnt
halt -p

3,安装新硬盘.
1, 分区: fdisk –i wd1
2, disklabel –E wd1 (这里分的挂载点要和/etc/fstab的挂载点相同, 原来系统上分了几个挂载点, 现在这个硬盘就分几个挂载点).

4, 为新硬盘配置mbr:
   dd if = boot.bin of=wd1
这里是FAQ上说的如何恢复mbr操作.我还没试过.
    fdisk –u –f /usr/mdec/mbr wd0 (wd0改为wd1, 现在我们为wd1设置mbr)

5, 为新硬盘配置pbr:
    操作步骤installboot (8);
fsck /dev/wd1a
mount /dev/wd1a /mnt
cp /usr/mdec/boot /mnt/boot
/usr/mdec/installboot –v /mnt/boot /usr/mdec/biosboot wd1

6, 将步骤2备份的系统文件解到新硬盘上.
先前步骤2的root.tar.gz, var.tar.gz, usr.tar.gz文件是放在/usr目录下,
将root.tar.gz解到 /dev/wd1a , var.tar.gz解到/dev/wd1d, usr.tar.gz解到/dev/wd1f.

好了, 现在可以将原来的系统关掉, 取下硬盘, 然后将从硬盘wd1改为挂主硬盘wd0, 开机启动新硬盘上的OpenBSD!基本上克隆主硬盘的OpenBSD系统到从硬盘上.现在发现主要是在启动gnome时报XKB错误,哪位兄弟能否详解一个XKB的各种信息;别的改变以的地方今晚回去再查查~~!
阅读(437) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~