1. 项目概述:从Windows到Ubuntu的无图形化迁移
去年帮朋友改造了五台退役的迷你主机,全部从Windows迁移到Ubuntu Server作为家庭媒体服务器集群。这种不带图形界面的Ubuntu系统特别适合mini主机这类性能有限的设备,实测内存占用能控制在300MB以内,比Windows节省近80%资源。
无图形界面的Ubuntu Server版相比桌面版有三大优势:首先是资源占用极低,1GB内存的机器也能流畅运行;其次安全性更高,减少了图形界面带来的攻击面;最重要的是通过SSH就能完成所有管理操作,特别适合作为服务器或开发环境使用。下面这个方案已经在Dell OptiPlex 3040、Intel NUC等十余款mini主机上验证通过。
2. 准备工作与注意事项
2.1 硬件兼容性检查
先通过Windows设备管理器记录以下信息:
- 网卡型号(特别是无线网卡)
- 声卡/显卡型号
- 存储控制器类型(AHCI/NVMe)
- 蓝牙模块型号
特别注意:Realtek RTL8821CE等常见无线网卡需要额外安装驱动,建议提前下载好对应的.deb安装包放到U盘备用。
2.2 制作启动盘的进阶技巧
推荐使用Ventoy制作多功能启动盘:
# 在现有Windows系统执行 1. 下载Ventoy安装包 2. 插入U盘(建议32GB以上) 3. 运行Ventoy2Disk.exe选择U盘安装 4. 直接将Ubuntu ISO镜像拷贝到U盘根目录这样同一个U盘可以存放多个系统镜像,还能保留剩余空间存储驱动文件。比Rufus等工具更灵活。
2.3 BIOS设置的隐藏选项
不同品牌mini主机进入BIOS的快捷键:
- Intel NUC:F2
- Dell OptiPlex:F12
- HP EliteDesk:ESC → F10
- Lenovo ThinkCentre:F1
需要调整的关键设置:
- 关闭Secure Boot
- 关闭Fast Boot
- 调整启动模式为UEFI(非Legacy)
- SATA模式设为AHCI
- 如有TPM芯片建议暂时禁用
3. 系统安装全流程解析
3.1 启动参数优化
在安装界面按"e"编辑启动参数,在"linux"行末尾添加:
nomodeset quiet splash这对老旧显卡和迷你主机特别重要,能避免安装过程中的黑屏问题。
3.2 分区方案设计
建议手动分区方案(以128GB SSD为例):
| 挂载点 | 类型 | 大小 | 格式 | 备注 |
|---|---|---|---|---|
| /boot/efi | EFI | 512MB | FAT32 | 必须 |
| /boot | 主分区 | 1GB | ext4 | 可选 |
| swap | 交换空间 | 内存大小×1.5 | - | 休眠需要 |
| / | 主分区 | 30GB | ext4 | 系统根 |
| /home | 逻辑分区 | 剩余空间 | ext4 | 用户数据 |
实战经验:迷你主机建议取消/home分区,所有空间给/分区更实用。交换分区大小超过32GB可能引发休眠问题。
3.3 关键软件包选择
在"选择软件"步骤取消所有默认选项,仅勾选:
- [ ] OpenSSH server
- [ ] 标准系统工具
这样可以保持系统最精简,后续再按需安装其他组件。
4. 安装后必须的20项配置
4.1 网络配置优化
有线网络静态IP配置:
sudo nano /etc/netplan/00-installer-config.yamlnetwork: version: 2 ethernets: enp2s0: dhcp4: no addresses: [192.168.1.100/24] gateway4: 192.168.1.1 nameservers: addresses: [8.8.8.8, 1.1.1.1]应用配置:
sudo netplan apply4.2 必备工具安装
基础工具套装:
sudo apt update && sudo apt install -y \ vim htop net-tools tmux curl git \ lm-sensors smartmontools4.3 性能调优三件套
- 关闭图形相关服务:
sudo systemctl set-default multi-user.target sudo systemctl disable gdm- 调整swappiness值:
echo "vm.swappiness=10" | sudo tee -a /etc/sysctl.conf- 启用zRAM压缩:
sudo apt install zram-config sudo service zram-config restart5. 常见问题解决方案
5.1 无线网卡驱动问题
Realtek网卡驱动安装示例:
sudo apt install -y dkms build-essential wget https://github.com/lwfinger/rtlwifi_new/archive/refs/tags/2020.12.07.tar.gz tar -xzvf 2020.12.07.tar.gz cd rtlwifi_new-2020.12.07 make && sudo make install sudo modprobe rtl8821ce5.2 声音输出异常
强制指定音频设备:
sudo nano /etc/modprobe.d/alsa-base.conf添加:
options snd-hda-intel model=dell-headset-multi5.3 风扇控制方案
安装风扇控制工具:
sudo apt install lm-sensors fancontrol sudo sensors-detect sudo pwmconfig配置完成后创建服务:
sudo systemctl enable fancontrol sudo systemctl start fancontrol6. 生产力环境搭建
6.1 开发环境配置
安装Python环境:
sudo apt install -y python3-pip python3-venv pip3 install --user pipx pipx install black flake86.2 容器化方案
安装Docker无sudo执行:
sudo apt install -y docker.io sudo usermod -aG docker $USER newgrp docker docker run hello-world6.3 远程开发方案
VS Code远程开发配置:
sudo apt install -y openssh-server sudo systemctl enable --now ssh然后在本地VS Code安装"Remote - SSH"扩展即可连接。
7. 系统维护技巧
7.1 自动更新策略
配置无人值守更新:
sudo apt install -y unattended-upgrades sudo dpkg-reconfigure -plow unattended-upgrades7.2 备份方案设计
使用rsync定时备份:
sudo crontab -e添加:
0 3 * * * rsync -a --delete /home /mnt/backup7.3 性能监控方案
安装NetData实时监控:
bash <(curl -Ss https://my-netdata.io/kickstart.sh)访问http://[IP]:19999 查看实时数据