ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

物理机部署Linux系统全攻略:从硬件准备到效能调优

物理机部署Linux系统全攻略:从硬件准备到效能调优 1. 从零开始为什么要在物理机上部署Linux最近几年我身边越来越多的朋友和同事开始对迷你计算机、工控机或者闲置的老旧笔记本动起了心思想把它们变成一台纯粹的Linux服务器或开发机。这背后其实有个挺有意思的转变大家不再满足于虚拟机里“玩一玩”Linux而是希望获得一个更纯粹、性能损耗更低、更贴近生产环境的系统。虚拟机当然方便但总有那么一层“隔阂”资源调度、硬件直通、乃至一些底层性能调优总感觉差了那么点意思。尤其是当你手头有一台性能不错的NUC、或者一台准备发挥余热的旧电脑时直接在物理机上安装Linux就成了一个更具吸引力的选择。这个“新机器部署Linux系统非虚拟机”的过程听起来好像就是把一个U盘插上去点几下下一步就完事了。但真做起来你会发现从硬件兼容性判断、启动模式选择到分区规划、驱动安装每一步都有不少细节值得琢磨。它不像在虚拟机里配置不对可以瞬间回滚。在物理机上一个不小心可能连带着你原来的数据或者启动项一起出问题。所以这篇文章我想和你详细聊聊如何像一位老手一样沉稳、清晰地在全新的物理机器上部署一个稳定可用的Linux系统我会以目前最流行的Ubuntu Server 22.04 LTS为例但其中的思路和方法是通用的。无论你是想搭建一个家庭服务器、一个开发测试环境还是单纯想体验最原汁原味的Linux这篇手把手的指南都能帮你避开我当年踩过的那些坑。2. 战前准备硬件、镜像与启动盘一个都不能马虎在按下电源键之前充分的准备工作能让你在安装过程中气定神闲。很多人觉得安装系统就是下载个ISO用工具写到U盘里然后重启。但魔鬼藏在细节里尤其是对于物理机安装。2.1 硬件兼容性与启动模式确认首先你得了解你的“新机器”。这里的“新”不一定指刚出厂而是指对你而言准备首次安装Linux的机器。关键信息有以下几点CPU架构这决定了你能安装什么版本的系统。目前绝大多数个人电脑都是x86_64也叫AMD64架构这也是我们最常接触的。你可以通过机器型号或进入现有系统如Windows的系统信息查看。确保你下载的Linux发行版镜像是对应架构的。启动模式这是物理机安装的第一个“分水岭”。你的机器主板支持传统的BIOS启动还是UEFI启动或者两者兼容这直接影响你制作启动盘的方式和后续的分区方案。一个简单的判断方法是如果你的机器是2015年之后购买的大概率支持UEFI。更准确的方法是开机时按特定键如F2、Del、F12等因品牌而异进入主板设置在“Boot”或“启动”选项里查看。UEFI模式是更现代、更安全支持Secure Boot的启动方式也是我们推荐的首选。网卡与无线网卡型号特别是对于笔记本或一些迷你主机其无线网卡驱动可能不在Linux内核的默认支持范围内。提前记下型号例如Intel AX200, Realtek 8822CE可以在安装前就查好是否需要额外的驱动或者准备一个USB有线网卡作为安装阶段的备用方案。显卡型号如果你打算安装带图形界面的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提供的“GPTUEFI”或“MBRBIOS/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为例这是一个基于文本的菜单界面但逻辑清晰。语言选择选择安装过程使用的语言这通常也决定了系统安装后的默认语言环境。对于服务器选择“English”可能更利于后续排查一些国际化问题但中文也无妨。键盘布局根据你的键盘类型选择通常就是“Chinese”或“English (US)”。网络连接安装程序会尝试连接网络。强烈建议在安装时就连接上有线网络。这能让你在安装过程中就下载最新的系统更新和第三方驱动如某些网卡驱动确保系统装好就是最新的。如果无线网卡不被默认支持你可能需要先通过有线网络安装进入系统后再配置无线。配置代理如果你处在需要网络代理的环境在此处设置。否则直接跳过。镜像源地址这一步非常重要系统会问你使用哪个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进行以下操作创建/boot/efi分区大小512MB类型选“EFI System Partition”。创建swap分区大小根据你的内存决定例如16G内存swap可以设16G-32G类型选“swap area”。创建/分区使用剩余的大部分空间挂载点选“/”文件系统选“ext4”。可选创建/home分区如果你希望分离可以从剩余空间中再划出一部分。分区的文件系统对于Linuxext4是久经考验、稳定可靠的选择。xfs在处理大文件时性能可能更好但ext4的通用性最强。分完区后在底部选择将引导加载器安装到这块硬盘例如/dev/sda而不是某个分区。3.3 用户设置与软件选择分区完成后安装会继续设置主机名给你的机器起个名字比如my-home-server。创建用户输入你的全名、服务器名会自动生成通常是全名的小写数字以及最重要的——用户名和密码。对于服务器建议使用一个强密码并避免使用root用户直接进行日常操作。这里创建的普通用户默认拥有sudo权限可以执行管理员命令。安装SSH服务器这是至关重要的一步务必勾选“Install OpenSSH server”。这样系统安装完成后你就可以从同一网络下的另一台电脑通过SSH远程登录和管理这台服务器无需连接显示器和键盘这才是服务器管理的常态。选择要安装的软件包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服务器。查看网络接口名称使用ip addr或ifconfig如果已安装net-tools命令查看你的有线网卡名称通常是ens33,enp3s0,eth0之类的。配置静态IPUbuntu 18.04之后网络配置默认使用netplan。配置文件位于/etc/netplan/目录下通常是一个以.yaml结尾的文件例如00-installer-config.yaml或01-netcfg.yaml。sudo nano /etc/netplan/00-installer-config.yaml编辑这个文件将DHCP配置改为静态IP。以下是一个示例请根据你的网络环境修改addresses,gateway4,nameserversnetwork: 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。应用配置保存文件后使用以下命令测试并应用配置。sudo netplan try # 会有一个120秒的等待期如果网络没问题按Enter确认 # 或者直接应用 sudo netplan apply应用后使用ip addr show ens33检查IP是否已变更。配置主机名解析可选但推荐在你的局域网内其他机器上你可能希望通过主机名如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远程管理安全就必须重视。修改SSH端口默认的22端口是黑客扫描的重灾区。修改为一个不常见的高位端口如2222能减少大量自动化攻击。sudo nano /etc/ssh/sshd_config找到#Port 22这一行去掉注释#并将22改为你想要的端口例如Port 2222。保存文件。禁用root登录防止攻击者直接尝试破解root密码。 在同一文件中找到#PermitRootLogin yes改为PermitRootLogin no。重启SSH服务使配置生效。sudo systemctl restart sshd重要在退出当前SSH会话之前先新开一个终端窗口用新端口测试连接是否成功ssh usernameserver_ip -p 2222。确认能连接后再关闭原来的会话。否则配置错误可能导致你被锁在服务器外面。配置防火墙Ubuntu默认安装了ufwUncomplicated 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-full5.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 chrony5.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.swappiness10 # 永久修改编辑 /etc/sysctl.conf添加或修改一行 # vm.swappiness105.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”等。可能原因与解决启动盘制作问题最常见。重新用Rufus或Etcher制作一遍确保写入方式正确ISO模式 vs DD模式。尝试换一个U盘有些U盘主控兼容性不好。启动模式不匹配主板是UEFI模式但启动盘做成了MBR/BIOS模式或者反之。进入主板设置检查并调整“Boot Mode”为“UEFI only”或“Legacy/CSM only”或者尝试“UEFI with CSM”兼容模式。同时确保在启动菜单里选择的是带“UEFI:”前缀的U盘设备对于UEFI启动。安全启动Secure Boot冲突某些Linux发行版或版本对Secure Boot支持不好。可以尝试在主板设置中暂时关闭Secure Boot。安装完成并确认系统能正常引导后再尝试开启部分发行版需要安装签名的引导加载器才能支持。6.2 坑二安装过程中找不到硬盘或网卡症状在分区界面看不到任何硬盘或者在网络配置阶段检测不到网卡。可能原因与解决硬盘模式特别是较新的NVMe硬盘或某些RAID模式。进入主板设置找到SATA或存储配置将硬盘模式从“RAID”或“Intel RST”改为“AHCI”。注意如果机器原先装有Windows且是RAID模式改AHCI可能会导致Windows无法启动需要提前在Windows内修改注册表或重装驱动。网卡驱动缺失尤其是较新的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”或直接进入主板设置。可能原因与解决引导加载器安装位置错误在安装分区时最后一步“引导加载器安装设备”必须选择整个硬盘如/dev/sda而不是某个分区如/dev/sda1。如果选错了可以用U盘启动进入“Try Ubuntu”模式然后使用boot-repair工具进行修复。UEFI/BIOS启动顺序安装成功后需要进入主板设置将安装系统的硬盘调整到启动顺序的第一位。Windows与Linux双系统冲突如果安装了双系统Windows的更新有时会覆盖Linux的引导。建议在安装Linux时使用UEFI模式并利用其各自的EFI分区。出现问题后可以用Linux安装U盘启动修复GRUB。6.4 坑四系统安装后性能不佳或风扇狂转症状系统运行卡顿或者即使负载不高风扇也一直高速运转。可能原因与解决显卡驱动问题如果是NVIDIA独立显卡默认的开源nouveau驱动可能性能不佳且功耗高。对于服务器如果不需要图形界面可以在BIOS里禁用独显或者安装NVIDIA官方闭源驱动过程较复杂需先禁用nouveau。电源管理未启用检查CPU频率调节器。安装cpufrequtils并查看。sudo apt install cpufrequtils cpufreq-info如果 governor 是performance性能模式会一直以最高频率运行。可以安装cpupower并设置为ondemand按需调节或schedutil调度器工具。检查后台进程使用htop查看是否有异常进程占用大量CPU或内存。新安装的系统通常很干净但某些硬件监控服务可能有问题。7. 从“能用”到“好用”建立你的运维习惯系统稳定运行后养成好的运维习惯能让你的Linux之旅更顺畅。定期更新与备份设置一个每周或每月的定时任务使用cron自动执行apt update apt upgrade -y对于生产环境升级前需测试。对于重要配置如/etc/目录和个人数据建立定期备份机制。可以使用rsync工具备份到另一块硬盘或网络存储。日志是金矿学会查看系统日志。/var/log/syslog和/var/log/kern.log包含了系统和内核的核心信息。使用journalctl命令可以查看systemd管理的服务日志。当出现问题时第一时间查看相关日志往往能快速定位原因。监控系统状态安装简单的监控工具如glances或netdata它们能提供一个直观的网页界面让你实时了解CPU、内存、磁盘、网络的使用情况及时发现潜在问题。文档化你的配置每当你对系统做了一个重要的配置更改如修改了网络、安装了新服务、调整了内核参数最好在本地或云端记一笔。这在你需要重建系统或者排查未来某个由这次改动引发的问题时会起到关键作用。一个简单的Markdown文件或Wiki页面就足够了。物理机安装Linux从按下电源键到看到一个稳定运行、响应迅速的命令行界面这个过程充满了动手的乐趣和解决问题的成就感。它让你对计算机的启动流程、存储管理、网络配置有了更深入的理解这是虚拟机体验无法完全替代的。希望这篇超过5000字的详细指南能帮你顺利完成这次部署并为你后续的Linux探索打下坚实的基础。记住遇到问题别慌多搜索、多尝试每一次排错都是宝贵的学习机会。
返回列表