Ubuntu 12.04/12.10 无法检测到 Windows 或任何其他分区(Asus z77 UEFI BIOS)

Ubuntu 12.04/12.10 无法检测到 Windows 或任何其他分区(Asus z77 UEFI BIOS)

我最近刚刚修补好我的新电脑(主板 ASUS z77 带有 UEFI BIOS),但不幸的是并不是一切都运行良好。

在单个主分区(SATA 驱动器)上安装 Windows 7 Ultimate 后,我决定再分配一个逻辑分区以满足其他需求。当我尝试使用管理器执行此操作时 - 它说无法分配请求的大小,尽管我请求的大小肯定比可用大小少得多。

我认为这可能是 Windows 的问题,并继续安装 Ubuntu 12.10 x64。当图形界面加载时,它向我显示一条消息,指出它在驱动器上找不到任何其他操作系统。当我使用自定义分区选项时,它没有显示我当前的分区(包括 Windows 分区)。但是,当我使用“尝试 Ubuntu”功能启动时,它确实找到了它们!但我觉得这很奇怪。

以下是控制台显示的内容:

ubuntu@ubuntu:~$ sudo os-prober 
/dev/sda1:Windows 7 (loader):Windows:chain
ubuntu@ubuntu:~$ sudo fdisk -l

Disk /dev/sda: 640.1 GB, 640135028736 bytes
255 heads, 63 sectors/track, 77825 cylinders, total 1250263728 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00072b98



 Device Boot      Start         End      Blocks   Id  System

/dev/sda1   *        2048      206847      102400    7  HPFS/NTFS/exFAT
/dev/sda2          206848   100020223    49906688    7  HPFS/NTFS/exFAT
/dev/sda3       100022270  1250263039   575120385    5  Extended
/dev/sda4       566669312  1250263039   341796864   83  Linux

我还尝试从磁盘实用程序创建分区,但出现错误: 在此处输入图片描述

创建分区时出错:助手程序退出,退出代码为 1:在 part_add_partition 中:device_file=/dev/sda、start=51211402240、size=1923000000、type=0x83 进入 MS-DOS 解析器(偏移量=0、size=640135028736)发现 MSDOS_MAGIC 正在查看第 0 部分(偏移量 1048576、大小 104857600、类型 0x07)新部分条目正在查看第 1 部分(偏移量 105906176、大小 51104448512、类型 0x07)新部分条目正在查看第 2 部分(偏移量 51211402240、大小 588923274240、类型 0x05)进入 MS-DOS 扩展解析器(偏移量=51211402240,大小=588923274240)读取自 = 51211402240 发现 MSDOS_MAGIC 退出 MS-DOS 扩展解析器查看第 3 部分(偏移量 290134687744,大小 349999988736,类型 0x83)新部分条目退出 MS-DOS 解析器检测到 MSDOS 分区表包含分区表方案 = 1 得到它错误:不能有重叠分区。ped_disk_new() 失败

这是我尝试安装系统时得到的结果

在此处输入图片描述

在此处输入图片描述

PS 奇怪的是,我甚至无法使用磁盘实用程序或 Windows 7 原生工具创建任何分区

答案1

这是不是EFI/UEFI 问题。您的硬盘使用主引导记录 (MBR) 分区系统并成功启动 Windows,这意味着它正在以 BIOS 模式启动 Windows。磁盘上没有 EFI 系统分区 (ESP),这意味着它不会在 EFI 模式下启动任何其他东西(除非您有 USB 闪存驱动器或带有 ESP 和 EFI 引导加载程序的东西)。

真正关键的线索来自于您从 GParted(或者是磁盘实用程序?)控制台消息中引用的内容的末尾:

错误:不能有重叠分区。ped_disk_new() 失败

基本上,无论您选择了哪种对齐策略,分区工具都会尝试创建一个分区,该分区要么在较早的分区结束之前开始,要么在较晚的分区开始之后结束。众所周知,Libparted(GParted、磁盘实用程序和其他几个程序都依赖于它)有时会这样做。至少有三种可能的解决方法:

  • 手动输入分区的开始/结束点,并在分区之间留出一点空间。通常 1MiB 就足够了。
  • 更改分区工具中的分区对齐选项。GParted 的最新版本允许您在 1-MiB 对齐、柱面对齐和无对齐之间进行选择。通常,1-MiB 对齐是最好的,但如果它给您带来问题,并且您知道您正在使用非高级格式磁盘,您可以将其更改为其他几乎不会出现问题的东西。另一方面,如果您使用的是高级格式磁盘,您应该不是尝试此方法,除非其默认为 1-MiB 对齐以外的其他方法。
  • 切换到另一个分区程序,最好是不是基于 libparted。对于 Linux 中的 MBR 磁盘,这基本上意味着 fdisk。然后您必须使用文本模式文件系统创建工具(例如 mkfs)或 GParted 在您创建的分区中创建文件系统。

相关内容