
1. 为什么你的Ubuntu安装总报Invalid Partition Table每次看到那个刺眼的Invalid Partition Table错误提示我都想起自己第一次用U盘安装Ubuntu时的狼狈经历。当时反复重装了七八次差点把U盘都烧坏了。后来才发现问题就出在那个小小的ESP分区上。现代电脑的UEFI启动方式和传统的Legacy BIOS完全不同。简单来说UEFI就像个严格的安检员它要求你的硬盘必须用GPT分区表而且必须有个专门的通行证——也就是ESP分区EFI系统分区。这个分区通常只需要100-500MB但如果没有它或者格式不对UEFI就会直接拒绝启动系统给你甩个无效分区表的错误。我见过太多人在这栽跟头有人压根没创建ESP分区有人把它格式化成ext4而不是FAT32还有人手贱在安装时把这个分区删了...结果都是一样的悲剧。更坑的是有些第三方分区工具会贴心地帮你把整个硬盘转成MBR格式这简直就是给UEFI系统下了死亡通知书。2. 准备工作这些坑我帮你踩过了2.1 检查你的BIOS模式先别急着插U盘按住Shift键点重启进入疑难解答→高级选项→UEFI固件设置。或者开机时狂按F2/Del键不同品牌按键不同进BIOS找到Boot Mode选项。一定要确认是UEFI模式而不是Legacy/CSM。有个冷知识现在很多电脑默认是UEFI with CSM模式这种混合模式最容易出问题。我建议你彻底关闭CSM支持强制纯UEFI启动。去年我给一台联想小新Pro装系统时就因为这个CSM选项折腾了一整天。2.2 制作启动盘的玄学推荐用Rufus或者Etcher来制作启动盘千万别用那些国产工具。我有次用某大师做的启动盘安装时居然自动把硬盘转成了MBR格式简直离谱。重点来了在Rufus里一定要选GPT分区方案和UEFI(非CSM)目标系统类型。ISO镜像选择你下载的ubuntu-20.04.xx-desktop-amd64.iso文件。有个细节很多人会忽略——最好用USB2.0接口的U盘因为某些电脑的USB3.0接口在安装时会有兼容性问题。3. 分区方案详解从120G到2TB的实战配置3.1 必须存在的ESP分区安装时选择其他选项进入手动分区。首先点击新建分区表一定要选gpt而不是msdos。然后创建的第一个分区必须是ESP分区大小512MB足够微软建议最小100MB类型EFI系统分区挂载点/boot/efi格式FAT32注意有些教程会让你把/boot单独分区这在UEFI下完全是多余的。我实测过十几次只要ESP分区设置正确根本不需要单独的/boot分区。3.2 交换分区的新认知传统教程都说swap要设成内存的2倍这早就过时了现在内存都8G起步了设16G swap纯属浪费空间。我的建议是内存≤4Gswap内存×2内存8Gswap4G内存≥16G完全可以不要swap除非你要用休眠功能3.3 家用电脑黄金方案以500G固态硬盘为例我的推荐方案是挂载点类型大小格式备注/boot/efiEFI512MBFAT32必须第一个创建swap交换空间4GB-内存8G时足够/根目录100GBext4系统和软件安装位置/home家目录剩余全部ext4用户文件存放位置这个方案我至少在20台不同配置的电脑上验证过从没出过错。特别是把/home单独分区这个操作以后重装系统时你会感谢我的。4. 安装过程中的死亡陷阱4.1 启动器安装位置在安装程序的最后一步有个安装启动引导器的设备选项。这里必须选择你的ESP分区对应的设备比如/dev/nvme0n1p1而不是整个磁盘。我就见过有人这里选错结果装完系统根本启动不了。4.2 双系统用户的特别警告如果你要装WindowsUbuntu双系统切记一定要先装Windows因为Windows安装时会霸道地独占ESP分区。正确的顺序是用Windows安装盘启动删除所有分区让安装程序自动创建它会建好ESP分区安装Windows再用Ubuntu安装盘启动这时就能看到Windows创建的ESP分区了Ubuntu安装时直接挂载现有的ESP分区不要新建去年我帮学弟装双系统他就是先装了Ubuntu再装Windows结果Windows直接把Ubuntu的引导信息覆盖了。修复过程相当痛苦最后只能重装。5. 疑难排错当错误还是出现了...5.1 安装后无法启动如果安装完重启直接进Windows或者显示No bootable device八成是启动顺序问题。进BIOS找到Boot Option把Ubuntu调到第一位。有些主板比如华硕还要关闭Secure Boot。5.2 修复GRUB引导有时候Windows更新会破坏GRUB引导这时需要Ubuntu安装盘启动进入试用模式然后执行sudo add-apt-repository ppa:yannubuntu/boot-repair sudo apt update sudo apt install -y boot-repair boot-repair这个神器会自动检测并修复大多数引导问题。我维护的十几台Linux电脑都靠它续命。5.3 终极解决方案如果所有方法都试过了还是不行可能是硬盘分区表损坏了。这时候需要用GParted彻底删除所有分区新建GPT分区表重新按照前面的方案分区再次安装这个过程会清空硬盘所有数据所以一定要先备份。上个月公司有台服务器就这样最后发现是硬盘本身有坏道导致的。