我一直试图在我的 Dell latitude e6510 上安装 Linux 和 Windows 7 双启动。它当前运行的是 Windows 7,我已使用 MS 磁盘工具缩小 Win 7 NTFS 分区以腾出空间给 Linux。
我遇到的问题是,当我通过 CD 启动运行 Linux 安装程序时,它们会将整个硬盘视为未分配空间。我尝试过 Ubuntu 10.10、Kbuntu 10.10 和 Fedora 14,它们都有同样的问题。
我也尝试过 Ubuntu“在 Windows 中安装”选项,但无法使其工作。
编辑:
从 USB 驱动器启动 Gparted 0.8.0 不起作用。它报告整个驱动器未分区。
答案1
事实证明,我的笔记本电脑不知为何被赋予了两个分区表:MBR 和 GPT,这让 Gparted 感到困惑。Ubuntu 和 Fedora 安装程序使用 Gparted 来准备驱动器以进行安装。
使用 Windows 版 Gdisk 清除 GPT 解决了这个问题。现在 Windows 和 Gparted 都可以读取我的驱动器了。
答案2
Windows 7 使用一种“新”专有方法管理硬盘,即动态磁盘 (DD)。这个新系统是对 RAID 的模拟(因此一点也不新),再加上一些大多数普通用户永远不会理解其用途的其他小工具。其中一个不同之处在于使用与标准 MBR 不同的分区描述块方案,即所谓的 Microsoft GPT。换句话说,Microsoft 引入的磁盘索引与 MBR 标准使用的索引有很大不同。其结果是 Microsoft 的工具可以识别并正确理解分区的位置和类型。
由于 Linux 磁盘分区工具在标准 MBR 系统上运行(大多数(如果不是全部)其他操作系统都是如此),因此它们无法解释 Microsoft 的 DD 及其 GPT 的索引。其结果是,DD 分区磁盘被识别为空闲磁盘,因为没有 MBR 描述符数据。为了能够从 DD 分区中恢复文档和其他文件,Linux 内核已经进行了一些补充,使其能够处理此类硬盘区域。据我所知,进一步的兼容性代码正在路上。
因此,不要忘记 Linux 不需要不断尝试与 Microsoft 的非标准兼容……
目前,要实现 Linux 双启动,您必须强制 Windows 使用 MBR 标准,而不是 Microsoft 自己的 DD。Linux 分区工具随后可以识别当前的 Windows MBR 分区,然后能够正确安装 Linux 和启动代码 (GRUB...) 以实现双启动。因此,如果已经以这种方式安装了 Windows 7,则此策略大多有效。
小心可疑的危险情况!如果您的系统上有多个硬盘,并且使用 GPT 模式之一的 Windows 7 DD 进行分区,同时在与第一个硬盘不同的硬盘上安装 Linux(Windows 上的 C:),则您可能能够成功进行双重启动。问题是,如果卷跨越 Linux 现在使用的物理硬盘,Windows 7(取决于您配置硬盘的方式)可能会检测到卷故障。这样,您可能会丢失大量 Windows 数据。事实上是整个卷,因此不仅所述硬盘物理包含的部分可能会丢失,而且其所有数据也可能丢失。
所以现在唯一要遵循的规则是从 Windows 7 开始精确规划 MBR 分区配置,这样就避免使用多硬盘跨区卷,为 Linux 安装保留空间,然后继续进行 Linux 安装。
最大的问题是 Windows 用户必须熟悉动态磁盘系统,然后才能够修改分区设置并为 Linux 安装提供必要的磁盘空间。
总而言之,微软推出的动态磁盘系统对于 Linux-Windows 共存来说并不是一个真正的技术问题。目前,Linux 社区正在研究微软的这一创新技术,以避免 Windows 用户在尝试安装 Linux 时搞砸他们的 Windows 系统。要使这一附加策略完全发挥作用,需要 Linux 分区工具能够识别非标准分区方案。这可能很快就会推出,因为这是一个简单的修改,即使不同的 Windows 分区结构可能需要不同的方法来为新操作系统共存安装实现正确的设置。
答案3
尝试运行 gparted 启动盘(或 USB 驱动器)。
答案4
很有趣。我最近在两台不同的机器上做了两次,没有任何这样的问题。但后来我使用 gparted 工具最初缩小了分区。
尝试从实时发行版启动,例如 Gentoo錄影DVD,然后运行fdisk -l /dev/sda
并查看结果。