硬盘分区属性与双系统安装

在生活中,许多人希望在同一电脑上安装多操作系统,如windows和linux,兼顾工作和娱乐。本文介绍硬盘的分区属性,以及如何进行双系统安装。

分区属性和引导方式

GPT和MBR分区表的区别

关于GPT(GUID Partition Table):

GPT 是较新的分区表格式,全称为 GUID 分区表(GUID Partition Table)。与传统的 MBR 相比,GPT 拥有更强的灵活性与扩展性。

优点是支持2TB以上的大硬盘;每个磁盘的分区个数几乎没有限制,分区大小也几乎没有限制;通常与 UEFI 启动模式 配合使用。目前主流的操作系统都用该方式

关于MBR(Master Boot Record):
MBR分区表(master boot record)的英文缩写,简称主引导记录,还可以叫做主引导扇区。它的运行机制存在于硬件的基础之上,它存储在硬盘的第一个扇区上。

优点就是兼容性比较好,适用于旧版 BIOS 系统;缺点就是不支持管理大硬盘结构,最大仅支持 2TB 容量。

UEFI和Legacy引导方式的区别

Legacy引导方式:
Legacy模式使用MBR磁盘格式,它的特点,系统只能安装在MBR格式磁盘上,并且不支持2TB以上硬盘。所以目前被UEFI取代了。

UEFI引导方式:
UEFI是 BIOS 的继任者,它的可编程性更好,可扩展性更好,性能更高,安全性更高。它的特点:系统只能安装在GPT格式磁盘上。UEFI提供安全引导功能,防止病毒在引导时加载;UEFI BIOS图形界面更直观,交互性更强,支持鼠标操作和多国语言;

Legacy+UEFI 引导方式:
现在部分主板有该配置选项,当检测到是在Legacy下安装的系统,就会调用Legacy引导模式启动,同理如果检测到是UEFI下安装的系统,则会使用UEFI模式启动。

值得注意的是:安装双系统时,请确保两者使用相同的引导方式(两个系统都为 UEFI 或 都为 Legacy),否则会出现无法识别或无法启动的问题。
这就是我为什么在介绍如何安装双系统之前,先要介绍硬盘的分区属性。所以在做启动盘时,就得确认两者使用相同的引导方式。

双系统安装步骤(Ubuntu → Windows)

网络上多数教程推荐“先装 Windows,再装 Linux”,其实两种方式都可以,看你主要使用哪个系统,就先装哪个。我习惯ubuntu系统,本文介绍的是先装Ubuntu 再安装 Windows。

详细步骤:

1、安装 Ubuntu 系统

首先使用安装盘(或启动U盘)正常安装 Ubuntu 系统到整块硬盘上。
此时系统磁盘被 Ubuntu 占满,包含以下典型分区:

  • EFI 分区(/boot/efi)

  • 根分区(/)

  • 交换分区(swap)

建议安装时选择 GPT + UEFI 模式,以便后续 Windows 能兼容同样的引导方式。

2、使用磁盘(Disks)工具调整分区

这里需要再次启动U盘中ubuntu,选择“试用”。

选择文件系统对应分区,点击齿轮设置,调整大小“Resize”

调整合适大小,并点击“确认”。

3、安装 Windows 系统

插入 Windows 启动盘后,在安装界面里
在分区步骤中:

  • 选中之前释放出的 未分配空间;

  • 点击「新建」,让 Windows 自动创建 NTFS 分区;

  • 安装系统到该分区。

注意:安装完成后,此时 Windows 安装程序会在 EFI 分区写入自己的引导记录,覆盖 Ubuntu 的 GRUB 引导。
安装完成后,系统将直接进入 Windows,Ubuntu 启动项会暂时消失。

4、修复GRUB

重新插入 Ubuntu 启动U盘,选择 “Try Ubuntu”(试用模式)进入桌面。
打开终端,输入以下命令:

1
2
sudo update-grub
sudo reboot

此时启动Ubuntu,进入系统应该会看到两个系统启动项,效果如下

注意:主板BIOS中需要把Ubuntu设置为第一启动项,避免引导失败。

常见问题与建议

  • Windows 启动程序 和GRUB
    windows启动程序仅能识别windows系统,不能识别linux系统。但是grub可以识别两者。但在Ubuntu20.04之后,会默认禁用os-prober,导致启动GRUB时无法识别Windows系统。
    解决方式:

查看是否存在efi分区

1
2
3
4
5
6
7
8
# 查看是否存在Microsoft 目录
sudo ls /boot/efi/EFI

# 查看grub配置文件
sudo vim /etc/default/grub

# 编辑配置文件
GRUB_DISABLE_OS_PROBER=false # 原来是 true 或注释掉

更新grub 并重启

1
2
3
4
sudo apt install os-prober     # 若系统没装
sudo os-prober # 应该立即打印出 Windows 盘
sudo update-grub
sudo reboot
  • 分区调整失败
    解决方式:
    不能在已安装的ubuntu系统进行,需要启动U盘,选择「Try Ubuntu」进入Ubuntu系统。

  • Windows 安装后 Ubuntu 消失
    解决方式:
    需要启动U盘,选择「Try Ubuntu」进入Ubuntu系统。然后使用终端重新进行grub引导项的修复

  • 两系统无法同时启动或者安装过程中提示无法安装
    解决方式:
    启动方式不一致,需要重新制作启动盘,并且选择相同引导方式