尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

Windows重装Ubuntu 20.04单系统安装配置全攻略

Windows重装Ubuntu 20.04单系统安装配置全攻略 1. 动手之前先想清楚为什么把Windows整块换成Ubuntu 20.04把一台跑了几年Windows的机器彻底抹掉、只留一个Ubuntu 20.04这个决定听起来有点狠但对不少人来说其实是迟早的事。我手上这台老笔记本原本是Windows 10日常就是写代码、跑容器、开几个终端结果系统盘被各种更新缓存、驱动残留和后台服务吃得只剩二十来个G开机两分钟起步。后来干脆一不做二不休直接做一台Windows重装Ubuntu 20.04单系统的机器全程重来一遍反而清爽了。先说清楚这篇东西面向谁。如果你手上有一台闲置或半闲置的电脑想拿来做开发机、家庭服务器、学习Linux的练手环境或者你受够了Windows下装个Docker还要折腾WSL的绕路那单系统Ubuntu是很划算的选择。反过来如果你日常还要用某些只能在Windows下跑的行业软件、网银U盾、特定型号的打印机驱动那单系统会让你很难受这种情况绕道走。很多人卡在第一步到底是双系统还是单系统。我自己的判断标准很简单看你这台机器有没有“必须回Windows”的刚需。双系统听着保险实际用起来问题一点不少——分区被切得七零八落、引导菜单偶尔抽风、Windows更新有时候会顺手改掉EFI分区里的启动项导致Ubuntu进不去。单系统就没有这些纠缠整块盘都是你的分区想怎么划就怎么划磁盘空间利用率最高也不用担心哪天更新把引导搞坏。至于为什么是20.04而不是更新的版本这个也值得说一下。Ubuntu 20.04 LTS是2020年4月发的长期支持版本桌面版官方支持到2025年服务器版还有更长的基础支持周期。它的好处是生态成熟、文档多、各种第三方软件和驱动的兼容性已经被验证过无数遍社区里搜个报错基本都能找到20.04下的答案。新版本功能是多了但偶尔会遇到某个驱动还没跟上、某个工具链改了默认行为的情况。对做开发、做服务器的人来说少折腾比新功能重要得多。2. 准备工作镜像、U盘、备份和分区规划2.1 镜像从哪下、怎么校验镜像这一步千万别图省事去某些来路不明的站点下容易被塞东西。正规渠道就两个思路一是访问Ubuntu中文官网找下载入口二是直接去官方镜像站里挑离你近的节点。20.04的桌面版文件名一般是ubuntu-20.04.x-desktop-amd64.iso那个x是修订号越新越好因为它把发布以来累积的补丁都打包进去了。下完之后一定要做校验这一步很多人跳过但恰恰是最容易出事的地方。U盘写入过程中如果镜像本身损坏你会遇到安装到一半报“无法读取介质”的尴尬。校验方法是在Linux或者WSL里执行sha256sum ubuntu-20.04.6-desktop-amd64.iso然后拿这个值和官网上公布的SHA256SUMS文件里对应的那行比对一模一样才算过。如果手上只有Windows可以用PowerShell的Get-FileHash命令效果一样。别嫌麻烦我见过太多人因为跳了这步装到分区阶段卡住最后折腾一整晚。2.2 启动盘制作工具的选型制作启动U盘的工具有几个常见选择我按实际用下来的体验给你排一下。Rufus是Windows下最顺手的体积小、免安装、写入快。做Ubuntu启动盘时分区类型选GPT、目标系统选UEFI非CSM文件系统FAT32其余默认就行。它有个好处是能直接识别ISO并帮你安排好引导文件。balenaEtcher的优点是跨平台、界面傻瓜选镜像、选U盘、点烧录三步走不容易选错盘。缺点是写入速度比Rufus慢一点而且对U盘容量的显示偶尔不准。Ventoy是我现在最常用的方案。它只往U盘里写一次引导程序之后你把各种ISO文件直接拷进去就能用一个盘能装Ubuntu、Windows、各种救援镜像切换靠开机菜单选。缺点是有些老主板对它的引导兼容性一般遇到识别不了就退回Rufus。U盘容量建议至少8G实际20.04的ISO才3G多但留点余量总没坏处。写入之前记得把U盘里的东西备份走制作过程会把它整个格式化。另外尽量用USB 3.0的口和U盘如果主板有蓝色的USB口就别插黑色的安装速度能差出好几倍。2.3 数据备份的完整清单这一步是整个流程里唯一不能偷懒的环节。抹盘之后数据恢复的难度和成本都极高所以备份要做全。先说账户层面的东西浏览器书签和密码库、各种软件的授权码或序列号、项目代码尤其本地没推到远端的那些、虚拟机镜像、常用的密钥文件比如SSH私钥、各类配置文件。这些建议分两份放一份在移动硬盘一份在别的机器或者网盘上别只放一处。然后是容易被忽略的输入法的自定义词库、IDE的配置目录、终端的历史记录、Docker本地的镜像和卷、数据库的导出文件。这些如果你事先想到就顺手导一下没想到就只能重来。我自己的习惯是在准备阶段直接列一张单子逐条打勾打完勾再动手。注意抹盘操作不可逆备份完成后最好在另一台设备上实际打开验证一下文件能不能正常读取别等到装完系统才发现备份包是坏的。2.4 分区方案怎么定单系统的好处就是整块盘归你支配。分区怎么划取决于你的硬盘大小和内存大小。下面这套是我在256G固态 16G内存的机器上常用的方案你可以照着自己的情况调整。挂载点建议大小文件系统作用说明EFI系统分区512MB ~ 1GBFAT32放引导程序UEFI模式必需swap交换分区内存≤8G时给内存大小内存16G给8Gswap内存不够时顶一顶也用于休眠/ 根分区60G ~ 100Gext4系统和软件都装这里给足余量/home剩余全部ext4个人数据重装系统时可以不格式化保留如果是机械硬盘或者容量很小的固态比如128G就别拆/home了直接把根分区拉满省事。swap给不给其实有争议现在很多教程说用swapfile就行但装系统时直接划一块swap分区操作更直观服务器上跑内存突发任务时也更省心。有一点要提醒EFI分区不要省而且不要和别人的EFI分区混在一起。单系统环境下直接在盘首划一块独立的EFI后面引导出问题的概率会小很多。分区表类型统一用GPT配合UEFI启动这是当下的主流组合别再用MBR加Legacy了那套东西在新硬件上会各种别扭。3. 实操从Windows到Ubuntu的完整安装流程3.1 BIOS/UEFI里必须先改的几项设置插上U盘之前先重启进BIOS/UEFI。不同品牌进法不一样常见的是开机狂按F2、Del、F10或F12屏幕刚亮的时候下面通常有提示。进去之后要找几项Secure Boot安全启动先关掉。Ubuntu 20.04其实能配合Secure Boot启动但如果你后面要装NVIDIA闭源驱动或者某些第三方内核模块开着它容易签名校验失败导致进不去系统。装完想要再开也行。Fast Boot快速启动关掉。这个功能会让机器跳过一部分硬件自检导致U盘有时候识别不到。SATA模式确认是AHCI。如果原来Windows下为了兼容设成了别的模式装完Linux可能会认不到硬盘。启动顺序把USB设备提到硬盘前面。有些机器还有个“CSM兼容模式”的选项现在默认基本都是UEFI-only如果你遇到U盘能启动但装到一半找不到硬盘可以试着开关一下这个选项看看。改完记得保存退出。3.2 U盘启动与安装引导阶段的选择机器从U盘启动后会先看到一个GRUB菜单选项里有“Try Ubuntu”和“Install Ubuntu”。想先看看硬件兼不兼容就选试用直接装就选安装。接下来几步比较常规选语言中文或英文都可以我一般选英文装完后加中文输入法能少踩一些路径和编码上的坑、选键盘布局、选是否下载更新和第三方软件。这一步有个细节值得说安装界面会问你要不要“安装时下载更新”。网络快的话可以勾上省得装完再手动更新一遍。但如果你的无线网卡在安装环境里驱动不全压根连不上网那就先别勾装完系统再说。同理“安装第三方软件”这个选项包含了显卡驱动、WiFi固件、MP3解码之类的东西勾上能省不少事但如果勾了之后安装过程频繁报错也可以取消掉。3.3 安装类型抹盘安装和手动分区怎么选到了最关键的一步安装程序会问你怎么装。常见选项是“清除整个磁盘并安装Ubuntu”和“其他选项”手动分区。如果你这台机器就打算整块给Ubuntu清除整个磁盘这个选项其实就够了它会自动帮你建EFI、swap和根分区。方便是真方便但它不会单独给你分/home所有数据都在根分区里将来想换系统版本或者重装就得整块格式化。我个人的习惯是选手动分区原因就是想把/home独立出来。这样以后不管我是升级到新版本还是重装只要不动/home那个分区个人文件就一直在重装完把分区重新挂上就行。手动分区听起来吓人实际就是在列表里点“新建分区表”然后一块一块划。3.4 手动分区的完整操作与参数计算先进分区界面确认设备选的是你那块目标硬盘如果你机器里插了两块盘这步一定要看清楚容量和型号别选错。第一步新建分区表。点“新建分区表”会弹窗提示这会清空整块盘确认即可。类型选GPT。第二步建EFI分区。选中“空闲空间”点“”大小填512MB类型选“EFI系统分区”。这里不要给太大512M到1G足够给多了浪费。第三步建swap。继续在空闲空间上点“”大小按前面说的规则给类型选“交换空间”。第四步建根分区。大小给60G到100G类型ext4挂载点填/。第五步建home分区。剩下的空间全给它类型ext4挂载点填/home。关于swap大小的计算我按内存量给你拆一下8G内存以下swap给和内存等大就行因为这种情况内存确实可能不够用16G内存swap给8G足够因为日常基本用不到主要是防极端情况32G及以上swap给4到8G意思一下甚至可以不要独立swap用系统默认的swapfile。别信那种“swap必须是内存两倍”的老说法那是几十年前内存只有几百兆时代的经验现在套用纯属浪费磁盘。分完区的列表应该长这样一个EFI、一个swap、一个/、一个/home加起来正好铺满整块盘没有剩余空闲空间才算是划完整了。这里的“安装启动引导器的设备”一般默认就行它会自动指到EFI分区所在的盘。3.5 用户、时区、密码与安装收尾分区确认后安装程序会问你时区、用户名和密码。时区按地理位置选选错了后面系统时间和日志时间会对不上虽然能改但挺烦的。用户名建议起全小写、不含空格的因为Linux下很多工具对中文和特殊字符支持不好用户目录路径里带中文会给你后面用命令行埋雷。密码设一个你记得住的主机名随便取但同样别带中文。设完之后就进入实际写入阶段这个过程快则五六分钟慢则二十来分钟取决于U盘速度和硬盘速度。期间屏幕会滚动一堆日志正常现象别慌。装完会提示重启。重启前一定要把U盘拔掉否则机器可能又从U盘启动你会以为没装成功。拔掉之后再重启如果看到GRUB菜单然后进系统恭喜你第一关过了。4. 装完之后让系统真正好用的配置清单4.1 换国内源并完成首次更新刚装好的系统默认指向境外源更新速度可能只有几十KB每秒。第一件事就是换源。先备份原文件sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak然后编辑/etc/apt/sources.list把里面archive.ubuntu.com和security.ubuntu.com的整体替换成国内镜像地址比如清华、中科大、阿里云的镜像都可以。懒得手动改的话一条命令能批量替换sudo sed -i s|http://archive.ubuntu.com|https://mirrors.tuna.tsinghua.edu.cn|g /etc/apt/sources.list sudo sed -i s|http://security.ubuntu.com|https://mirrors.tuna.tsinghua.edu.cn|g /etc/apt/sources.list改完执行sudo apt update sudo apt upgrade -y注意如果你用的是20.04的老修订版镜像apt update时可能会提示某些源路径404这是因为镜像站对老版本的目录做了归档。这种情况把源地址里的版本代号换成对应的归档路径即可或者干脆用新修订版镜像重装一次。4.2 网络配置有线、无线与静态IPUbuntu 20.04桌面版用NetworkManager管网络图形界面点一下就能连WiFi日常用足够了。但如果你要把这台机器当服务器或者开发机长期用静态IP基本是刚需——不然每次重启IP都变SSH和端口转发全得跟着改。桌面版可以用图形设置里的“有线设置”手动填IP也可以直接改netplan配置。netplan的配置文件在/etc/netplan/目录下文件名通常是01-network-manager-all.yaml。把它改成这样network: version: 2 renderer: networkd ethernets: enp3s0: dhcp4: no addresses: - 192.168.1.100/24 gateway4: 192.168.1.1 nameservers: addresses: [223.5.5.5, 119.29.29.29]这里enp3s0要换成你自己的网卡名用ip addr或者ip link查。改完执行sudo netplan apply生效。如果配错了导致网络断掉别慌进控制台用备份文件改回来就行所以改之前先cp一份。无线网卡的话多数常见芯片20.04都能直接识别。如果连WiFi列表都看不到八成是缺固件可以试着sudo apt install linux-firmware然后重启。少数特别新的网卡可能需要手动编驱动那就得先想办法联网比如用手机USB共享网络或者插个免驱的USB网卡过渡一下。4.3 中文输入法与环境变量中文输入法是新手最容易被卡住的一环。Ubuntu 20.04自带的ibus里有个“智能拼音”日常打字够用但候选词和联想体验一般。想要更顺手的话可以上fcitx加搜狗拼音。装fcitxsudo apt install fcitx fcitx-config-gtk再去搜狗输入法官网下Linux版的deb包装的时候如果提示依赖缺失执行sudo apt install -f自动补。装完之后配置环境变量把这些写进~/.profile或者/etc/environmentexport GTK_IM_MODULEfcitx export QT_IM_MODULEfcitx export XMODIFIERSimfcitx然后注销重新登录右上角托盘里能切输入法了。这里的关键点在于如果你只装了fcitx但没设环境变量在终端和部分程序里切换输入法会失效很多人卡在“能装不能用”就是这个原因。如果你之前手改过/etc/environment里的PATH结果把路径写错会导致登录后没法执行命令这是一个高频事故。改这个文件之前务必备份而且要清楚每个变量是干什么的别一股脑往里塞。4.4 显卡驱动与硬件适配Ubuntu 20.04对Intel和AMD的核显、独显支持都挺好开箱即用。麻烦的主要是NVIDIA显卡默认开源驱动nouveau性能差跑图形界面或者外接显示器偶尔会抽风。装官方驱动最省事的办法是用ubuntu-drivers工具sudo ubuntu-drivers devices sudo ubuntu-drivers autoinstall第一条命令会列出可用的驱动和推荐版本第二条自动装推荐的那个。装完重启。注意如果你打算用CUDA或者跑深度学习别直接用autoinstall装最新版要先确认你要用的CUDA版本对驱动版本的要求两者版本不匹配会导CUDA跑不起来。另外装驱动过程中如果黑屏进不去系统可以在GRUB里选恢复模式或者临时加nomodeset内核参数先进桌面再排查驱动问题。4.5 开发环境Docker、Git和常用工具这台机器既然是拿来干活的那开发环境就得一次性铺好。基本套路是这样sudo apt install git curl wget vim build-essentialGit装完先配一下身份git config --global user.name 你的名字 git config --global user.email 你的邮箱Docker的安装建议直接用官方源版本新而且升级方便别用apt install docker.io那个老包。官方流程大致是加GPG密钥、加软件源、再apt install docker-ce。如果你网络环境一般也可以用国内镜像加速拉取配一下/etc/docker/daemon.json里的镜像地址就行。还有几个我必装的工具一个是终端字体推荐JetBrains Mono或者Sarasa Gothic更纱黑体后者中英文等宽对齐做得很舒服长时间敲代码眼睛不累一个是截图和剪贴板工具Gnome自带的够用再有就是htop、tmux、ripgrep这类效率工具。4.6 系统备份与快照装完一切配置好之后别急着干别的先做一次系统快照。这是个很少有人提但极其重要的习惯。用Timeshift这个工具能在本地建快照将来系统被玩坏了可以一键还原sudo apt install timeshift配的时候快照存储位置尽量选/home所在的分区或者外接盘别存在系统盘里因为一旦盘挂了快照也跟着没。策略上可以先手动建一个初始快照之后开自动定期快照占空间不大但能救命。5. 踩坑实录安装与使用中的常见问题排查5.1 启动和引导类问题装完重启直接进BIOS或者黑屏最常见的原因是Secure Boot没关或者U盘的启动记录被GRUB写到了错误的位置。可以进BIOS确认启动项里有没有“ubuntu”这个条目有就把它调到第一位。如果根本没有这个条目那可能是EFI分区没划对或者分区表格式和启动模式对不上GPT配UEFIMBR配Legacy。GRUB菜单出现但进不去系统可以试试在GRUB界面按e临时编辑启动参数把quiet splash删掉加上nomodeset看是不是显卡驱动导致的问题。能进桌面就说明是驱动的事按前面显卡那节处理。还有一种情况是你之前这台机器装过系统EFI分区里残留了旧的引导条目安装程序没覆盖干净。可以在Live环境里用efibootmgr查看和清理多余条目。5.2 网络类问题SSH连不上这件事我遇到不下十次排查思路基本是固定的先确认sshd服务有没有装、有没有跑起来systemctl status ssh再确认监听端口对不对ss -tlnp然后看防火墙有没有放行sudo ufw status没开防火墙就跳过最后看是不是IP不对或者网络不通。这四步走完九成问题能定位。如果服务跑了、端口也开着但外部还是连不上检查一下是不是装系统时没勾选“安装OpenSSH服务器”。桌面版默认不装SSH服务很多人忘了装还以为是配置错了。网卡识别不到尤其是比较新的无线网卡通常是固件问题。用lspci -k看网卡型号再查对应驱动名称缺固件的话优先考虑接个有线或者手机USB共享网络联网后补装。5.3 显示与驱动类问题NVIDIA驱动装完黑屏或者循环登录多半是驱动版本和内核版本不匹配或者Secure Boot开着导致签名过的驱动加载失败。可以在恢复模式下卸载驱动重装或者换成开源驱动先保证能进系统。外接显示器不亮如果是笔记本先检查是不是显卡驱动没装好。装好了还是不对可以看是不是显示模式设成了“镜像”或者被主屏占用。常见的排查表格我整理如下现象可能原因快速处理方式装完进不了系统Secure Boot未关、EFI分区错误进BIOS关Secure Boot检查EFI分区屏幕分辨率异常显卡驱动未装ubuntu-drivers autoinstall无法连接WiFi缺无线固件临时有线联网后补装固件SSH连不上服务未装或防火墙拦截装openssh-server放行22端口docker命令找不到用户不在docker组usermod -aG docker $USER 后重新登录中文输入法切不出来环境变量未配置设置GTK/QT/XMODIFIERS变量5.4 时间不同步与残留问题单系统环境下硬件时钟一般不需要额外调。如果你之前是双系统Windows会把硬件时钟当本地时间写而Linux默认当UTC切来切去时间就乱了。单系统时代替方案是把Linux也设成读本地时间timedatectl set-local-rtc 1 --adjust-system-clock不过单系统其实不太需要这个操作保持默认的UTC更规范。另一个常见残留问题是分区没划干净导致安装程序抱怨“找不到根分区”这种情况回到分区界面重新确认一遍EFI分区有没有标类型、根分区有没有设挂载点就行。6. 我个人的几条实操体会先改造的那台机器是台老ThinkPad装完20.04之后开机时间从原来的将近两分钟压到了二十秒出头日常编译也没再出现过因为磁盘占用高导致卡顿的情况。我的习惯是装机当天就把Git、Docker、Timeshift这三样一次性配好快照建完再开始装别的后面就算把系统折腾坏了也能十分钟回滚到干净状态。分区这块我越用越倾向于简单如果是容量不大的一百多G固态我就直接不拆/home整块给根分区重装靠快照和云备份兜底如果是五百G以上的盘才拆出独立的/home和swap。分区方案这东西没有标准答案别被别人的“最佳实践”绑死按自己实际要装的软件、要放的数据量来定就行。最后留一个小习惯给你装完系统、配好环境、系统更新到最新之后马上执行一次sudo apt list --installed ~/installed_packages.txt把当前所有已装包的名字存下来。将来万一要重装照着这个清单批量装回去比回忆自己装过什么高效太多。这个文件还可以随手同步到你的代码仓库或者笔记里换机器的时候直接拿来用。
返回列表