Day03 操作系统安装
[TOC]
1. 驱动程序
1.1 什么是驱动程序
驱动程序(Device Driver) 是硬件厂商专门为自己的某款硬件设备开发的,用于驱动该硬件运行的专项程序。
1.2 驱动程序的特点
| 特点 |
说明 |
| 硬件相关性 |
每种驱动程序针对特定硬件型号开发 |
| 系统依赖性 |
必须遵循操作系统的接口标准 |
| 内核层级 |
运行在内核态,直接与硬件交互 |
| 即插即用 |
现代系统支持自动识别和加载驱动 |
1.3 驱动与操作系统关系
flowchart TD
A["用户应用程序"] --> B["操作系统内核"]
B --> C["驱动程序层<br/>(显卡/网卡/存储驱动...)"]
C --> D["硬件设备"]
2. 操作系统安装原理
2.1 核心概念
| 概念 |
解释 |
| 操作系统本质 |
一种特殊的程序 |
| 安装 |
将程序文件存储到硬盘的过程 |
| ISO 镜像 |
操作系统安装包的封装格式,本质是压缩包 |
2.2 安装流程
flowchart TD
A["下载 ISO 镜像到 U盘/光盘"] --> B[制作启动盘]
B --> C[插入启动盘到目标机器]
C --> D[按下电源键]
D --> E[BIOS 启动自检]
E --> F[BIOS 根据 CMOS 配置查找启动盘]
F --> G[读取启动盘引导扇区]
G --> H[将 OS 代码加载到内存]
H --> I[真正的 OS 接管系统]
I --> J[将启动盘中的 OS 安装到本地硬盘]
J --> K[安装完成]
2.3 安装步骤详解
| 步骤 |
操作 |
说明 |
| 1 |
下载 ISO |
使用另一台机器下载操作系统镜像 |
| 2 |
制作启动盘 |
将 ISO 写入 U 盘或刻录到光盘 |
| 3 |
设置启动顺序 |
进入 BIOS/UEFI 设置从启动盘启动 |
| 4 |
加载安装程序 |
BIOS 将启动盘中的 OS 读入内存 |
| 5 |
执行安装向导 |
按提示完成分区、设置等操作 |
| 6 |
复制文件 |
将 OS 从启动盘拷贝到本地硬盘 |
| 7 |
安装引导程序 |
配置 GRUB 等引导管理器 |
3. 操作系统启动流程
3.1 完整启动流程图
flowchart TD
A[按下电源键] --> B[硬件通电]
B --> C["执行 BIOS/UEFI 程序"]
C --> D{查找启动设备}
D -->|找到| E[读取启动盘 MBR]
D -->|未找到| Z[停止启动]
E --> F["加载 Bootloader<br/>GRUB/LILO"]
F --> G[Bootloader 加载内核]
G --> H[内核初始化]
H --> I[加载驱动程序]
I --> J[启动系统服务]
J --> K[显示登录界面]
K --> L[用户登录]
L --> M[进入操作系统]
3.2 启动各阶段说明
| 阶段 |
组件 |
作用 |
| 加电自检 |
BIOS/UEFI |
检测硬件设备 |
| 引导加载 |
Bootloader |
如 GRUB,负责加载内核 |
| 内核启动 |
Linux Kernel |
初始化系统核心 |
| 服务启动 |
Systemd |
启动系统服务 |
| 用户登录 |
Login |
提供登录界面 |
3.3 MBR 与 Bootloader
硬盘第一个扇区(512 字节)的结构:
| 区域 |
大小 |
内容 |
| 引导代码区 |
446 字节 |
Bootloader 主代码 |
| 分区表 |
64 字节 |
4 个分区信息(每项 16 字节) |
| 结束标志 |
2 字节 |
0x55AA,表示有效 |
Bootloader 常见类型:GRUB、GRUB2、LILO、Syslinux
4. 安装操作系统
4.1 虚拟机简介
使用 VMware Workstation 可以在物理机上创建多个虚拟计算机。
| 虚拟化模式 |
说明 |
| 桥接模式 |
虚拟机直接连接物理网络,与宿主机平级 |
| NAT 模式 |
虚拟机通过宿主机上网 |
| 仅主机模式 |
虚拟机仅与宿主机通信 |
4.2 VMware 虚拟机层级结构
graph TD
A[物理主机] --> B[VMware Workstation]
B --> C[虚拟网络适配器]
B --> D[虚拟磁盘]
C --> E[虚拟机 1]
C --> F[虚拟机 2]
D --> E
D --> F
4.3 常见 Linux 发行版
| 发行版 |
特点 |
适用场景 |
| CentOS 7.9 |
企业级,稳定,免费 |
服务器 |
| Rocky Linux 9.3 |
RHEL 替代,社区驱动 |
企业服务器 |
| Ubuntu 22.04 LTS |
桌面友好,更新快 |
桌面/服务器 |
5. Linux 目录结构
5.1 目录结构对比
| 特性 |
Windows |
Linux |
| 结构类型 |
多根结构 |
单根结构 |
| 盘符表示 |
C:\、D:\ |
/ |
| 路径分隔符 |
\ |
/ |
| 目录组织 |
按盘符分区 |
统一树形结构 |
5.2 Linux 单根目录树
graph LR
root["/ 根目录"] --> bin["bin/ 常用命令"]
root --> sbin["sbin/ 系统管理命令"]
root --> etc["etc/ 系统配置文件"]
root --> home["home/ 用户主目录"]
home --> user["user/ 用户文件夹"]
root --> rootdir["root/ 管理员主目录"]
root --> var["var/ 变量数据"]
root --> tmp["tmp/ 临时文件"]
root --> usr["usr/ 用户程序"]
root --> boot["boot/ 启动文件"]
### 5.3 分区与挂载点
在 Linux 中,分区需要**挂载**到目录才能使用:
| 分区 | 挂载点 | 说明 | 建议大小 |
|------|--------|------|----------|
| `/dev/sda1` | `/boot` | 启动文件 | 1-2 GB |
| `/dev/sda2` | `/` | 根目录 | 20-50 GB |
| `/dev/sda3` | `/home` | 用户数据 | 剩余空间 |
| `/dev/sda4` | `swap` | 交换分区 | 内存的 1-2 倍 |
---
## 6. 常用 Bash 命令
### 6.1 基础命令
| 命令 | 说明 | 示例 |
|------|------|------|
| `echo` | 输出文本 | `echo "Hello World"` |
| `pwd` | 显示当前目录 | `pwd` |
| `cd` | 切换目录 | `cd /home` |
| `ls` | 列出文件 | `ls -la` |
### 6.2 网络相关
| 命令 | 说明 | 示例 |
|------|------|------|
| `ip a` | 查看 IP 地址 | `ip a` |
| `ping` | 测试网络连通性 | `ping 8.8.8.8` |
| `curl` | 请求 URL | `curl http://example.com` |
### 6.3 权限相关
| 命令 | 说明 | 示例 |
|------|------|------|
| `sudo` | 以管理员身份执行 | `sudo apt update` |
| `chmod` | 修改权限 | `chmod +x script.sh` |
| `chown` | 修改所有者 | `chown user:group file` |
### 6.4 常用命令示例
```bash
# 输出 hello
echo hello
# 查看 IP 地址
ip a
# 查看当前用户
whoami
# 切换到 root 用户
sudo -i
# 安装软件包(Ubuntu/Debian)
sudo apt update && sudo apt upgrade
# 创建目录
mkdir -p /data/project
# 查看系统信息
uname -a
cat /etc/os-release
7. OSI 七层协议(网络通信基础)
7.1 七层模型
| 层级 |
名称 |
主要协议 |
设备/单位 |
| 7 |
应用层 |
HTTP, FTP, SMTP, DNS |
程序 |
| 6 |
表示层 |
JPEG, SSL, TLS |
数据格式 |
| 5 |
会话层 |
NetBIOS, RPC |
会话管理 |
| 4 |
传输层 |
TCP, UDP |
端口 |
| 3 |
网络层 |
IP, ICMP, Router |
IP 地址 |
| 2 |
数据链路层 |
Ethernet, PPP, Switch |
MAC 地址 |
| 1 |
物理层 |
USB, 光纤, 同轴电缆 |
比特流 |
7.2 数据封装过程
flowchart LR
A[应用层 Data] --> B[传输层 Segment]
B --> C[网络层 Packet]
C --> D[数据链路层 Frame]
D --> E[物理层 Bits]
style A fill:#90EE90
style B fill:#87CEEB
style C fill:#FFA500
style D fill:#DDA0DD
style E fill:#F0E68C
7.3 记忆口诀
“应表会传网数物”(All People Seem To Need Data Processing)
- Application - 应用层
- Presentation - 表示层
- Session - 会话层
- Transport - 传输层
- Network - 网络层
- Data Link - 数据链路层
- Physical - 物理层
8. 本章小结
| 知识点 |
掌握程度 |
| 驱动程序概念 |
⭐⭐⭐ |
| 操作系统安装原理 |
⭐⭐⭐⭐⭐ |
| 系统启动流程 |
⭐⭐⭐⭐⭐ |
| Linux 目录结构 |
⭐⭐⭐⭐ |
| 基础 Bash 命令 |
⭐⭐⭐⭐ |
| OSI 七层模型 |
⭐⭐⭐⭐ |