双系统或多系统的引导和分区那些事
文章目录一、系统引导1.1、引导模式1.2、引导管理器引导逻辑解释目前主流管理器二、磁盘分区2.1、官方推荐方案Windows官方分区方案Linux官方分区方案2.2、个人建议方案deepin官方参考方案个人经验整合方案一、系统引导系统引导也就是指通过引导程序引导系统完成启动的操作其中引导程序即BootLoader(引导加载器)不论手机、电脑还是其他什么设备只要涉及到操作系统就必定存在引导程序1.1、引导模式引导模式Legacy BIOSUEFI发布日期1975年由IBM普及2000年由Intel推出原术语Legacy Basic Input/Output SystemUnified Extensible Firmware Interface对应中文传统基本输入输出系统统一可扩展固件接口民间术语老BIOS / BIOS启动新BIOS / UEFI启动分区表格式MBR兼容MBR 主打GPT系统引导机制PBR分区引导记录通过扫每个分区加载引导管理器ESP独立EFI分区所有系统都会创建引导管理器至此分区系统支持情况早期旧系统支持、2015年Windows 10发布后新系统开始渐渐不再兼容2009年64位Windows 7开始支持、2012年由Windows 8全面普及1.2、引导管理器引导管理器(Boot Manager)可以理解为管理引导程序的一套工具它可以将多个引导程序集中管理并决定采用哪个引导程序用更简单易懂的一条流程线来展示就是BIOS/UEFI → Boot Manager → BootLoader → OS少数引导管理器其实包含着引导程序例如Linux的GRUB2引导管理器引导逻辑解释BIOS通过PBR扫出每个分区里的引导管理器即当512GB磁盘分出两个256GB分区每个分区里各装一个系统每个系统各自管理自己的引导管理器UEFI通过ESP分区集中管理所有引导管理器UEFI规范规定虽不限制ESP分区的数量与位置但同块硬盘不该存在两个或两个以上ESP分区因为UEFI只期望一个ESP分区(A physical drive should have only one EFI System Partition.)即使固件系统支持多个ESP分区但使用两个或两个以上的话有一定几率可能会导致部分固件系统出现识别引导顺序混乱微软官方明确不支持多个ESP分区尤其是当电脑里存在两个或两个以上Windows系统时不论多个ESP分区是否在同块硬盘上都必定会出问题当然也有技术手段可以避免出现问题但相对而言操作会更加复杂而且也难以杜绝是否会存在隐患问题参见《Windows和GPT常见问题解答》Linux则不会由于Linux的GRUB2引导管理器里包含BootLoader引导程序以及Linux写入ESP分区引导管理器是通过/boot/efi挂载路径实现的同时GRUB2自身是直接携带ESP分区的vfat等文件系统驱动能够在UEFI引导模式的环境下跨越硬盘和分区去读取并加载对应.efi文件的从根本上与Windows的机制就完全不同从而可链式加载不同的ESP分区所以完全不受影响但也只推荐不同硬盘才创建不同的ESP分区最终建议【只建唯一一个ESP分区】当你的多系统存在多个Windows的话其他系统不管不论是否同块硬盘都不要创建多个ESP分区除非你技术手段很强同时深入了解UEFI、GPT、Boot Manager、BootLoader、BCD、NVRAM、BootOrder等等相关技术术语的理论以及它们之间的逻辑原理甚至能够徒手安装与维护rEFInd等第三方引导管理器的牛人如果你是那这篇文章对你来说没有参考价值【每块硬盘一个ESP分区】当你的多系统没有、或只有一个Windows系统那你可以为每块硬盘创建一个ESP分区注意是每块硬盘当然依旧建议只创建一个ESP分区目前主流管理器引导管理器完整管理器名称对应系统与说明BOOTMGRWindows Boot ManagerWindows Vista以上的系统标准引导器GRUB2GRand Unified Bootloader 2Linux系统全新的GRUB引导管理器rEFIndrEFInd被称为UEFI上主题最多最美观的引导管理器OpenCoreOpenCore EFI2019年开发的Hackintosh黑苹果专用引导管理器取代了2012年的Clover(四叶草)和2008年的Chameleon(变色龙)两款老引导管理器二、磁盘分区这里不包括采用Legacy BIOSMBR分区表格式的模式只讲解2012年之后的新电脑也就是采用UEFIGPT分区表格式的模式2.1、官方推荐方案Windows官方分区方案基于UEFIGPT的硬盘驱动器分区Linux官方分区方案主要是最主流两大发行系统RedHat和Debian的方案最新RedHat 10推荐的分区方案最新Debian官网推荐的分区方案Debian安装程序之导引式分区-此链接下提供了个直观的表格2.2、个人建议方案deepin官方参考方案deepin 25操作系统安装指南deepin 25修复或添加windows启动项个人经验整合方案多操作系统安装与引导原理分区名分区地址文件系统格式官方至少推荐最佳建议大小是否必须分区解释说明ESP/boot/efivfat512MB1GB是UEFIGPT引导启动下的EFI分区MSR无无16MB128MB是Windows系统必要的分区之一WindowsCNTFS24GB256GB是Windows系统分区Recovery无无1GB24GB否Windows系统恢复分区WinDataDNTFS数据分区数据分区否Windows系统个人数据分区SWAPswaplinux-swap与物理内存相同物理内存×2是Linux交换分区实际大小请参考对应发行版官方说明Root/ext4/btrfs16GB256GB是Linux系统分区LinData/homeext4/btrfs数据分区数据分区否Linux系统FHS目录之一个人数据分区Boot/bootext4/btrfs1GB8GB否Linux系统FHS目录之一参见下方RedHat警告附图Other/opt、/srv、/usr、/var和/tmpext4/btrfs不建议分区不建议分区否Linux系统FHS目录之一不建议分区包括非FHS目录例如deepin独有的/persistent目录都不建议分区借用我自己写的《Windows目录及程序安装路径个人习惯》这篇文章里的一段话2025年及以后新电脑普遍都是只有一块512GB或以上大小的SSD固态硬盘单Windows系统一般都只会分2个区甚至是1个区多系统的话就要进行变通了。