1. 项目缘起:为什么要在微星主板上折腾Ubuntu 20.04?
如果你最近刚入手了一块微星主板,无论是为了搭建一台高性能的开发工作站、深度学习主机,还是单纯想体验一下Linux的清爽,选择Ubuntu 20.04 LTS都是一个相当稳妥的决定。LTS意味着长期支持,官方维护到2025年,社区资源极其丰富,对于新手和老手都足够友好。但“稳妥”不代表“一帆风顺”,尤其是在硬件兼容性这个老生常谈的问题上。微星主板以其丰富的BIOS选项和硬件生态著称,这既是优点,也可能成为安装Linux时的小小挑战。我最近就刚用一块微星B760M迫击炮主板搭配13代酷睿,从头搭建了一套Ubuntu 20.04系统,过程中遇到了从启动盘制作、BIOS设置到驱动安装的一系列典型问题。这篇文章,就是把我踩过的坑、验证过的有效方案,以及一些能让系统更“趁手”的配置细节,完整地记录下来。无论你是用微星的Z790、B650还是其他型号,只要核心是UEFI启动和较新的硬件平台,这篇指南里的思路和步骤都能给你提供直接的参考。
2. 战前准备:制作启动盘与关键的BIOS设置
安装的第一步不是急着插U盘,而是做好万全的准备。很多人卡在第一步,往往是因为启动盘没做好或者BIOS里某个开关没打开。
2.1 启动盘制作:别再用那些“经典”工具了
在Windows下,别再迷信老旧的UltraISO或者Universal USB Installer了。对于Ubuntu 20.04,官方推荐且最可靠的工具是Rufus。它的优势在于能完美处理UEFI启动模式,并且提供了“DD镜像模式”,这个模式能绕过一些主板UEFI对ISO文件引导的兼容性问题,成功率极高。
具体操作步骤:
- 从Ubuntu官网下载20.04.6 LTS的ISO镜像。注意核对文件名,例如
ubuntu-20.04.6-desktop-amd64.iso。 - 准备一个容量至少8GB的U盘,备份好里面所有数据,因为制作过程会完全格式化。
- 下载并运行Rufus(建议用最新版)。插入U盘后,Rufus会自动识别。
- 在“引导类型选择”处,点击“选择”,找到你下载的Ubuntu ISO文件。
- 最关键的一步:“镜像选项”保持默认的“标准ISO映像”即可。但如果你的微星主板比较新(如700/600系列),在后续尝试启动失败时,可以回来在这一步勾选“DD镜像模式”再试一次。
- 分区类型选择GPT,目标系统类型选择UEFI(非CSM)。这是现代主板的标准配置。
- 点击“开始”,在弹出的警告框都选择确认,等待写入完成。
制作完成后,你的U盘在Windows下可能只显示一个很小的EFI分区,这是正常的,说明DD模式或UEFI引导文件已正确写入。
2.2 微星主板BIOS设置:绕开那些隐形的“墙”
这是决定安装成败的核心环节。开机按Del键进入微星BIOS。界面可能是Click BIOS 5图形化界面,布局很直观。
必须调整的设置(按重要性排序):
关闭Secure Boot(安全启动):这是第一道,也是最常见的一道坎。Secure Boot旨在防止未经签名的操作系统加载,但很多Linux发行版的引导器(如GRUB)默认没有微软的签名。路径通常在
Settings -> Security -> Secure Boot,将其设置为Disabled。有些主板可能在Settings -> Advanced -> Windows OS Configuration里,找到Secure Boot并关闭。启用UEFI模式,禁用CSM(兼容性支持模块):确保系统以纯UEFI模式启动,这能带来更快的启动速度和更好的安全性。路径在
Settings -> Advanced -> Windows OS Configuration,将BIOS UEFI/CSM Mode设置为UEFI。同时,如果下方有CSM选项,将其设置为Disabled。这能迫使所有设备(包括显卡)使用UEFI驱动,避免后续图形界面启动时黑屏。调整SATA模式(如果使用SATA硬盘):对于使用SATA接口的固态硬盘或机械硬盘,需要确保其工作在AHCI模式,而不是Intel RST或RAID模式。路径通常在
Settings -> Advanced -> Integrated Peripherals -> SATA Mode。选择AHCI。注意:如果之前Windows系统是在RST模式下安装的,改为AHCI会导致无法进入Windows。如果是双系统,需要提前在Windows内做相应修改,这里不展开。处理Intel VMD控制器(针对11代及以后酷睿平台):这是微星600/700系列主板搭配Intel CPU时一个巨大的坑!Intel VMD(Volume Management Device)是一个用于管理PCIe存储(如NVMe SSD)的控制器。Ubuntu 20.04的默认安装镜像(内核5.4)不包含驱动此控制器的内核模块
vmd.ko。后果就是,安装程序完全看不到你的NVMe硬盘。- 解决方案A(推荐,一劳永逸):在BIOS中直接关闭VMD。路径:
Settings -> Advanced -> Integrated Peripherals -> Intel VMD Controller,设置为Disabled。关闭后,NVMe硬盘会以标准PCIe设备出现,安装程序就能正常识别了。 - 解决方案B(不推荐给新手):在安装启动时,手动加载VMD驱动。这需要你先将驱动文件放到U盘,过程比较繁琐。
- 解决方案A(推荐,一劳永逸):在BIOS中直接关闭VMD。路径:
调整启动顺序:进入
Settings -> Boot,将你的U盘(通常显示为“UEFI: USB Flash Drive”或类似名称)设置为第一启动项。微星主板通常支持F11键进入临时启动菜单,安装时按F11选择U盘启动更方便。
保存设置并退出(F10),重启后应该能从U盘进入Ubuntu的安装界面。
3. 安装过程详解:分区方案与网络配置的抉择
成功进入紫色的Ubuntu安装界面后,选择“Try Ubuntu”或“Install Ubuntu”都可以。如果硬件兼容性有问题,“Try Ubuntu”模式可以帮你提前排雷。
3.1 连接网络:装还是不装?
安装程序会提示你连接网络。这里有个小技巧:
- 如果你能方便地连接有线网络(网线),建议连接。安装程序会在此期间下载语言包和必要的更新,让安装后的系统更完整。
- 如果你只能连Wi-Fi,且驱动可能有问题(例如Intel AX201/AX211等较新网卡),可以先不连。Ubuntu 20.04默认的内核版本(5.4)对最新硬件的无线网卡支持有限。跳过网络连接,先完成基础系统安装,进入桌面后再更新内核来获取驱动,往往更顺利。
3.2 磁盘分区:手动分配更清晰
对于有一定经验的用户,我强烈建议选择“其他选项”进行手动分区,这能让你对系统布局有完全的控制权,也便于日后管理和重装。
一个适用于大多数单系统场景的分区方案(以一块512GB NVMe SSD为例):
EFI系统分区:这是UEFI启动的必需分区。
- 大小:512MB(官方建议最小,但给512MB更宽裕)
- 类型:
逻辑分区(在GPT磁盘上实际无区别,但按此选) - 位置:
空间起始位置 - 用于:
EFI系统分区 - 注意:如果之前装有Windows,这个分区可能已经存在,千万不要格式化或删除,直接挂载使用即可(通常是
/boot/efi)。
交换空间(swap):用于内存交换和休眠。对于内存大于16GB的机器,可以酌情减小或采用交换文件。
- 大小:物理内存大小(例如16GB)。如果内存极大(如64GB以上),可以设为8-16GB。
- 类型:
逻辑分区 - 用于:
交换空间
根分区(/):存放系统文件和安装的软件。
- 大小:至少50GB,建议100GB以上。我通常分配150-200GB。
- 类型:
主分区或逻辑分区均可 - 挂载点:
/ - 用于:
Ext4 日志文件系统
家目录分区(/home):存放用户个人数据、配置文件。强烈建议独立分区!这样重装系统时,格式化根分区即可,个人数据完好无损。
- 大小:剩余所有空间
- 类型:
逻辑分区 - 挂载点:
/home - 用于:
Ext4 日志文件系统
分区器操作提示:在分区表格下方,需要为每个新分区选择“挂载点”。点击“更改...”按钮,在弹出的窗口中设置文件系统类型和挂载点。最关键的一步:在表格最下方,选择“安装启动引导器的设备”,这里务必选择你之前创建的EFI系统分区对应的设备(例如/dev/nvme0n1p1),而不是整个硬盘(如/dev/nvme0n1)。
3.3 用户设置与安装
接下来设置时区、键盘布局,创建用户名和密码。密码建议设置一个,不要选“自动登录”,安全性更高。然后点击“安装”,等待进度条走完。安装完成后,会提示重启。此时,务必拔掉U盘,否则可能会再次进入安装界面。
4. 安装后的首要任务:驱动、内核与基础配置
重启进入崭新的Ubuntu桌面,先别急着欣赏。有几件紧迫的事情需要处理,它们决定了你的系统是否能“跑得稳、跑得快”。
4.1 解决网络问题:更新内核以获取新硬件驱动
如果你在安装时跳过了Wi-Fi连接,或者发现有线/无线网卡无法工作,第一步就是更新内核。Ubuntu 20.04默认的5.4内核太老了。
通过有线网络或手机USB网络共享更新:
- 打开“软件和更新”应用(Software & Updates)。
- 切换到“更新”选项卡,将“通知我有新的Ubuntu版本”改为“对于任何新版本”。
- 切换到“附加驱动”选项卡,系统可能会自动检测到专有显卡驱动,先不管。
- 打开终端(Ctrl+Alt+T),依次执行以下命令:
这先更新现有软件包。sudo apt update sudo apt upgrade -y
安装更新的HWE(硬件启用)内核:Ubuntu LTS版本会提供更新的“硬件启用”内核栈,以支持新硬件。对于20.04,可以升级到更新的HWE内核。
sudo apt install --install-recommends linux-generic-hwe-20.04安装完成后重启。重启后,在终端输入uname -r,你应该能看到内核版本变成了5.15或更高(如5.19)。新内核包含了更多新硬件的驱动,大多数Intel和AMD的网卡、声卡问题都能得到解决。
4.2 显卡驱动安装:NVIDIA用户的专属关卡
如果你使用的是微星主板搭配NVIDIA独立显卡(例如RTX 4060, 5060等),那么安装闭源驱动是必须的,否则只能使用性能低下的开源nouveau驱动,且可能无法调节屏幕亮度、使用CUDA等。
推荐方法:使用ubuntu-drivers工具自动安装
- 确保系统已更新并重启到新内核。
- 在终端执行:
这条命令会列出所有可用的显卡驱动版本,并推荐一个(通常标记为sudo ubuntu-drivers devicesrecommended)。 - 安装推荐驱动:
(这里的sudo apt install nvidia-driver-545545应替换为ubuntu-drivers命令推荐的具体版本号,如535、550等)。 - 安装完成后,必须重启。
重启后,打开“软件和更新”->“附加驱动”,应该能看到NVIDIA驱动已被选中并使用。在终端输入nvidia-smi,如果显示出显卡信息表格,则驱动安装成功。
注意:如果你在安装驱动后遇到循环登录或黑屏,大概率是内核与驱动版本不兼容,或者Secure Boot没关干净。可以尝试在GRUB启动时选择“高级选项”,用旧内核进入系统,然后卸载驱动或安装其他版本。
4.3 基础开发环境搭建:Python、Git、VSCode
系统稳定后,就可以搭建生产力环境了。
更新软件源并安装常用工具:
sudo apt update sudo apt install -y git curl wget build-essential software-properties-common安装Python3及pip:Ubuntu 20.04默认已安装Python 3.8。我们只需安装pip和管理工具。
sudo apt install -y python3-pip python3-venv # 升级pip pip3 install --upgrade pip安装Node.js:建议通过NodeSource仓库安装LTS版本,比Ubuntu默认仓库的版本新。
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash - # 以18.x为例,可换其他版本 sudo apt install -y nodejs # 验证 node --version npm --version安装VSCode:
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg sudo install -o root -g root -m 644 packages.microsoft.gpg /etc/apt/trusted.gpg.d/ sudo sh -c 'echo "deb [arch=amd64 signed-by=/etc/apt/trusted.gpg.d/packages.microsoft.gpg] https://packages.microsoft.com/repos/vscode stable main" > /etc/apt/sources.list.d/vscode.list' sudo apt update sudo apt install -y code配置Git:
git config --global user.name "Your Name" git config --global user.email "your.email@example.com" # 生成SSH Key(用于连接GitHub等) ssh-keygen -t ed25519 -C "your.email@example.com" cat ~/.ssh/id_ed25519.pub # 将输出的公钥复制到你的代码托管平台5. 进阶配置与深度优化:让系统更“听话”
基础环境搭好,算是能用了。但要让它成为一个高效、舒心的开发平台,还需要一些“精装修”。
5.1 配置APT软件源:加速下载
将软件源替换为国内镜像可以极大提升下载速度。备份原列表后编辑:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak 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(这里以阿里云镜像为例,也可替换为清华、中科大等源)。
5.2 解决常见硬件小毛病
没有声音?首先检查
alsamixer。在终端输入alsamixer,按F6选择正确的声卡(如PCH),确保所有通道未被静音(MM表示静音,按M键解除)。如果还不行,尝试安装pulseaudio相关的工具并重置:sudo apt install pavucontrol,然后在声音设置中检查输出设备。安装后没有Wi-Fi?这几乎可以肯定是无线网卡驱动问题。首先用
lspci | grep -i network查看网卡型号(如Intel AX201)。更新内核到HWE版本(见4.1节)通常能解决。如果还不行,可能需要从Intel官网下载并编译 backport-iwlwifi驱动,过程稍复杂,但多数新内核已集成。双系统时间错误?Windows默认使用本地时间(RTC),而Linux使用UTC。这会导致在两个系统间切换时时间差8小时。在Ubuntu中修复:
timedatectl set-local-rtc 1 --adjust-system-clock
5.3 开发环境深度配置示例:以C++和Python为例
配置VSCode为C++开发环境:
- 在VSCode中安装扩展:
C/C++(Microsoft),CMake Tools。 - 安装编译和调试工具链:
sudo apt install -y gdb cmake clang clangd - 创建一个简单的
CMakeLists.txt和.cpp文件,VSCode的CMake扩展会自动检测并配置。关键在于配置c_cpp_properties.json文件(通过命令面板C/C++: Edit Configurations (UI)),正确设置compilerPath(如/usr/bin/g++)和intelliSenseMode。
配置Python虚拟环境与PyCharm:
- 使用
venv创建独立环境是Python开发的最佳实践。python3 -m venv ~/venvs/myproject source ~/venvs/myproject/bin/activate pip install numpy pandas # 安装项目依赖 - 如果你更喜欢PyCharm,可以去官网下载Toolbox App管理安装。安装后,在创建新项目时,选择“Previously configured interpreter”,然后指向你刚创建的虚拟环境路径(
~/venvs/myproject/bin/python)。
5.4 系统监控与美化(可选)
安装
htop和neofetch:两个终端下的利器。sudo apt install -y htop neofetch运行
htop可以图形化查看进程和资源占用;运行neofetch可以显示酷炫的系统信息。安装GNOME Tweaks:用于调整GNOME桌面外观和行为。
sudo apt install -y gnome-tweaks安装后可以更改主题、图标、字体,启用最小化点击,管理扩展等。
6. 疑难杂症排查:当事情不按剧本走
即使按照指南操作,也可能遇到意外。这里汇总几个我遇到过的典型问题及排查思路。
问题1:安装过程中无法识别NVMe硬盘。
- 排查:这几乎100%是Intel VMD控制器的问题。重启进入BIOS,确认
Intel VMD Controller已设置为Disabled。如果关闭后安装程序依然看不到硬盘,尝试在启动安装U盘时,在GRUB菜单(出现图标时按e键编辑启动项)的linux行末尾添加参数pci=nommconf,然后按F10启动。这个参数有时能解决一些PCIe设备枚举问题。
问题2:安装NVIDIA驱动后黑屏/循环登录。
- 排查:
- 首先确认BIOS中
Secure Boot已关闭。 - 重启,在GRUB菜单选择“高级选项”,用“恢复模式”或旧内核(如5.4)启动。
- 进入系统后,卸载当前有问题的驱动:
sudo apt purge nvidia-*。 - 添加官方显卡驱动PPA,尝试安装一个不同版本的驱动:
sudo add-apt-repository ppa:graphics-drivers/ppa sudo apt update sudo ubuntu-drivers devices # 重新查看可用版本 sudo apt install nvidia-driver-535 # 尝试一个稍旧但稳定的版本 - 重启。如果还不行,考虑使用开源驱动
nouveau先进入桌面,再慢慢研究。
- 首先确认BIOS中
问题3:系统更新后,GRUB引导菜单不见了,直接进了Windows(双系统)。
- 排查:这是Windows更新或Ubuntu内核更新后,Windows的引导加载程序覆盖了GRUB。解决方法是从Ubuntu安装U盘启动,选择“试用Ubuntu”,然后打开终端,挂载你的Ubuntu根分区和EFI分区,然后重新安装GRUB到EFI分区:
sudo mount /dev/nvme0n1p3 /mnt # 假设根分区是nvme0n1p3 sudo mount /dev/nvme0n1p1 /mnt/boot/efi # 假设EFI分区是nvme0n1p1 sudo mount --bind /dev /mnt/dev sudo mount --bind /proc /mnt/proc sudo mount --bind /sys /mnt/sys sudo chroot /mnt grub-install /dev/nvme0n1 # 注意这里是磁盘设备,不是分区 update-grub exit sudo reboot
问题4:开机或唤醒后,USB设备(如键盘鼠标)失灵。
- 排查:这可能与主板USB电源管理或xHCI设置有关。尝试在BIOS中关闭
USB Legacy Support,并确保XHCI Hand-off设置为Enabled。在Linux系统中,可以尝试在内核启动参数中禁用USB电源管理:编辑/etc/default/grub文件,找到GRUB_CMDLINE_LINUX_DEFAULT一行,在引号内添加usbcore.autosuspend=-1,然后运行sudo update-grub并重启。
整个从零配置微星主板上的Ubuntu 20.04,就像是在组装一台精密的仪器,每一步的拧紧和调试都决定了最终的稳定性和性能。硬件兼容性永远是第一道坎,而BIOS设置是打开这扇门的钥匙。一旦系统安装成功,后续的驱动、内核和软件配置,虽然繁琐,但都有清晰的路径可循。最深的体会是,遇到问题不要慌,九成以上的问题都能通过“更新内核”、“检查BIOS”、“查阅硬件型号对应的Linux Wiki”这三板斧解决。保持系统更新,善用apt和ubuntu-drivers这类官方工具,远比到处找来历不明的脚本要安全高效。最后,别忘了给/home单独分区,这个好习惯会在某一天拯救你的数据和时间。