物理机部署Linux系统全攻略:从硬件准备到效能调优
2026/9/9 15:17:55 网站建设 项目流程

1. 从零开始:为什么要在物理机上部署Linux?

最近几年,我身边越来越多的朋友和同事开始对迷你计算机、工控机或者闲置的老旧笔记本动起了心思,想把它们变成一台纯粹的Linux服务器或开发机。这背后其实有个挺有意思的转变:大家不再满足于虚拟机里“玩一玩”Linux,而是希望获得一个更纯粹、性能损耗更低、更贴近生产环境的系统。虚拟机当然方便,但总有那么一层“隔阂”,资源调度、硬件直通、乃至一些底层性能调优,总感觉差了那么点意思。尤其是当你手头有一台性能不错的NUC、或者一台准备发挥余热的旧电脑时,直接在物理机上安装Linux,就成了一个更具吸引力的选择。

这个“新机器部署Linux系统(非虚拟机)”的过程,听起来好像就是把一个U盘插上去,点几下下一步就完事了。但真做起来,你会发现从硬件兼容性判断、启动模式选择,到分区规划、驱动安装,每一步都有不少细节值得琢磨。它不像在虚拟机里,配置不对可以瞬间回滚。在物理机上,一个不小心,可能连带着你原来的数据或者启动项一起出问题。所以,这篇文章我想和你详细聊聊,如何像一位老手一样,沉稳、清晰地在全新的物理机器上部署一个稳定可用的Linux系统,我会以目前最流行的Ubuntu Server 22.04 LTS为例,但其中的思路和方法是通用的。无论你是想搭建一个家庭服务器、一个开发测试环境,还是单纯想体验最原汁原味的Linux,这篇手把手的指南都能帮你避开我当年踩过的那些坑。

2. 战前准备:硬件、镜像与启动盘,一个都不能马虎

在按下电源键之前,充分的准备工作能让你在安装过程中气定神闲。很多人觉得安装系统就是下载个ISO,用工具写到U盘里,然后重启。但魔鬼藏在细节里,尤其是对于物理机安装。

2.1 硬件兼容性与启动模式确认

首先,你得了解你的“新机器”。这里的“新”不一定指刚出厂,而是指对你而言,准备首次安装Linux的机器。关键信息有以下几点:

  1. CPU架构:这决定了你能安装什么版本的系统。目前绝大多数个人电脑都是x86_64(也叫AMD64)架构,这也是我们最常接触的。你可以通过机器型号或进入现有系统(如Windows)的系统信息查看。确保你下载的Linux发行版镜像是对应架构的。
  2. 启动模式:这是物理机安装的第一个“分水岭”。你的机器主板支持传统的BIOS启动还是UEFI启动,或者两者兼容?这直接影响你制作启动盘的方式和后续的分区方案。一个简单的判断方法是:如果你的机器是2015年之后购买的,大概率支持UEFI。更准确的方法是,开机时按特定键(如F2、Del、F12等,因品牌而异)进入主板设置,在“Boot”或“启动”选项里查看。UEFI模式是更现代、更安全(支持Secure Boot)的启动方式,也是我们推荐的首选。
  3. 网卡与无线网卡型号:特别是对于笔记本或一些迷你主机,其无线网卡驱动可能不在Linux内核的默认支持范围内。提前记下型号(例如Intel AX200, Realtek 8822CE),可以在安装前就查好是否需要额外的驱动,或者准备一个USB有线网卡作为安装阶段的备用方案。
  4. 显卡型号:如果你打算安装带图形界面的Ubuntu Desktop,那么NVIDIA独立显卡可能需要额外安装闭源驱动。对于服务器版或纯命令行环境,通常集成显卡或开源驱动就足够了。

2.2 获取系统镜像与制作启动盘

确定了硬件基础,接下来就是获取系统。以Ubuntu为例,强烈建议从官网下载镜像。国内用户可以选择国内的镜像源站点,速度会快很多。对于服务器用途,我推荐Ubuntu Server LTS版本,比如22.04 LTS或24.04 LTS。LTS代表长期支持,能获得长达5年的安全更新,非常适合稳定运行。

下载下来的是一个.iso文件。接下来需要把它“烧录”到一个U盘里,制作成可启动的安装介质。这里有个关键点:不要简单地用复制粘贴的方式,必须使用专门的工具将ISO镜像“写入”U盘。

  • 在Windows下:推荐使用Rufus。它开源、免费、功能强大。打开Rufus,选择你的U盘,在“引导类型选择”处点击“选择”,找到你下载的.iso文件。Rufus会自动识别镜像并配置正确的写入方式。这里你会看到两个重要的选项:

    • 分区类型:这对应主板的启动模式。如果你的机器是纯UEFI,选择“GPT”。如果是传统BIOS(或叫Legacy),选择“MBR”。如果不确定,或者你的主板支持UEFI但兼容传统模式,Rufus提供的“GPT+UEFI”或“MBR+BIOS/UEFI”的自动选择通常是安全的。
    • 目标系统类型:保持“UEFI(非CSM)”或“BIOS(或UEFI-CSM)”即可,Rufus会根据你的分区类型自动建议。 点击“开始”,它会提示是否以“DD镜像模式”写入,对于大多数Linux镜像,直接使用默认的“ISO镜像模式”即可。
  • 在macOS或Linux下:可以使用dd命令,但操作需极其谨慎,因为选错磁盘会抹掉你的系统盘。更推荐使用图形化工具Etcher,它跨平台、界面友好,基本是“选择镜像 -> 选择U盘 -> 点击写入”三步搞定,自动处理各种兼容性问题。

注意:制作启动盘会清空U盘上的所有数据,请提前备份。建议使用一个8GB或以上容量的U盘,USB 3.0的更好,能显著加快安装速度。

制作完成后,安全弹出U盘。你的“系统安装钥匙”就准备好了。

3. 安装实战:从引导到分区的核心步骤拆解

将制作好的启动U盘插入新机器,开机并立即按下启动菜单选择键(通常是F12、F10、Esc等,开机画面会有提示)。从启动菜单中选择你的U盘设备。

3.1 引导与初始配置

成功引导后,你会进入Ubuntu安装程序的欢迎界面。以Ubuntu Server为例,这是一个基于文本的菜单界面,但逻辑清晰。

  1. 语言选择:选择安装过程使用的语言,这通常也决定了系统安装后的默认语言环境。对于服务器,选择“English”可能更利于后续排查一些国际化问题,但中文也无妨。
  2. 键盘布局:根据你的键盘类型选择,通常就是“Chinese”或“English (US)”。
  3. 网络连接:安装程序会尝试连接网络。强烈建议在安装时就连接上有线网络。这能让你在安装过程中就下载最新的系统更新和第三方驱动(如某些网卡驱动),确保系统装好就是最新的。如果无线网卡不被默认支持,你可能需要先通过有线网络安装,进入系统后再配置无线。
  4. 配置代理:如果你处在需要网络代理的环境,在此处设置。否则直接跳过。
  5. 镜像源地址:这一步非常重要!系统会问你使用哪个Ubuntu归档镜像。默认是archive.ubuntu.com,位于国外。为了获得飞快的下载速度,你应该在这里就更换为国内的镜像源。选择“Enter information manually”或直接编辑提供的URL,将其替换为例如阿里云镜像源http://mirrors.aliyun.com/ubuntu或清华源https://mirrors.tuna.tsinghua.edu.cn/ubuntu/。这会让后续下载软件包的速度提升几个数量级。

3.2 存储配置:分区是定盘星

这是物理机安装中最需要动脑筋,也最容易出错的环节。Ubuntu Server提供了几种方案:

  • 使用整个磁盘:最简单粗暴。安装程序会抹掉你指定硬盘上的所有数据,然后自动创建必要的分区(EFI系统分区、交换空间、根分区等)。如果你是全新的硬盘,或者确定硬盘上没有需要保留的数据,可以用这个。
  • 手动分区:这是推荐给大多数希望清晰掌控自己系统的用户的方式。它让你理解每个分区的作用,并能根据机器用途进行优化。

我们来详细说说手动分区。假设我们在一块全新的硬盘上为UEFI启动模式的系统进行分区,常见的方案如下:

挂载点分区类型文件系统大小建议作用与说明
/boot/efiEFI系统分区FAT32100MB - 512MBUEFI启动必需。用于存放引导加载程序(如GRUB)和UEFI固件所需的文件。FAT32是UEFI标准规定的格式。
/(根分区)主分区ext4 (或 xfs)剩余空间的绝大部分,如100GB+系统的核心。所有未指定挂载点的文件和目录都在这里。系统文件、安装的软件都在此。
swap(交换分区)交换空间swap物理内存的1-2倍(内存>8G时,可等于内存大小)当物理内存不足时,系统会将部分内存数据暂时存到硬盘的这个区域。对于有休眠需求,swap大小建议不小于物理内存。
/home(可选)主分区ext4根据个人数据量决定用户家目录。将用户数据和系统文件分离,重装系统时可以保留此分区,避免数据丢失。

操作流程:在分区界面选择“自定义存储布局”或“手动分区”。然后针对你的目标硬盘(如/dev/sda/dev/nvme0n1)进行以下操作:

  1. 创建/boot/efi分区:大小512MB,类型选“EFI System Partition”。
  2. 创建swap分区:大小根据你的内存决定(例如16G内存,swap可以设16G-32G),类型选“swap area”。
  3. 创建/分区:使用剩余的大部分空间,挂载点选“/”,文件系统选“ext4”。
  4. (可选)创建/home分区:如果你希望分离,可以从剩余空间中再划出一部分。

分区的文件系统,对于Linux,ext4是久经考验、稳定可靠的选择。xfs在处理大文件时性能可能更好,但ext4的通用性最强。分完区后,在底部选择将引导加载器安装到这块硬盘(例如/dev/sda),而不是某个分区。

3.3 用户设置与软件选择

分区完成后,安装会继续:

  1. 设置主机名:给你的机器起个名字,比如my-home-server
  2. 创建用户:输入你的全名、服务器名(会自动生成,通常是全名的小写+数字),以及最重要的——用户名和密码。对于服务器,建议使用一个强密码,并避免使用root用户直接进行日常操作。这里创建的普通用户默认拥有sudo权限,可以执行管理员命令。
  3. 安装SSH服务器:这是至关重要的一步!务必勾选“Install OpenSSH server”。这样系统安装完成后,你就可以从同一网络下的另一台电脑,通过SSH远程登录和管理这台服务器,无需连接显示器和键盘,这才是服务器管理的常态。
  4. 选择要安装的软件包:Ubuntu Server会列出一些常见的服务器套件,如Web服务器(LAMP stack)、数据库(PostgreSQL, MySQL)等。如果你是新手,或者还不确定具体用途,可以先不选任何附加软件,只安装一个最精简的系统。所有软件都可以在系统安装完毕后,通过apt命令轻松安装。这能保持系统的纯净和可控。

确认所有信息后,安装程序就会开始格式化分区、复制文件、安装系统基础组件和选定的软件。这个过程需要一些时间,取决于你的网络速度和机器性能。

安装完成后,系统会提示你重启。务必在重启前拔掉U盘,否则可能会再次进入安装界面。重启后,你的新机器就应该从硬盘引导,进入全新的Linux系统了。

4. 安装后的必修课:基础配置与网络调优

系统安装成功,看到登录提示符,只是万里长征第一步。一个“能用”的系统和一个“好用”的系统之间,差的就是下面这些配置。

4.1 首次登录与系统更新

用你创建的用户名和密码登录。第一件事,就是更新系统。这能确保你获得所有最新的安全补丁和软件更新。

# 首先更新本地软件包列表 sudo apt update # 然后升级所有可升级的软件包 sudo apt upgrade -y # 如果需要,也可以执行发行版升级(小版本号升级,如22.04.1到22.04.2) # sudo apt dist-upgrade -y

-y参数表示自动回答“yes”,省去确认步骤。更新过程可能需要重启某些服务,如果内核有更新,会提示你重启系统以使新内核生效。

4.2 网络配置:静态IP与主机名解析

对于服务器来说,一个固定的IP地址比动态获取(DHCP)要可靠得多。这样你才能稳定地通过SSH连接它,或者将它用于需要固定地址的服务(如Web服务器)。

  1. 查看网络接口名称:使用ip addrifconfig(如果已安装net-tools)命令,查看你的有线网卡名称,通常是ens33,enp3s0,eth0之类的。

  2. 配置静态IP:Ubuntu 18.04之后,网络配置默认使用netplan。配置文件位于/etc/netplan/目录下,通常是一个以.yaml结尾的文件,例如00-installer-config.yaml01-netcfg.yaml

    sudo nano /etc/netplan/00-installer-config.yaml

    编辑这个文件,将DHCP配置改为静态IP。以下是一个示例(请根据你的网络环境修改addresses,gateway4,nameservers):

    network: version: 2 ethernets: ens33: # 你的网卡名称 dhcp4: no addresses: [192.168.1.100/24] # 静态IP和子网掩码 gateway4: 192.168.1.1 # 网关地址 nameservers: addresses: [8.8.8.8, 114.114.114.114] # DNS服务器

    注意:YAML文件对缩进非常敏感,必须使用空格,不能使用Tab键。addresses后面的/24是CIDR表示法,等同于子网掩码255.255.255.0

  3. 应用配置:保存文件后,使用以下命令测试并应用配置。

    sudo netplan try # 会有一个120秒的等待期,如果网络没问题,按Enter确认 # 或者直接应用 sudo netplan apply

    应用后,使用ip addr show ens33检查IP是否已变更。

  4. 配置主机名解析(可选但推荐):在你的局域网内其他机器上,你可能希望通过主机名(如my-server)而不是IP地址来访问这台服务器。这需要在你的路由器上设置DHCP静态分配(将MAC地址绑定到IP),或者在每台需要访问的客户机的/etc/hosts文件(Windows系统在C:\Windows\System32\drivers\etc\hosts)中添加一行:192.168.1.100 my-server

4.3 SSH安全加固与防火墙

既然要通过SSH远程管理,安全就必须重视。

  1. 修改SSH端口:默认的22端口是黑客扫描的重灾区。修改为一个不常见的高位端口(如2222)能减少大量自动化攻击。

    sudo nano /etc/ssh/sshd_config

    找到#Port 22这一行,去掉注释#,并将22改为你想要的端口,例如Port 2222。保存文件。

  2. 禁用root登录:防止攻击者直接尝试破解root密码。 在同一文件中,找到#PermitRootLogin yes,改为PermitRootLogin no

  3. 重启SSH服务:使配置生效。

    sudo systemctl restart sshd

    重要:在退出当前SSH会话之前,先新开一个终端窗口,用新端口测试连接是否成功(ssh username@server_ip -p 2222)。确认能连接后,再关闭原来的会话。否则配置错误可能导致你被锁在服务器外面。

  4. 配置防火墙:Ubuntu默认安装了ufw(Uncomplicated Firewall),但默认是关闭的。开启它并放行必要的端口。

    sudo ufw enable # 启用防火墙 sudo ufw allow 2222/tcp # 允许新的SSH端口 sudo ufw allow 80/tcp # 如果需要Web服务,放行HTTP sudo ufw allow 443/tcp # 放行HTTPS sudo ufw status verbose # 查看规则状态

5. 进阶配置与效能调优:让系统更顺手

基础服务跑起来后,我们可以做一些优化,让系统更符合你的使用习惯,运行更高效。

5.1 软件源加速与常用工具安装

虽然安装时换了源,但系统里apt的源配置文件可能还是默认的。我们可以手动更新为国内源,获得更快的软件安装速度。

# 备份原来的源列表 sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak # 编辑源列表,将 archive.ubuntu.com 和 security.ubuntu.com 替换为国内镜像 sudo sed -i 's/archive.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list sudo sed -i 's/security.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list # 更新 sudo apt update

安装一些提高效率的工具:

# 网络诊断工具 sudo apt install -y net-tools traceroute dnsutils # 文本编辑器(vim比nano更强大) sudo apt install -y vim # 进程查看器(htop是top的增强版) sudo apt install -y htop # 文件传输(lrzsz方便与Windows互传小文件,但推荐用scp/sftp) # sudo apt install -y lrzsz # 压缩解压工具 sudo apt install -y zip unzip p7zip-full

5.2 时区与时间同步

确保服务器时间准确,对于日志分析、证书验证等都至关重要。

# 查看当前时区 timedatectl # 设置时区为亚洲/上海(中国标准时间) sudo timedatectl set-timezone Asia/Shanghai # 启用并启动systemd-timesyncd服务进行时间同步(对于非关键应用通常足够) sudo timedatectl set-ntp true # 对于要求更高精度的服务器,可以安装并配置chrony # sudo apt install -y chrony # sudo systemctl enable --now chrony

5.3 交换空间优化(Swap)

如果你在分区时创建了交换分区,系统会自动使用。但还有一种更灵活的方式:交换文件。它可以在不重新分区的情况下动态调整交换空间大小。

# 创建一个4GB的交换文件(大小可根据你的硬盘和内存调整) sudo fallocate -l 4G /swapfile # 设置正确的权限 sudo chmod 600 /swapfile # 将其格式化为交换空间 sudo mkswap /swapfile # 启用交换文件 sudo swapon /swapfile # 让系统启动时自动挂载 echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab # 查看交换空间状态 swapon --show free -h

此外,可以调整系统的“swappiness”参数,它决定了系统有多倾向于使用交换空间。值从0到100,值越高越积极使用交换。对于拥有充足物理内存的服务器,可以将其调低,减少不必要的磁盘IO。

# 查看当前值(默认通常是60) cat /proc/sys/vm/swappiness # 临时修改为10 sudo sysctl vm.swappiness=10 # 永久修改,编辑 /etc/sysctl.conf,添加或修改一行 # vm.swappiness=10

5.4 内核参数与文件系统优化

对于服务器,一些内核参数的微调可以提升网络性能和系统稳定性。编辑/etc/sysctl.conf文件,在末尾添加以下内容(请根据实际需求调整):

# 增加系统最大文件打开数 fs.file-max = 65535 # 减少TCP连接关闭后的等待时间,加速端口回收 net.ipv4.tcp_fin_timeout = 30 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_tw_recycle = 1 # 增加TCP缓冲区大小,提升网络吞吐量 net.core.rmem_max = 16777216 net.core.wmem_max = 16777216 net.ipv4.tcp_rmem = 4096 87380 16777216 net.ipv4.tcp_wmem = 4096 65536 16777216 # 禁用IPv6(如果完全用不到) # net.ipv6.conf.all.disable_ipv6 = 1 # net.ipv6.conf.default.disable_ipv6 = 1

保存后,执行sudo sysctl -p使配置生效。

6. 避坑指南:那些我踩过的雷和解决方案

即使步骤再清晰,在实际操作中还是会遇到各种意想不到的问题。下面是我在多次物理机安装中总结的几个典型“坑”及其解决办法。

6.1 坑一:U盘引导失败,黑屏或报错

  • 症状:选择U盘启动后,屏幕黑屏、卡住,或提示“Missing operating system”、“Boot error”等。
  • 可能原因与解决
    1. 启动盘制作问题:最常见。重新用Rufus或Etcher制作一遍,确保写入方式正确(ISO模式 vs DD模式)。尝试换一个U盘,有些U盘主控兼容性不好。
    2. 启动模式不匹配:主板是UEFI模式,但启动盘做成了MBR/BIOS模式,或者反之。进入主板设置,检查并调整“Boot Mode”为“UEFI only”或“Legacy/CSM only”,或者尝试“UEFI with CSM”(兼容模式)。同时确保在启动菜单里选择的是带“UEFI:”前缀的U盘设备(对于UEFI启动)。
    3. 安全启动(Secure Boot)冲突:某些Linux发行版或版本对Secure Boot支持不好。可以尝试在主板设置中暂时关闭Secure Boot。安装完成并确认系统能正常引导后,再尝试开启(部分发行版需要安装签名的引导加载器才能支持)。

6.2 坑二:安装过程中找不到硬盘或网卡

  • 症状:在分区界面看不到任何硬盘,或者在网络配置阶段检测不到网卡。
  • 可能原因与解决
    1. 硬盘模式:特别是较新的NVMe硬盘或某些RAID模式。进入主板设置,找到SATA或存储配置,将硬盘模式从“RAID”或“Intel RST”改为“AHCI”。注意:如果机器原先装有Windows且是RAID模式,改AHCI可能会导致Windows无法启动,需要提前在Windows内修改注册表或重装驱动。
    2. 网卡驱动缺失:尤其是较新的Wi-Fi 6/6E网卡或某些Realtek网卡。解决方案:
      • 使用有线网络安装:这是最稳妥的。
      • 在安装界面加载驱动:Ubuntu Desktop安装镜像在启动时可以选择“Try Ubuntu”,进入Live CD环境后,连接有线网络或手机USB网络共享,然后安装额外的驱动包(linux-firmware等),再执行安装程序。
      • 使用包含非自由固件的镜像:Ubuntu提供了包含额外专有驱动和固件的镜像,可以从官网下载“Ubuntu XX.XX LTS (includes non-free firmware)”版本。

6.3 坑三:安装完成后无法引导进入系统

  • 症状:重启后拔掉U盘,屏幕显示“No bootable device”或直接进入主板设置。
  • 可能原因与解决
    1. 引导加载器安装位置错误:在安装分区时,最后一步“引导加载器安装设备”必须选择整个硬盘(如/dev/sda),而不是某个分区(如/dev/sda1)。如果选错了,可以用U盘启动进入“Try Ubuntu”模式,然后使用boot-repair工具进行修复。
    2. UEFI/BIOS启动顺序:安装成功后,需要进入主板设置,将安装系统的硬盘调整到启动顺序的第一位。
    3. Windows与Linux双系统冲突:如果安装了双系统,Windows的更新有时会覆盖Linux的引导。建议在安装Linux时,使用UEFI模式,并利用其各自的EFI分区。出现问题后,可以用Linux安装U盘启动修复GRUB。

6.4 坑四:系统安装后性能不佳或风扇狂转

  • 症状:系统运行卡顿,或者即使负载不高,风扇也一直高速运转。
  • 可能原因与解决
    1. 显卡驱动问题:如果是NVIDIA独立显卡,默认的开源nouveau驱动可能性能不佳且功耗高。对于服务器,如果不需要图形界面,可以在BIOS里禁用独显,或者安装NVIDIA官方闭源驱动(过程较复杂,需先禁用nouveau)。
    2. 电源管理未启用:检查CPU频率调节器。安装cpufrequtils并查看。
      sudo apt install cpufrequtils cpufreq-info
      如果 governor 是performance(性能模式),会一直以最高频率运行。可以安装cpupower并设置为ondemand(按需调节)或schedutil(调度器工具)。
    3. 检查后台进程:使用htop查看是否有异常进程占用大量CPU或内存。新安装的系统通常很干净,但某些硬件监控服务可能有问题。

7. 从“能用”到“好用”:建立你的运维习惯

系统稳定运行后,养成好的运维习惯能让你的Linux之旅更顺畅。

定期更新与备份:设置一个每周或每月的定时任务(使用cron),自动执行apt update && apt upgrade -y(对于生产环境,升级前需测试)。对于重要配置(如/etc/目录)和个人数据,建立定期备份机制。可以使用rsync工具备份到另一块硬盘或网络存储。

日志是金矿:学会查看系统日志。/var/log/syslog/var/log/kern.log包含了系统和内核的核心信息。使用journalctl命令可以查看systemd管理的服务日志。当出现问题时,第一时间查看相关日志,往往能快速定位原因。

监控系统状态:安装简单的监控工具,如glancesnetdata,它们能提供一个直观的网页界面,让你实时了解CPU、内存、磁盘、网络的使用情况,及时发现潜在问题。

文档化你的配置:每当你对系统做了一个重要的配置更改(如修改了网络、安装了新服务、调整了内核参数),最好在本地或云端记一笔。这在你需要重建系统,或者排查未来某个由这次改动引发的问题时,会起到关键作用。一个简单的Markdown文件或Wiki页面就足够了。

物理机安装Linux,从按下电源键到看到一个稳定运行、响应迅速的命令行界面,这个过程充满了动手的乐趣和解决问题的成就感。它让你对计算机的启动流程、存储管理、网络配置有了更深入的理解,这是虚拟机体验无法完全替代的。希望这篇超过5000字的详细指南,能帮你顺利完成这次部署,并为你后续的Linux探索打下坚实的基础。记住,遇到问题别慌,多搜索、多尝试,每一次排错都是宝贵的学习机会。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询