将未分配空间转换为 GPT

将未分配空间转换为 GPT

我正在尝试将未分配的空间转换为 GPT 或将 /dev/sda3 转换为 GPT,以便我可以在所述分区上安装 Windows。我遇到的问题是,当我加载gdisk /dev/sda它时,它会显示这一点,Partition 3 is in use所以我卸载它,然后重试,但没有任何结果。我检查了提出问题并按照答案操作,但仍然出现相同的错误,无法转换。有人有答案吗?

编辑:以下是终端以及我所看到的内容。

    Partition table scan:
  MBR: MBR only
  BSD: not present
  APM: not present
  GPT: not present


***************************************************************
Found invalid GPT and valid MBR; converting MBR to GPT format
in memory. THIS OPERATION IS POTENTIALLY DESTRUCTIVE! Exit by
typing 'q' if you don't want to convert your MBR partitions
to GPT format!
***************************************************************


Command (? for help): p
Disk /dev/sda: 976773168 sectors, 465.8 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 24416D0F-15FE-4237-89AA-CFB5BD774C1E
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 976773134
Partitions will be aligned on 2048-sector boundaries
Total free space is 6125 sectors (3.0 MiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048       204802047   97.7 GiB    8300  Linux filesystem
   3       204802048       960233471   360.2 GiB   0700  Microsoft basic data
   5       960235520       976771071   7.9 GiB     8200  Linux swap

Command (? for help): n
Partition number (2-128, default 2): 3
partition 3 is in use.
Partition number (2-128, default 2): Partition number (2-128, default 2): 

答案1

您不能仅将设备的一部分转换为 GPT,因为更改为 GPT 会影响位于驱动器最开始处的分区表。

它与 MBR 不同,因此您可以使用 MBR或者您使用 GPT,但不能同时使用两者。

您还可以使用 GPT 使用 UEFI 进行启动,MBR 则适合与 BIOS 一起使用。

因此,最好的方法是直接将整个驱动器转换为 GPT。

看看这个关于从 MBR 转换为 GPT 的好主题:如何将 Ubuntu MBR 驱动器更改/转换为 GPT,并让 Ubuntu 从 EFI 启动?


编辑:

还要检查所有分区是否都已卸载,为此,请使用mount终端上的命令来查找。您找到的所有内容都应该使用(而不是 X 所需的分区,例如 /dev/sda2)/dev/sda卸载,当然是在umount /dev/sdaX根模式,使用su或添加sudo

要创建分区等,请gparted使用 安装,然后以或sudo apt-get install gparted启动。gpartedgksu gparted

答案2

xdevs23 的回答很好,但我想详细说明一些问题。首先,当您gdisk在磁盘上启动时,它会自动将 MBR 转换为 GPT在记忆中。您随后执行的任何操作都将在转换后的 GPT 数据结构上起作用,除非您点击w,此时磁盘本身将转换为使用 GPT。n中的命令gdisk创建一个新分区。因此,当您使用n,然后指定3为分区时,您是在告诉gdisk创建一个新的分区 #3 —— 但该分区条目已经存在。gdisk错误指的是这个事实;它与当前安装的分区无关。(gdisk不关心已安装的分区,并将随时删除或修改它们 —— 但如果您这样做,您的更改将不可见,直到您重新启动或移除磁盘,因为内核将继续使用旧的分区表。)

另一个要点,也是在这种情况下真正更重要的一点,是问你为什么要创建 GPT 分区。我猜 Windows 抱怨使用 MBR 并说它想要 GPT。这只是一个症状,表明你以 EFI/UEFI 模式启动了 Windows 安装程序;但使用 MBR 意味着 Ubuntu 安装在 BIOS/CSM/旧模式下。混合启动模式不是一个好主意。最简单的解决方案可能也可以在 BIOS 模式下安装 Windows。这样做需要找到正确的方法来启动 Windows 安装介质。您可能需要使用启动管理器并选择启动介质的选项缺乏其描述中包含字符串“UEFI”。

问题在于磁盘上已经有三个主分区。如果您打算将 Windows 安装到其中一个分区(大概/dev/sda3),那么可能没问题;但是,Windows 倾向于将磁盘从普通 MBR 设置转换为带有逻辑磁盘管理器 (LDM)当分区数超过四个时,在其上添加一层。如果 Windows 安装程序这样做,您将很难修复该问题,因为 Ubuntu 无法从此类磁盘启动 - 至少不容易,而且我从未听说有人成功让它工作。

因此,从 MBR 转换为 GPT 可能会有用;但是,您需要重新安装 Ubuntu 引导加载程序。正如我所说,混合引导模式是不可取的,因此最好为 Linux 安装 EFI 引导加载程序。您可以手动或半自动地执行此操作。使用引导修复可以这样做——但一定要在 EFI 模式下启动它。(事实上,如果你选择这种方式,最好在固件设置实用程序中禁用 CSM。)另一种选择是使用我的rEFInd 启动管理器在 USB 闪存驱动器或 CD-R 上启动 Ubuntu。然后,您可以将软件包替换grub-pcgrub-efi手动安装 GRUB 的软件包;或者安装 rEFInd Debian 软件包或 PPA,让 rEFInd 接管作为您的启动管理器。

另一个选择是将 Windows 安装到第二个磁盘。如果您在 BIOS 模式下执行此操作,则无需处理 Ubuntu 引导加载程序。Windows 可以根据需要使用或不使用 LDM,而不会给 Ubuntu 造成问题。这显然更有可能在台式机上而不是笔记本电脑上工作,并且需要额外的硬件。

在虚拟机中安装 Windows(使用 VirtualBox、KVM/QEMU 或类似程序)可以避免我刚才描述的许多麻烦,但是如果您想使用 Windows 玩游戏或执行其他需要直接硬件访问的操作,可能会受到限制。

总而言之,您有很多选择。诀窍在于驾驭它们。您尝试的安装可能会出错,因此如果您不知道自己在做什么,这可能会很危险。总的来说,如果可行,我建议您尝试虚拟机安装。如果不行,您真的应该阅读有关 EFI 模式启动的主题。我建议:

相关内容