OpenBSD 3.6 安装指南(简体中文译本)上

本文是OpenBSD 3.6的安装指南,详细介绍了如何从Unix、Windows/DOS系统制作安装软盘、CD-ROM以及从网络、硬盘等不同媒介启动安装。内容涵盖安装前的硬件检查、安装介质的创建、启动选项、安装程序的执行,特别是磁盘分区和文件系统设定,包括创建OpenBSD磁盘标签、分配分区大小和挂载点等步骤。文章适合初次安装OpenBSD或需要了解安装流程的读者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原文地址:http://www.openbsd.org/faq/faq4.html
4 - OpenBSD 3.6 安装指南

内容列表

    * 4.1 - 概述OpenBSD的安装过程
    * 4.2 - 安装前的检查
    * 4.3 - 制作可启动的OpenBSD安装介质
          o 4.3.1 - 制作在Unix上的软盘
          o 4.3.2 - 制作在Windows或DOS上的软盘
          o 4.3.3 - 制作一张可启动的CD
    * 4.4 - 引导OpenBSD安装介质
    * 4.5 - 执行安装
          o 4.5.1 - 开始安装
          o 4.5.2 - 设定硬盘
          o 4.5.3 - 设定系统的主机名
          o 4.5.4 - 配置网络
          o 4.5.5 - 选择安装媒介
          o 4.5.6 - 选择安装包
          o 4.5.7 - 打包收工
    * 4.6 - 哪些文件是安装过程所需要的?
    * 4.7 - 我需要多少空间来完成OpenBSD的安装?
    * 4.8 - 多系统引导OpenBSD/i386
    * 4.9 - 在安装后发送你的dmesg至dmesg@openbsd.org
    * 4.10 - 安装后添加一个包
    * 4.11 - 什么是'bsd.rd'?
    * 4.12 - 常见的安装问题
          o 4.12.1 - 我的Compaq只认出16M内存
          o 4.12.2 - 我的i386在安装后不能引导
          o 4.12.3 - 我的机器启动了, 但是在ssh-keygen的过程中停住了
          o 4.12.4 - 我在安装的时候看到这样一条信息"Failed to change directory"
          o 4.12.5 - 当我登陆的时候我看到"login_krb4-or-pwd: Exec format error"
          o 4.12.6 - 我的fdisk分区表不能用了或者是空白的!
    * 4.13 - 定制安装过程
    * 4.14 - 我如何安装一批相同的系统?
    * 4.15 - 我怎么来获得一个dmesg(8)来报告安装问题?
    * 4.16 - 用bsd.rd-a.out来升级或者重新安装OpenBSD/i386.

4.1 - 概述OpenBSD安装过程

OpenBSD 有一个强大的适用面很广的基于字符界面的安装程序, 能从单张磁碟进行安装. 大多数平台上的安装过程都是很相似的; 但是在细节上还是有些不同的. 无论如何, 我们强列建议您阅读在CD-ROM或者FTP站点内的各硬件平台文件夹里的 platform-specific INSTALL (平台特性-安装)文档  (比如有, i386/INSTALL.i386, mac68k/INSTALL.mac68k or sparc/INSTALL.sparc).

在大多数平台上, OpenBSD安装过程使用了存放在事先加载的内存分区上的特定内核以及一些公用程序和安装脚本.在内核被引导后,操作系统就从一些压缩的tar(1) (.tgz)文件中解压出来. 这里有很多方法来引导安装内核:

    * 磁盘(软盘): 磁盘镜像可以被用来在其他Unix-like系统或者 DOS/Windows系统上制作安装磁盘,它们随处可得. 典型的文件名是floppy36.fs, 尽管很多平台支持多种磁盘镜像.
    * CD-ROM: 在许多平台上CD-ROM 镜像文件(cd36.iso) 是被支持制作成一张可启动的CD-ROM光盘的. 他只包含了安装的内核 - 安装文件仍然要经由FTP站点或者其他安装源来获得. 当然,你也可以将你所想要的文件制作进你定制的CD-ROM光盘
    * bsd.rd: 支持内存分区的内核, 如果你打算从一个已经存在的OpenBSD分区或者网络启动的话,你可以用它.
    * 网络: 一些平台支持从网络启动.
    * 将系统镜像写入硬盘: 一个文件系统的镜像可以被写入一个已经存在的分区, 然后能被启动.
    * 可启动磁带: 一些平台支持从磁带机启动. 这些磁带能遵照 INSTALL.platform 介绍进行制作.


不是所有的平台都支持所有的启动选项:

    * alpha: 软盘, 光盘, 将磁盘镜像写入硬盘分区.
    * amd64: 软盘, 光盘, 网络.
    * cats:  光盘.
    * hp300: 光盘, 网络.
    * hppa:  网络.
    * i386:  软盘, 光盘, 网络.
    * mac68k: 在MAC OS上安装(或启动)公用程序请参阅 INSTALL.mac68k 以获得更多详情.
    * macppc: 光盘, 网络.
    * mvme68k: 网络, 可启动磁带.
    * mvme88k: 网络, 可启动磁带.
    * sparc: 软盘, 光盘, 网络, 将镜像写入已存在的交换分区, 可启动磁带.
    * sparc64: 软盘 (U1/U2 only), 光盘, 网络, 将镜像写入已存在的硬盘分区.
    * vax: 软盘, 网络.

所有的平台除了mac68k 能使用 bsd.rd t来重新安装或者升级系统.

当内核启动之后, 你将会获得数个选项以选择从哪里来获取软件包. 同样的,不是所有的平台支持所有选项.

    * CD-ROM: 当然,我们希望你用官方的 CD-ROM 文件, 但是如果有一些特别的要求, 你也可以制作自己的定制光盘.
    * FTP: 不论是哪个官方 OpenBSD FTP 镜像站点或者你自己的放有软件包的本地 FTP 服务器,都可以.
    * HTTP: 不论是哪个官方 OpenBSD HTTP 镜像站点或者你自己的放有软件包的本地 web 服务器,都可以.
    *本地硬盘分区: 在大多数情况下, 你能从本地硬盘的另外一个分区来安装软件包.比如, 在 i386 上, 你能从 FAT 分区或者 ISO9660、Rock Ridge 和 Joliet 格式的 CD-ROM 进行安装 . 在一些情况下, 你必须先挂载这些分区再使用它.
    * NFS(网络文件系统): 一些平台支持从挂载的NFS分区来安装这些软件包.
    * 磁带: 软件包也能从一台被支持的磁带机被读取.

4.2 - Pre-installation checklist

在你安装前, 你应该知道要完成些什么. 至少,这些东西是你所要知道的:

    * 主机名
    * 安装使用的硬件
          o 在你的平台硬件兼容性页查证你的硬件的兼容性
          o 如果 ISA(使用ISA设备?), 你也需要知道硬件设置, 并且确定它们符合 OpenBSD 的要求.
    * 将会被用到的安装介质 (CD-ROM, FTP, 等.)
    * 如何对系统升级和打补丁?
          o 如果是在本地完成这些工作, 你需要准备足够的空间来存放源代码树并编译安装它.
          o 其他情况的话, 你就要连接到另一台机器来编译安装补丁.
    * 硬盘分区规划要求
          o 有什么现有的资料要保存到其他地方吗?
          o OpenBSD 会和其他操作系统一同存在于同一台机器上吗? 如果是这样, 两个系统如何进行引导呢? 你需要安装"boot manager"(引导管理器)吗?
          o 整个硬盘都将给 OpenBSD 使用吗, 或者你想保留现存的分区和操作系统(或者一定的空间留给将来要装的操作系统)?
          o 你想如何替换你的硬盘中的 OpenBSD 分区?
    * 网络设置, 如果不用 DHCP:
          o 域名
          o DNS 地址
          o 给每个NIC的IP 地址 and 子网掩码
          o 网关地址
    * 你准备运行 X 窗口系统吗?

4.3 - 制作可启动的 OpenBSD 安装媒介

举个例子, 我们来看一下提供给 i386 和 sparc 平台的安装镜像.

i386 平台有六种独立的安装磁盘镜像可供选择:

    * floppy36.fs (桌面 PC) 支持很多 PCI 和 ISA NICs,支持 IDE 和简单的 SCSI 适配器 和一些 PCMCIA. 绝大多数用户会用这个镜像从磁盘(软盘)启动
    * floppyB36.fs (服务器) 支持许多 RAID 控制器, 和一些常见的 SCSI 适配器. 然而, 对许多标准 SCSI 适配器 和许多 EISA 和 ISA NICS 的支持被移除掉了.
    * floppyC36.fs (手提电脑) 支持 CardBus 和能在许多手提电脑上找到的 PCMCIA 设备.
    * cdrom36.fs 实际上整合了三种启动方式. 它能被用于制作可启动的2.88M的磁盘, 或者更常被用到的,是用作定制刻录CD的启动镜像.
    * cd36.iso 是一个能在许多平台上被很多通用的CD刻录软件制作成可启动CD的 ISO9660 镜像. 这个镜像文件被众多驱动其所支持, 如果您的机器能从CDROM启动,那么这将是我们最常推荐给您的选择.
    * cdemu36.iso 是一个ISO9660 镜像文件, 使用 "仿磁盘" 启动, 使用 2.88M 的镜像和cdrom36.fs. 非常少的人会需要用到它 -- 大多数人使用 cd36.iso,只有当您不能使用 cd36.iso 的时候才会需要 cdemu36.iso.

是的,也许会有这样的一种情况:一张安装碟需要支持你的 SCSI 适配器,而另一张碟需要支持你的网络适配器. 不过还好, 这种事情很少发生, 而且一般都能解决.

sparc 平台有三种独立的镜像供选择:

    * floppy36.fs: 支持用软盘的系统.
    * cd36.iso 一个能很方便得制作你自己的可以从 CD-ROM 启动 SPARC 系统的ISO 镜像.
    * miniroot36.fs 可以被写入交换分区然后启动.

4.3.1 - 在 Unix 上制作磁盘

要制作一张格式化的磁盘的话, 可以用 fdformat(1) 命令来进行格式化并检查坏的扇区.

  # fdformat /dev/rfd0c
  Format 1440K floppy `/dev/rfd0c'? (y/n): y
  Processing VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV done.

如果你的系统输出和上面的例子一样, 那么这张碟就没问题了. 但是,如果你没看到那些 "V"' 那么这张碟多办坏了, 你要试试新的碟了.

注意:许多 Unix-like 系统在格式化磁盘的时候用的是不同的命令. 参照你的系统文档来做进一步的操作.

一旦你有了一张干净的格式化了的磁盘那就可以写入安装镜像到磁盘里了. 这里, 你可以用 dd(1) 程序. 这里有一个 dd(1) 命令使用的例子:

  # dd if=floppy36.fs of=/dev/rfd0c bs=32k

镜像被写入后, 用 cmp(1) 命令检查一下复制的镜像是否和源文件相同. 如果软盘和镜像一样的话, 你就可以看另一个提示了.

  # cmp /dev/rfd0c floppy36.fs

4.3.2 - 在 Windows / DOS 制作软盘

这一节将会描述如何在 Windows / DOS 将安装镜像写入软盘. 你能从下文中提到的 FTP 镜像站点中的 tools 文件夹,或者 OpenBSD CD 套件中的 CD1 的 3.6/tools 文件夹获得制作工具.

在 MS-DOS / Windows 上准备一张软盘, 首先使用系统自带的格式化命令格式化软盘.

你可以使用 rawrite, fdimage, 或者 ntrw 来将安装镜像写入准备好的软盘. rawrite 无法在 Windows NT, 2000 或者 XP 上使用.

注意:  FDIMAGE.EXE 和 RAWRITE.EXE 都是 MS-DOS 程序, 它们受 MS-DOS 的 "8.3" 文件命名规则的限制. 由于 floppyB36.fs 和 floppyC36.fs 有着更长的文件名,在使用 FDIMAGE.EXE 或 RAWRITE.EXE 来制作你的启动软盘之前,记得看一下在"8.3 format"下你的系统如何命名这些文件.

使用 rawrite 的例子:

  C:/> rawrite
  RaWrite 1.2 - Write disk file to raw floppy diskette

  Enter source file name: floppy36.fs
  Enter destination drive: a
  Please insert a formatted diskette into drive A: and press -ENTER- : Enter

使用 fdimage 的例子:

  C:/> fdimage -q floppy36.fs a:

使用 ntrw 的例子:

  C:/> ntrw floppy36.fs a:
  3.5", 1.44MB, 512 bytes/sector
  bufsize is 9216
  1474560 bytes written

4.3.3 - 制作 CD-ROM 光盘

你能使用 cd36.iso 文件来制作启动光盘, 或者在 i386 平台下, 你也可以用 cdrom36.fs 作为可启动软盘镜像(它也可以在 i386 上是用来从CD-ROM来启动系统). 在这里更多的细节就留给读者根据自己的情况用这些工具来决定了.

 OpenBSD 上的一些工具:

    * mkhybrid(8)
    * cdrecord, OpenBSD Ports 系统中的 cdrtools 集里的一部分.

4.4 - 引导 OpenBSD 安装媒介
引导 i386
在 i386 PC 平台上引导一个启动镜像对大多数人来说并不陌生. 如果你用软盘, 那非常简单,把软盘放入软驱之后启动机器就可以了.启动镜像将会被加载,记得确认你的 BIOS 中设定了从软盘启动.如果你想要从 CD 启动, 你必须进入系统的 BIOS 然后调整器动选项以确保能从 CD 启动. 一些老的 BIOSes 没有这些选项, 那你就必须用软盘来引导你的安装镜像. 别担心; 就算你是从软盘启动你仍能用 CD 来安装.

你也可以从已有的OpenBSD分区引导 bsd.rd 来进行安装, 或者在网上使用 PXE 启动程序.
启动 sparc/sparc64
注意: 在 sparc64 平台上, 只有 SBus 类的机器 (Ultra 1, Ultra 2) 才能从软盘启动.

如果从软盘启动, 把载有 OpenBSD 安装镜像的软盘放入软驱就可以了. 然后用以下命令来从软盘启动:

  ok boot floppy

如果从 CD-ROM 启动, 把 OpenBSD CD-ROM 光盘放进驱动器就好了. 如果你的 Sun 只有一个 CD-ROM 驱动器, 你只要进入启动界面就能看到 'boot cdrom':

  ok boot cdrom

当然, 这只在新的命令模式中可行. 如果你在老的命令模式提示符下 (一个向右的箭头), 输入 'n' 来切换到新的命令模式. (如果你使用的是老式的 sparc 比如 pre-sun4c, 你应该是没有新的命令模式的. 在这种情况下, 你就要多方式尝试一下了.) 如果你有多种 CD-ROM 驱动器, 选用合适的那种进行启动. 在新的命令模式下输入 probe-scsi.

  ok probe-scsi

  Target 0
    Unit 0   Disk     QUANTUM LIGHTNING 365S
  Target 1
    Unit 0   Removable Disk     QUANTUM EMPIRE_1080S
  Target 3
    Unit 0   Removable Disk     Joe's CD-ROM

判断哪个盘是你要启动的 CD-ROM 驱动器. 注意标记号码.

  ok boot /sbus/esp/sd@X,0

4.5 - 执行安装
4.5.1 - 开始安装
不论你用什么来引导, 现在是时候上场了. 在启动过程中, 内核 以及所有用来安装 OpenBSD 的程序都会被载入内存. 启动时最常见的问题就是遇到损坏的软盘或者驱动器问题. 启动软盘要被很好得看护好 -- 任何污点损坏都会造成问题.

在 OpenBSD 安装过程中的任何阶段, 你能通过按下 CTRL-C 来终止当前安装,并能在无须重启的情况下在shell提示符下运行 install 来重新进入安装.

在你成功启动后, 你会在屏幕上看到一些文字信息. 这些文字, 在许多架构下都是呈蓝底白字的, 这就是 dmesg, 内核会告诉你哪些设备,在哪里,被找到了. 不用急着去记这些东西, 它会留一个备份放置于 /var/run/dmesg.boot. 在一些架构下, SHIFT+PGUP 能让你检查屏幕上闪过的文字信息.

然后,你会看到这个:

  rootdev=0x1100 rrootdev=0x2f00 rawdev=0x2f02
  erase ^?, werase ^W, kill ^U, intr ^C, status ^T
  (I)nstall, (U)pgrade or (S)hell? i

在这里,我们碰到了第一个问题.大多数情况下, 你会看到三种选择:

    * Install: 将 OpenBSD 载入你的机器, 覆盖掉里免的所有东西. 注意: 在这个过程中也可以使一些分区不被改动, 比如 /home, 不然的话, 所有的东西会被覆盖.
    * Upgrade: 在机器上安装新的套件, 但是不会覆盖原来的配置信息, 用户数据, 或者额外的程序. 硬盘不会被格式化,  /etc 或者 /var 文件夹也不会被覆盖. 一些重要的注意事项:
          o 你不会看到关于安装 etc36.tgz 文件的选项. 在安装之后, 你必须在系统中手工修改 etc36.tgz 的改变 ,这样它才能全功能得工作. 这是一个非常重要的必须要做的一步, 否则一些关键的服务 (比如 pf(4)) 可能会不启动.
          o 升级过程并没有对跨发行版进行过设计发行版! 它不支持这样做. OpenBSD 3.6, 只能供 3.5 升级到 3.6 . 如果你必须升级一个更老的版本, 你必须进行一次完整的重新安装.
    * Shell: 有时侯,当系统无法(或者不该)引导一个常规的内核时你需要对系统做一下修改和维护 . 这个选项能允许你对系统进行一些修缮.

有时, 你会看不到 "Upgrade" 选项.在"国庆节"(美)(可能是发行版本的名字)后可能是无法直接升级的。你必须要重新安装一下系统.

我们来作一个安装的例子, 升级的过程也是很相似的.

  Welcome to the OpenBSD/i386 3.6 install program.

  This program will help you install OpenBSD in a simple and rational way. At
  any prompt except password prompts you can run a shell command by typing
  '!foo', or escape to a shell by typing '!'. Default answers are shown in []'s
  and are selected by pressing RETURN. At any time you can exit this program by
  pressing Control-C and then RETURN, but quitting during an install can leave
  your system in an inconsistent state.

  Specify terminal type: [vt220] Enter
  Do you wish to select a keyboard encoding table? [no] Enter

多数情况下 默认的终端类型是非常合适的; 但是如果你使用一个 serial 终端来安装, 就不要用默认的了, 按合适的回答.

如果你没有选择一种键盘编码, US 键盘布局就会被使用.

  IS YOUR DATA BACKED UP? As with anything that modifies disk contents, this
  program can cause SIGNIFICANT data loss.

  It is often helpful to have the installation notes handy. For complex disk
  configurations, relevant disk hardware manuals and a calculator are useful.

  Proceed with install? [no] y

如果你在这里接受了默认选项, 安装进程就会终止,你将会进入一个shell操作环境.
4.5.2 - 设定硬盘

 OpenBSD 在各种平台下设定硬盘是有一点差异的. 对于 i386 和 macppc, 设定硬盘只有两个步骤. 首先, the OpenBSD 占用的 slice 是由 fdisk(8) 来划分的, 然后这块 slice 再由 disklabel(8) 二次划分成 OpenBSD 分区 .

一些用户可能会对这里的一些专用术语感到有点困惑. 在这里我们用的 "partition" 一词会有两种意思. This observation is correct. 在 OpenBSD 平台下的分区有两层, 第一层, 我们可以认为是操作系统分区, 就是各种操作系统标识在硬盘上哪块空间是属于他们的, 第二层就是 OpenBSD 下二次划分为独立文件系统的分区. 第一次是能作为一块硬盘分区被 DOS, Windows, 或其它共存于 IBM AT 后续机器上的操作系统所识别的. 而第二层分区只能被 OpenBSD 和那些能直接读取 OpenBSD 文件系统的的操作系统所识别.

  Cool!  Let's get to it...

  You will now initialize the disk(s) that OpenBSD will use. To enable all
  available security features you should configure the disk(s) to allow the
  creation of separate filesystems for /, /tmp, /var, /usr, and /home.

  Available disks are: wd0.
  Which one is the root disk? (or done) [wd0] Enter

 root disk 就是系统将会启动的那个盘, 通常就是交换分区所在的那块硬盘. IDE 硬盘一般会被标识为 wd0, wd1, 等., SCSI 硬盘 RAID 设备会被标识为 sd0, sd1, 依此类推. 所有 OpenBSD 能识别出来的硬盘都会被罗列在这里 -- 如果你的驱动器没有被识别出来, 那你的设备应该是没有获得支持或者你对硬件进行了错误的配置.

  Do you want to use *all* of wd0 for OpenBSD? [no] Enter

如果你对这个问题回答 "yes" , 那么整块硬盘都会被 OpenBSD 占据. 这样子就会建立一个标准的 Master Boot Record ,分区表也会被写入硬盘 -- 这块分区的大小就是整块硬盘的大小, 并会被设定为 OpenBSD 的分区类型和标示为启动分区. 对于大多数使用 OpenBSD 的机器这是最常用的选择; 然而, 对于有些系统我们就不能这样做了. 许多 Compaq 的系统, 许多 laptops, 一些 Dell 和其它系统要使用 "maintenance" 或者 "Suspend to Disk" 处理分区,以使其完好无损. 如果你的机器上还有其它类型的分区而你不想擦除它, 在以上的问题不要回答 "yes" .

下面的例子我们就来假设一下,这块硬盘将会被 OpenBSD 和 已有的 windows 2000 所共享, 所以我们选择 "no", 这样我们就会进入 fdisk(8) . 你在这里也能获得更多的关于 fdisk(8) 信息.

Important Note: Users with a large hard disk (larger than 8G on a newer i386, though on older machines and different platforms, often much smaller) will want to see this section before going any further.

  You will now create a single MBR partition to contain your OpenBSD data. This
  partition must have an id of 'A6'; must *NOT* overlap other partitions; and
  must be marked as the only active partition.

  The 'manual' command describes all the fdisk commands in detail.

  Disk: wd0       geometry: 2586/240/63 [39100320 Sectors]
  Offset: 0       Signature: 0xAA55
           Starting       Ending       LBA Info:
   #: id    C   H  S -    C   H  S [       start:      size   ]
  ------------------------------------------------------------------------
  *0: 06    0   1  1 -  202 239 63 [          63:     3069297 ] DOS > 32MB
   1: 00    0   0  0 -    0   0  0 [           0:           0 ] unused
   2: 00    0   0  0 -    0   0  0 [           0:           0 ] unused
   3: 00    0   0  0 -    0   0  0 [           0:           0 ] unused
  Enter 'help' for information
  fdisk: 1> help
          help            Command help list
          manual          Show entire OpenBSD man page for fdisk
          reinit          Re-initialize loaded MBR (to defaults)
          setpid          Set the identifier of a given table entry
          disk            Edit current drive stats
          edit            Edit given table entry
          flag            Flag given table entry as bootable
          update          Update machine code in loaded MBR
          select          Select extended partition table entry MBR
          print           Print loaded MBR partition table
          write           Write loaded MBR to disk
          exit            Exit edit of current MBR, without saving changes
          quit            Quit edit of current MBR, saving current changes
          abort           Abort program without saving current changes
  fdisk: 1>

这里的一些命令是有必要解释一下的:

    * r or reinit: 清除现存的分区表, 使用整个硬盘建立一个 OpenBSD 分区, 将其标示为可启动, 并且写入 OpenBSD MBR 代码. 就相当于前面那个"use *all* of ..." 的问题回答 "yes".
    * p or print: 显示当前分区表. "p m" 将会以兆(M)为单位显示, "p g" 将会以千兆(G)为单位显示.
    * e or edit: 编辑分区表.
    * f or flag: 将一块分区标示为可启动分区, 之后机器将会从这块分区启动.
    * u or update: 将 MBR 升级为OpenBSD 启动代码, 这样做的效果类似于使用 "reinit", 不会改变现有得分去表.
    * exit and quit: 留心使用这两个命令, 有些用户使用 "exit" 和 "quit" 的时候搞反了他们的意思.

非常有必要在这里再次指出, 这一步的错误会造成非常严重的资料损失. 如果你是在一个没有什么重要数据的驱动器上进行这些操作, 那么在这个"可以随便操作"的驱动器上做些练习也是蛮有价值的, 记得要作好备份.

我们的驱动器上有一块 1.5G 的给 Windows 2000 的分区(使用 FAT 文件系统). 看一下上面显示的信息, 我们可以看到 Windows 的分区占据了从驱动器的 202 柱面结束的地方 . 所以, 我们要把硬盘上剩下的空间分配给  OpenBSD, 从柱面 203 开始. 你也可以通过将现存分区的起始扇区 (63) 和它的大小 (3069297)相加计算 OpenBSD'的起始扇区为 3069360 .

你能对驱动器的柱面/柱头/扇区的规划进行修改 或者就接受推荐的扇区. 只要选对你来说觉得容易的那种就可以了; 在这钟情况下,对于一块已经有现存分区的驱动器, 使用 CHS 格式会比较方便. 如果你是在建立这块硬盘上的第一块分区, 使用推荐的扇区会更方便点.

  fdisk: 1> e 1
           Starting       Ending       LBA Info:
   #: id    C   H  S -    C   H  S [       start:      size   ]
  ------------------------------------------------------------------------
   1: 00    0   0  0 -    0   0  0 [           0:           0 ] unused
  Partition id ('0' to disable)  [0 - FF]: [0] (? for help) a6
  Do you wish to edit in CHS mode? [n] y
  BIOS Starting cylinder [0 - 2585]: [0] 203
  BIOS Starting head [0 - 239]: [0] Enter
  BIOS Starting sector [1 - 63]: [0] 1
  BIOS Ending cylinder [0 - 2585]: [0] 2585
  BIOS Ending head [0 - 239]: [0] 239
  BIOS Ending sector [1 - 63]: [0] 63
  fdisk:*1> p
  Disk: wd0       geometry: 2586/240/63 [39100320 Sectors]
  Offset: 0       Signature: 0xAA55
           Starting       Ending       LBA Info:
   #: id    C   H  S -    C   H  S [       start:      size   ]
  ------------------------------------------------------------------------
  *0: 06    0   1  1 -  202 239 63 [          63:     3069297 ] DOS > 32MB
   1: A6  203   0  1 - 2585 239 63 [     3069360:    36030960 ] OpenBSD
   2: 00    0   0  0 -    0   0  0 [           0:           0 ] unused
   3: 00    0   0  0 -    0   0  0 [           0:           0 ] unused
  fdisk:*1> p m
  Disk: wd0       geometry: 2586/240/63 [19092 Megabytes]
  Offset: 0       Signature: 0xAA55
           Starting       Ending       LBA Info:
   #: id    C   H  S -    C   H  S [       start:      size   ]
  ------------------------------------------------------------------------
  *0: 06    0   1  1 -  202 239 63 [          63:        1499M] DOS > 32MB
   1: A6  203   0  1 - 2585 239 63 [     3069360:       17593M] OpenBSD
   2: 00    0   0  0 -    0   0  0 [           0:           0M] unused
   3: 00    0   0  0 -    0   0  0 [           0:           0M] unused
  fdisk:*1>

非常重要的一点是第一块分区会避开硬盘上的第一个轨道, 在这个例子中, 就是从 63 扇区开始的. 如果一块 OpenBSD 分区被建立为从最前面的 0 扇区开始的话, 分区表就会被 OpenBSD 的分区启动标记所擦掉. 这个系统仍然能启动, 但是这很难维持下去, 这种配置是不合常规的,并且不被支持.

注意这个时候提示符多了个星号 ('*')以提醒你尚未保存修改. 我们输入一下 p m 就能看到我们没有改动 Windows 分区, 我们成功得将剩余的空间分配给了 OpenBSD, 分区也没有交错. 一切都很顺利,通常都是.

还有一件事我们没做的就是把分区标志为可启动的, 这样我们下次重启后就能引导 :

  fdisk:*1> f 1
  Partition 1 marked active.
  fdisk:*1> p
  Disk: wd0       geometry: 2586/240/63 [39100320 Sectors]
  Offset: 0       Signature: 0xAA55
           Starting       Ending       LBA Info:
   #: id    C   H  S -    C   H  S [       start:      size   ]
  ------------------------------------------------------------------------
   0: 06    0   1  1 -  202 239 63 [          63:     3069297 ] DOS > 32MB
  *1: A6  203   0  1 - 2585 239 63 [     3069360:    36030960 ] OpenBSD
   2: 00    0   0  0 -    0   0  0 [           0:           0 ] unused
   3: 00    0   0  0 -    0   0  0 [           0:           0 ] unused
  fdisk:*1>

现在,我们就可以保存一下修改了:

  fdisk:*1> w
  Writing MBR at offset 0.
  wd0: no disk label
  fdisk: 1> q

Creating a disklabel
下一步就是使用 disklabel(8) 分配 OpenBSD 分区(第二层). 更多使用 disklabel(8) 的细节可以在 FAQ 14 查看, disklabel.

  Here is the partition information you chose:
 
  Disk: wd0       geometry: 2586/240/63 [39100320 Sectors]
  Offset: 0       Signature: 0xAA55
           Starting       Ending       LBA Info:
   #: id    C   H  S -    C   H  S [       start:      size   ]
  ------------------------------------------------------------------------
   0: 06    0   1  1 -  202 239 63 [          63:     3069297 ] DOS > 32MB
  *1: A6  203   0  1 - 2585 239 63 [     3069360:    36030960 ] OpenBSD
   2: 00    0   0  0 -    0   0  0 [           0:           0 ] unused
   3: 00    0   0  0 -    0   0  0 [           0:           0 ] unused

  You will now create an OpenBSD disklabel inside the OpenBSD MBR
  partition. The disklabel defines how OpenBSD splits up the MBR partition
  into OpenBSD partitions in which filesystems and swap space are created.

  The offsets used in the disklabel are ABSOLUTE, i.e. relative to the
  start of the disk, NOT the start of the OpenBSD MBR partition.

  disklabel: no disk label
  WARNING: Disk wd0 has no label. You will be creating a new one.
 
  # using MBR partition 1: type A6 off 3069360 (0x2ed5b0) size 36030960 (0x225c9f0)

  Treating sectors 3069360-39100320 as the OpenBSD portion of the disk.
  You can use the 'b' command to change this.

  Initial label editor (enter '?' for help at any prompt)
  > ?
  Available commands:
          ? [cmnd]  - this message or command specific help.
          a [part]  - add new partition.
          b         - set OpenBSD disk boundaries.
          c [part]  - change partition size.
          D         - set label to default.
          d [part]  - delete partition.
          e         - edit drive parameters.
          g [b|d|u] - use [b]ios, [d]isk or [u]ser geometry.
          M         - show entire OpenBSD man page for disklabel.
          m [part]  - modify existing partition.
          n [part]  - set the mount point for a partition.
          p [unit]  - print label.
          q         - quit and save changes.
          r         - recalculate free space.
          s [path]  - save label to file.
          u         - undo last change.
          w         - write label to disk.
          X         - toggle expert mode.
          x         - exit without saving changes.
          z         - zero out partition table.
  Numeric parameters may use suffixes to indicate units:
          'b' for bytes, 'c' for cylinders, 'k' for kilobytes, 'm' for megabytes,
          'g' for gigabytes or no suffix for sectors (usually 512 bytes).
          '%' for percent of total disk size, '&' for percent of free space.
          Non-sector units will be rounded to the nearest cylinder.
  Entering '?' at most prompts will give you (simple) context sensitive help.
  >

同样的,这里的一些命令要解释一下:

    * p - displays (prints) 显示当前的 disklabel , 你也能用 k, m 或者 g 来表示 kilobytes, megabytes 或者 gigabytes为单位进行显示.
    * D - 清除现有的 disklabel, 以覆盖当前的 OpenBSD 分区来建立一个新的默认的 disklabel. 当硬盘上本来有一个  disklabel,或者当 OpenBSD 分区被重新划分了大小 -- 老的 disk label 没有被删除的时候(会造成冲突)是很有用的.
    * m - 修改 disklabel 中已有的记录. 不要高估了这个命令能给予你的功能. 即使它可能可以更改 disklabel 分区的大小, 但是它不能改变驱动器上的文件类型. 如果你想丢失大量资料的话那么使用这个命令来调整现有分区的大小是个不错的办法.

在你的硬盘上进行 Slice 划分是很重要得 .  "How should I partition my system?" 的答案就是 "你需要用它做什么". 各种应用之间都是不同的. 在这里没有什么统一的答案. 如果你还没拿定主意如何划分你的系统, 看一些讨论.

在这台机器上, 我们给了 OpenBSD 17G以上的空间. 这是块很大的空间, 我们多数用不了那么多. 所以我们没必要使用最小的尺寸单位. 我们很可能会有上 G 的未使用空间, kilobyte 这个单位太小了.

在根分区上,  'a' 和 'b' 这两个分区必须要建立. 如果这两个分区不被建立的话安装程序是无法继续进行的. 'a' 会被用做根文件系统 (/) 而  'b' 会被用做交换分区.

稍作思考后,我们决定建立足够的分区来用作推荐使用各个独立文件系统 (/, /tmp, /var, /usr, /home) ,还有一个交换分区:

    * wd0a: / (root) - 150M. 应该够了.
    * wd0b: (swap) - 300M.
    * wd0d: /tmp - 120M. /tmp 会被用来编译一些软件, 120M 对于大多数软件还是足够的.
    * wd0e: /var - 80M. 如果这个系统是用做 web 或者 mail 服务器的话 我们希望这块分区能够更大一些, 但是在这里我们并不打算这么做.
    * wd0g: /usr - 2G. 我们希望这块分区能有足够的空间来存放用户的应用软件, 如果需要的话还能在这里通过源代码升级或者重新编译系统. Ports 树也会被放在这里, 在 ports 树建立前大概会在这里占用 100M 的空间. 如果你想在这里通过源代码编译许多应用程序而不是使用预编的 packages 包, 那你要在这里在多留点空间了.
    * wd0h: /home - 4G. 这里用来存放用户资料的.

现在,如果你添加了以上的分区, 你就会看到 10G 以上的空间被占用了! 空白空间不会造成什么问题, 而且它还给我们将来扩大分区提供了方便. 需要更多的 /tmp? 没问题, 在空白分区建立一块新的, 修改一下 /etc/fstab 就可以了 .

  > p m
  device: /dev/rwd0c
  type: ESDI
  disk: ESDI/IDE disk
  label: ST320011A
  bytes/sector: 512
  sectors/track: 63
  tracks/cylinder: 16
  sectors/cylinder: 1008
  cylinders: 16383
  total sectors: 39102336
  free sectors: 36030960
  rpm: 3600
 
  16 partitions:
  #        size   offset    fstype   [fsize bsize   cpg]
    a: 17593.2M  1498.7M    unused        0     0
    c: 19092.9M     0.0M    unused        0     0
    i:  1498.7M     0.0M     MSDOS
  > d a
  > a a
  offset: [3069360] Enter
  size: [36030960] 150M
  Rounding to nearest cylinder: 307440
  FS type: [4.2BSD] Enter
  mount point: [none] /
  > a b
  offset: [3376800] Enter
  size: [35723520] 300M
  Rounding to nearest cylinder: 614880
  FS type: [swap] Enter
  > a d
  offset: [3991680] Enter
  size: [35108640] 120m
  Rounding to nearest cylinder: 245952
  FS type: [4.2BSD] Enter
  mount point: [none] /tmp
  > a e
  offset: [4237632] Enter
  size: [34862688] 80m
  Rounding to nearest cylinder: 164304
  FS type: [4.2BSD] Enter
  mount point: [none] /var
  > a g
  offset: [4401936] Enter
  size: [34698384] 2g
  Rounding to nearest cylinder: 4194288
  FS type: [4.2BSD] Enter
  mount point: [none] /usr
  > a h
  offset: [8596224] Enter
  size: [30504096] 4g
  Rounding to nearest cylinder: 8388576
  FS type: [4.2BSD] Enter
  mount point: [none] /home
  > p m
  device: /dev/rwd0c
  type: ESDI
  disk: ESDI/IDE disk
  label: ST320011A
  bytes/sector: 512
  sectors/track: 63
  tracks/cylinder: 16
  sectors/cylinder: 1008
  cylinders: 16383
  total sectors: 39102336
  free sectors: 22115520
  rpm: 3600
 
  16 partitions:
  #        size   offset    fstype   [fsize bsize   cpg]
    a:   150.1M  1498.7M    4.2BSD     1024  8192    16  # /
    b:   300.2M  1648.8M      swap
    c: 19092.9M     0.0M    unused        0     0
    d:   120.1M  1949.1M    4.2BSD     1024  8192    16  # /tmp
    e:    80.2M  2069.2M    4.2BSD     1024  8192    16  # /var
    g:  2048.0M  2149.4M    4.2BSD     1024  8192    16  # /usr
    h:  4096.0M  4197.4M    4.2BSD     1024  8192    16  # /home
    i:  1498.7M     0.0M     MSDOS
  > q
  Write new label?: [y] Enter

在这里你会看到C分区被跳过了. 这块就是你的整个硬盘; 别指望去修改它. 你也会发现一块不是我们定义的 i 分区; 这就是已经存在的 Windows 2000 分区. 分区没有被定义为特定的字母 -- 除了 a (root), b (swap) 和 c (整块硬盘), 剩余的分区 (一直到字母 p) 可以由我们来命名.

如果你仔细看 disklabel 的输出, 你会发现你的驱动器的转速是错的. 这是个由来已久的问题; 这个系统(分区工具?)始终不能很好得显示驱动器的转速. 不过这个没什么关系.
配置你的文件系统挂在点并且格式化它
现在是对挂载点的最后配置了. 如果你用 disklabel(8) 来配置挂载点, 这里的步骤就是确认你的选择; 不然的话就在这里修改它.

  The root filesystem will be mounted on wd0a.
  wd0b will be used for swap space.
  Mount point for wd0d (size=122976k), none or done? [/tmp] Enter
  Mount point for wd0e (size=82152k), none or done? [/var] Enter
  Mount point for wd0g (size=2097144k), none or done? [/usr] Enter
  Mount point for wd0h (size=4194288k), none or done? [/home] Enter
  Mount point for wd0d (size=122976k), none or done? [/tmp] done
  Done - no available disks found.
 
  You have configured the following partitions and mount points:

  wd0a /
  wd0d /tmp
  wd0e /var
  wd0g /usr
  wd0h /home

  The next step creates a filesystem on each partition, ERASING existing data.
  Are you really sure that you're ready to proceed? [no] y
  /dev/rwd0a:     307440 sectors in 305 cylinders of 16 tracks, 63 sectors
          150.1MB in 20 cyl groups (16 c/g, 7.88MB/g, 1920 i/g)
  /dev/rwd0d:     245952 sectors in 244 cylinders of 16 tracks, 63 sectors
          120.1MB in 16 cyl groups (16 c/g, 7.88MB/g, 1920 i/g)
  /dev/rwd0e:     164304 sectors in 163 cylinders of 16 tracks, 63 sectors
          80.2MB in 11 cyl groups (16 c/g, 7.88MB/g, 1920 i/g)
  /dev/rwd0g:     4194288 sectors in 4161 cylinders of 16 tracks, 63 sectors
          2048.0MB in 261 cyl groups (16 c/g, 7.88MB/g, 1920 i/g)
  /dev/rwd0h:     8388576 sectors in 8322 cylinders of 16 tracks, 63 sectors
          4096.0MB in 521 cyl groups (16 c/g, 7.88MB/g, 1920 i/g)
  /dev/wd0a on /mnt type ffs (rw, asynchronous, local, ctime=Thu Oct 10 21:
  50:36 2004)
  /dev/wd0h on /mnt/home type ffs (rw, asynchronous, local, nodev, nosuid,
   ctime=Thu Oct 10 21:50:36 2004)
  /dev/wd0d on /mnt/tmp type ffs (rw, asynchronous, local, nodev, nosuid,
  ctime=Thu Oct 10 21:50:36 2004)
  /dev/wd0g on /mnt/usr type ffs (rw, asynchronous, local, nodev, ctime=Th
  u Oct 10 21:50:36 2004)
  /dev/wd0e on /mnt/var type ffs (rw, asynchronous, local, nodev, nosuid,
  ctime=Th u Oct 10 21:50:36 2004)

你可能会奇怪为什么安装程序会重复询问你挂载点. 这是为了让你有机会修改在建立 disklabel 时造成的挂载点遗失或错误. 比如, 安装程序会自动删除你在配置 disklabel 输入的想通的挂载点.  disklabel 程序允许你输入重复的挂载点, 但是它们必须在 disklabel 程序退出后检查一下. 重复的挂载点被删除后会造成分区失去挂载点, 如果你想用它的话还要再分配新的挂载点.

注意 "Are you really sure that you are ready to proceed?" 默认的回答是 no, 所以你要回答 yes 来让它继续安装过程并格式化分区. 如果你回答no,你就会进入一个字符终端, 输入 install 就能再次进入安装, 或者重启你的机器也行.

现在所有的分区都会被格式化,格式化的时间取决于分区的大小和硬盘的速度.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值