# 27.2 NetBSD 安装示例

本章以 NetBSD 10.1 版本为研究对象，系统介绍其在 x86\_64 架构下的安装流程，包括系统配置及常见问题处理，为读者提供可复现的标准化安装实践指南。

## 下载 NetBSD

NetBSD 官方提供了适用于不同硬件环境的安装镜像，用户可根据实际使用场景选择下载。以下是常用的下载链接：

* 面向虚拟机：<https://cdn.netbsd.org/pub/NetBSD/NetBSD-10.1/images/NetBSD-10.1-amd64.iso>
* 面向物理机：<https://cdn.netbsd.org/pub/NetBSD/NetBSD-10.1/images/NetBSD-10.1-amd64-install.img.gz>

## 安装图解

以下示例演示了在 VMware Workstation Pro 17 虚拟化环境中使用 `NetBSD-10.1-amd64.iso` 进行的 UEFI、GPT 分区表搭配 SATA 存储接口的安装过程，读者可参照以下步骤完成标准化安装。

> **警告**
>
> 若在 VMware Workstation Pro 17 虚拟化环境中安装 `NetBSD-10.1-amd64.iso`，需注意 NVMe 存储接口不受支持，可能导致系统卡住、无法卸载 DVD 或无法重启等问题。建议 CPU 核心数量不宜过多，经实验验证 4 个 CPU 核心可正常工作。

系统启动后，首先会显示启动选择界面，按下回车键启动系统。

![install NetBSD](https://338876981-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCJR3FQGH1PkdRtOljuxb%2Fuploads%2Fgit-blob-0d193d59876c7ef9b615c2c9e1c840ecfe48b4d3%2Fnb1.png?alt=media)

按下回车键选择英文安装。

![install NetBSD](https://338876981-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCJR3FQGH1PkdRtOljuxb%2Fuploads%2Fgit-blob-4e021db3512ceb8cd082c5ab2e5a8bc4c673cc61%2Fnb2.png?alt=media)

保持键盘布局为默认设置，然后按回车键。

![install NetBSD](https://338876981-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCJR3FQGH1PkdRtOljuxb%2Fuploads%2Fgit-blob-efe184da8bb6889bc1d26ec1e87ff35c217d34ee%2Fnb3.png?alt=media)

选择安装到硬盘上，按回车键。

![install NetBSD](https://338876981-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCJR3FQGH1PkdRtOljuxb%2Fuploads%2Fgit-blob-3fb95a5a3ca0b58b553504e3556894d7585f9921%2Fnb4.png?alt=media)

开始分区操作时，选择 `Yes` 并按回车键进入分区工具。

![install NetBSD](https://338876981-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCJR3FQGH1PkdRtOljuxb%2Fuploads%2Fgit-blob-511eca1ffcaebf47de96e068e3301ca34e5f74d3%2Fnb5.png?alt=media)

选择要安装 NetBSD 的硬盘。

![install NetBSD](https://338876981-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCJR3FQGH1PkdRtOljuxb%2Fuploads%2Fgit-blob-c1c3119d7cb774f67ce52efa505a93c314917a0d%2Fnb6.png?alt=media)

选择使用 GPT 分区表。GPT 是现代 UEFI 启动方式的标准分区表格式，支持大于 2 TB 的磁盘和更多分区。

![install NetBSD](https://338876981-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCJR3FQGH1PkdRtOljuxb%2Fuploads%2Fgit-blob-9658ccc9ad4c297bfc0a463ad22042fe971363e4%2Fnb7.png?alt=media)

设置分区大小，按回车键。建议 EFI 分区设置为 200 MB-500 MB，根分区占用剩余空间。

![install NetBSD](https://338876981-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCJR3FQGH1PkdRtOljuxb%2Fuploads%2Fgit-blob-acf3345c435881742fb06787198226910d2734c5%2Fnb8.png?alt=media)

确认分区大小设置，按回车键。

![install NetBSD](https://338876981-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCJR3FQGH1PkdRtOljuxb%2Fuploads%2Fgit-blob-9e64e65e0cf44fda793160cc0c6e9a6d91b904e5%2Fnb9.png?alt=media)

再次确认分区大小设置，按回车键。

![install NetBSD](https://338876981-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCJR3FQGH1PkdRtOljuxb%2Fuploads%2Fgit-blob-826ab2bd1c4cb1f18b8ef298f8f8a17f7d9760ba%2Fnb10.png?alt=media)

确认写入分区信息到硬盘，选择 OK 后按回车键。此操作将清空磁盘数据，请确保已备份重要文件。

![install NetBSD](https://338876981-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCJR3FQGH1PkdRtOljuxb%2Fuploads%2Fgit-blob-85d87a7596cda811731910e3ada562c176884ca8%2Fnb11.png?alt=media)

选择默认的完整安装（Full installation），然后按回车键。该选项将安装所有系统组件，适合大多数用户。

![install NetBSD](https://338876981-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCJR3FQGH1PkdRtOljuxb%2Fuploads%2Fgit-blob-f4f0e267ddf05f41929595661de449432b450dd5%2Fnb12.png?alt=media)

选择安装源，本示例选择 DVD，然后按回车键。

![install NetBSD](https://338876981-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCJR3FQGH1PkdRtOljuxb%2Fuploads%2Fgit-blob-fdd99222dae111110a00f4bcbcb51f50a03118a0%2Fnb13.png?alt=media)

开始安装，等待安装完成。

![install NetBSD](https://338876981-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCJR3FQGH1PkdRtOljuxb%2Fuploads%2Fgit-blob-e75fa33b4d24509e60759516a26115646915ad5c%2Fnb14.png?alt=media)

按回车键以继续。

![install NetBSD](https://338876981-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCJR3FQGH1PkdRtOljuxb%2Fuploads%2Fgit-blob-9597f411880aa4ff207430bb3758e7510f649369%2Fnb16.png?alt=media)

设置 `root` 用户的密码。root 是系统管理员账户，拥有最高权限。

![install NetBSD](https://338876981-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCJR3FQGH1PkdRtOljuxb%2Fuploads%2Fgit-blob-85342556aa8b764e9dc87522876b7f7e5a305845%2Fnb17.png?alt=media)

接下来将逐项进行系统配置。

> **警告**
>
> 以下界面显示的是默认设置，需根据实际情况进行修改，不建议直接使用默认值。

![install NetBSD](https://338876981-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCJR3FQGH1PkdRtOljuxb%2Fuploads%2Fgit-blob-c9c0a1565dd71de9e110e319fc313b4b95f8124e%2Fnb17-2.png?alt=media)

首先进行配置项 `a`：网络设置，选择要使用的网卡。

![install NetBSD](https://338876981-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCJR3FQGH1PkdRtOljuxb%2Fuploads%2Fgit-blob-fe89821eefe09ec25752efa254dfba065b7a5c17%2Fnb18.png?alt=media)

选择自动配置网络，通过 DHCP 自动获取 IP 地址。

![install NetBSD](https://338876981-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCJR3FQGH1PkdRtOljuxb%2Fuploads%2Fgit-blob-d1ac1da3116a88c257df2f4ba405eebd023715e9%2Fnb20.png?alt=media)

确认网络自动配置设置。

![install NetBSD](https://338876981-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCJR3FQGH1PkdRtOljuxb%2Fuploads%2Fgit-blob-90fef37f48abfdfceabd80ff51d8619504250fe9%2Fnb21.png?alt=media)

输入系统主机名和 DNS 域名。主机名用于标识网络中的本机。

![install NetBSD](https://338876981-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCJR3FQGH1PkdRtOljuxb%2Fuploads%2Fgit-blob-7e50e198861628c82d24bda0f92ff46075da221a%2Fnb22.png?alt=media)

确认网络设置是否正确，然后选择 `Yes`。

![install NetBSD](https://338876981-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCJR3FQGH1PkdRtOljuxb%2Fuploads%2Fgit-blob-00d7a4b976ac3f9b2b6dc1ff4acea74dfb61037f%2Fnb23.png?alt=media)

确认网络配置，并将设置写入系统。

![install NetBSD](https://338876981-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCJR3FQGH1PkdRtOljuxb%2Fuploads%2Fgit-blob-8c57e0d419fd94ad196ce69d4551b91b01978bfc%2Fnb24.png?alt=media)

配置 `b` 时区，选择 `Asia`（亚洲）。

![install NetBSD](https://338876981-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCJR3FQGH1PkdRtOljuxb%2Fuploads%2Fgit-blob-db17d556352323808d1ef7d263b7142b8ffe6570%2Fnb25.png?alt=media)

选择 `Asia/Shanghai`（北京时间）。

![install NetBSD](https://338876981-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCJR3FQGH1PkdRtOljuxb%2Fuploads%2Fgit-blob-0cf8190b10f0f3481c6f3495554a8fc02a0aa019%2Fnb26.png?alt=media)

确认时区设置后，按回车键退出该界面（Exit）。

![install NetBSD](https://338876981-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCJR3FQGH1PkdRtOljuxb%2Fuploads%2Fgit-blob-97bd0a78f2ace2388d61697e9391d045786ea42c%2Fnb27.png?alt=media)

配置项 `e`：安装 `pkgin` 包管理器，直接按回车键以继续。pkgin 是 NetBSD 的二进制包管理工具，能帮助用户轻松安装、更新和删除软件包。

![install NetBSD](https://338876981-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCJR3FQGH1PkdRtOljuxb%2Fuploads%2Fgit-blob-3a9ac0bf55556a20a9b0bc6e30bb803a76daaf12%2Fnb29.png?alt=media)

开始安装。

![install NetBSD](https://338876981-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCJR3FQGH1PkdRtOljuxb%2Fuploads%2Fgit-blob-a467d69584f6577bfcfd1da72bfb6a1524c5c522%2Fnb30.png?alt=media)

安装完毕，按回车键退出界面。

![install NetBSD](https://338876981-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCJR3FQGH1PkdRtOljuxb%2Fuploads%2Fgit-blob-27cc0447ac67b411f37d96fec02cc06d5aef6902%2Fnb31.png?alt=media)

配置项 `f`：安装 `pkgsrc` 包管理器，直接按回车键开始安装。pkgsrc 是 NetBSD 的源代码包管理框架。

![install NetBSD](https://338876981-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCJR3FQGH1PkdRtOljuxb%2Fuploads%2Fgit-blob-d64f3080de6d48d1e0b068844314b52570b70752%2Fnb32.png?alt=media)

等待安装完成。

![install NetBSD](https://338876981-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCJR3FQGH1PkdRtOljuxb%2Fuploads%2Fgit-blob-3b431d75a680afeac3658ef26f741a4965c1f37e%2Fnb33.png?alt=media)

配置项 `o`：添加普通用户。输入用户名后按回车键，再按回车键将用户加入 `wheel` 组。wheel 组成员可使用 sudo 或 su 提升权限。

![install NetBSD](https://338876981-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCJR3FQGH1PkdRtOljuxb%2Fuploads%2Fgit-blob-dbf42bff300d45fc279e3314f1d070e5490a075e%2Fnb34.png?alt=media)

选择普通用户的 Shell 类型。

![install NetBSD](https://338876981-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCJR3FQGH1PkdRtOljuxb%2Fuploads%2Fgit-blob-d12abe67a956b2ca1071e6eb6a7592546a370c11%2Fnb35.png?alt=media)

为普通用户设置密码。

![install NetBSD](https://338876981-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCJR3FQGH1PkdRtOljuxb%2Fuploads%2Fgit-blob-a3964fd5a3af070aa926c50749f160249a17820f%2Fnb36.png?alt=media)

接下来配置各项系统服务参数：

* `g`：sshd 远程服务，用于安全远程登录
* `h`：打开时间同步，使用 NTP 协议同步系统时间
* `i`：开机校对时间，在启动时同步硬件时钟
* `j`：mDNS，用于局域网内设备发现
* `k`：xdm 图形界面，X 显示管理器
* `l`：磁盘加密模块，提供磁盘加密功能
* `m`：LVM（logical volume management，逻辑卷管理器），用于灵活管理磁盘空间
* `n`：软 RAID，提供软件磁盘阵列功能

请根据需要开启相应选项。

![install NetBSD](https://338876981-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCJR3FQGH1PkdRtOljuxb%2Fuploads%2Fgit-blob-83ce466208838c28e484bbef1b5feba6b790ead5%2Fnb37.png?alt=media)

结束安装。

![install NetBSD](https://338876981-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCJR3FQGH1PkdRtOljuxb%2Fuploads%2Fgit-blob-8a184fc0079dc6584db64c37289c384759db9591%2Fnb38.png?alt=media)

安装完成。

![install NetBSD](https://338876981-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCJR3FQGH1PkdRtOljuxb%2Fuploads%2Fgit-blob-e4695949f90d30d4b1c21791b35fac674218ebbb%2Fnb38-1.png?alt=media)

输入命令 `reboot` 重启系统。

![install NetBSD](https://338876981-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCJR3FQGH1PkdRtOljuxb%2Fuploads%2Fgit-blob-9f64620fc8c14286d7030ff0aa2bdbf2575ebca2%2Fnb38-2.png?alt=media)

系统启动成功。

![install NetBSD](https://338876981-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCJR3FQGH1PkdRtOljuxb%2Fuploads%2Fgit-blob-568fe2810c2ff59f1d0f521ab01f9bf5af55753a%2Fnb39.png?alt=media)

系统启动成功后，会显示登录提示。输入用户名和密码登录系统：

![install NetBSD](https://338876981-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCJR3FQGH1PkdRtOljuxb%2Fuploads%2Fgit-blob-3772a6645eaf1d2ee5f946dfe190951c6d53e1e9%2Fnb40.png?alt=media)

登录后，若已选择安装图形界面，将显示初始 xdm 系统界面：

![install NetBSD](https://338876981-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCJR3FQGH1PkdRtOljuxb%2Fuploads%2Fgit-blob-b897dd877c344488070dbdf358aed8ea4519f3ba%2Fnb41.png?alt=media)

## 故障排除与未竟事项

在安装过程中可能会遇到一些问题，以下是相关的观察和说明。通过对照实验观察，使用 IDE 硬盘接口或较少的 CPU 核心配置时未出现类似问题，而当 CPU 核心数量设定为 16 时可能触发兼容性问题。建议在虚拟机设置中将 CPU 核心数量限制为 4 或 8 以确保稳定性。

## 课后习题

1. 在 VMware Workstation Pro 中复现 NetBSD 10.1 在 16 个 CPU 核心配置下的安装问题，对比 4 核心与 16 核心配置下的系统日志差异，并构建最小实验复现脚本。
2. 选取 NetBSD 安装程序的分区管理模块，分析其在 GPT 分区表与 NVMe 存储接口交互中的设计决策，并重构该部分最小功能实现。
