我目前使用的是 Ubuntu 13.04、elementaryos 和 Windows 8。我还想安装 Backtrack 以备不时之需。但是,我已经超出了我的分区限制。那么,是否有可能将两个分区组合起来并使用共享交换将所有 linux 发行版安装在该单个分区中?
编写此内容是为了可以一直通读、略读或跳过部分。但是,我强烈建议您在决定做什么之前查看最后一节(“您可能根本不会被限制为 4 个分区”),以防万一您拥有 GPT 格式的磁盘或不受 4 个分区的约束限制。
在同一个分区中安装多个Linux系统或许是可能的,但将需要大量修改系统,使他们访问了正确的文件。
例如,不同的操作系统通常会为init. 但是 的可执行文件init总是预期存在于/sbin/init. 对于这个和类似的问题,您至少必须让系统使用高度定制的内核引导参数。要解决某些问题,您可能必须手动重新编译内核。您还必须处理更改库安装的默认位置以及在使用库的程序运行时查找库的位置,因此安装在一个操作系统中的程序不会使用另一个操作系统的同一库的不同版本(这有时会不兼容)。为了让包管理器按需要工作,您可能必须编辑它们的源代码并重新编译(这意味着您无法以正常方式更新它们)。
原则上,这一切都应该是可能的。在实践中,这可能是不可能的:你很可能永远不会让它工作到可接受的稳定性水平。但是,如果您确实想尝试这样做,您可能需要研究修改系统的可能性,以便它们在引导早期chroot进入单独的chroot jail。我相信这是可能的,并且可以提供必要的稳定性。也许其他人会发布带有特定解决方案的答案。
相比之下,您可以而且很容易让不同的 GNU/Linux 操作系统使用相同的交换分区。一般来说,您无法使一个系统休眠并启动到另一个系统,但许多人无论如何都不使用休眠。
在任何情况下,如果你想降低您使用分区的数量,你可以破除完全的交换分区和使用交换文件,而不是。(您甚至可以为多个操作系统交换使用相同的交换文件。)
...是做一个扩展分区。这充当分区的容器,并允许您在磁盘上有效地拥有四个以上的分区,并且分区表的类型仅支持 4 个“主”分区。
为此,请从实时 CD/DVD/USB 闪存驱动器启动并运行 GParted。如果您已经有四个分区,则必须先删除一个。这可以是交换分区,正如virtualxtc 建议的那样——前提是你没有休眠。(因此,在执行此操作之前,请正确关闭或重新启动而不是休眠。)
以下是一些屏幕截图,说明了正在创建扩展分区的简单情况。(当然这里的大小是不切实际的,因为我使用了一个小闪存驱动器来创建屏幕截图。)

右键单击未分配的空间(在代表磁盘的水平条中,或在其下方的列表中),然后单击New。
这会打开上面显示的窗口。单击Create As右侧的并选择Extended Partition。(默认情况下它将是Primary Partition,这不是您想要的。)
将扩展分区设为最大大小。
现在,在扩展分区内,您可以根据需要创建额外的分区,绕过 4 个分区的限制。
您这样做的方式与在 GParted 中创建任何分区的方式相同……就在扩展分区内,它充当其他分区的容器。这些分区称为“逻辑分区”,以区别于未包含在扩展分区内的“主分区”。
完成此操作后,它将看起来像这样(然后您可以单击工具栏中的复选标记,执行编辑 > 应用所有操作,以应用您的更改。

像往常一样,在执行任何分区之前确保至少备份所有重要文件(例如,文档)是一个好主意。
如您所知,分区在使用之前会被格式化。但是磁盘本身也在某种程度上被“格式化”了。分区格式确定了它们可以存储的数据类型以及数据(通常是文件)的存储方式。但是磁盘是用分区表和其他信息“格式化”的。有不止一种分区表。“msdos”分区表(有时称为“msdos 磁盘标签”或“MBR 分区表”,尽管“MBR 用于其他上下文”)仅限于四个主分区。
但是其他一些分区表类型根本不受这种限制,您可能正在使用这种类型。当然,如果 GParted 已经告诉您不能创建另一个主分区,则不太可能是这种情况。
但是现在很多硬盘,尤其是装有 Windows 8 的磁盘(特别是如果它是预装的)和大于 2 TB 的磁盘,都采用GPT格式。
GPT(GUID 分区表)不会将您限制为四个分区;您无需任何特殊努力或解决方法即可制作更多作品。因此,如果您还没有尝试过,我建议您这样做。有时人们认为他们仅限于四个,但实际上有一个 GPT 磁盘并且根本没有限制。
确定您是否有“msdos”分区表或其他限制较少的分区表类型的一种方法是尝试创建第五个分区(不要将其放在扩展分区中——扩展分区通常是不可能的,除非有“msdos”分区表)。
另一种方法是直接在 GParted 中检查。为此,请单击查看 > 设备信息。**设备信息* 窗格将出现在分区列表的左侧,在磁盘的水平表示下方。

相反,如果您有 GPT 磁盘,您将看到“gpt”而不是“msdos”。(还有其他类型的分区表,GPT 和“msdos”只是最有可能的,在 PC 上。)

请注意,虽然可以将带有“msdos”分区表的磁盘转换为 GParted 中的 GPT 磁盘(使用“设备”>“创建分区表...”),但这样做会“擦除”磁盘上的所有数据!(这就是为什么我不建议将其作为解决您问题的方法。)
由于 Eliah扩展了我原来的答案并将其变成了一本小说,我将告诉您几种在现有分区内运行另一个 Linux 发行版而不会出现问题的方法;所有这些都需要某种划分,以便每个发行版的程序、脚本和配置文件不会重叠;传统上,这是使用分区的主要原因之一。
这样做的缺点是,在虚拟机内运行发行版有很多缺点:内存较少、CPU 较少、与硬件组件的直接接口较少,但已经变得足够高效,在大型服务器环境中变得相当普遍。
最简单的方法是通过 UnNetBootin。[Sofpedia 的操作方法] 提供了一个很好的示例,说明如何使用 UnNetBootin 来实现此目的。(http://news.softpedia.com/news/How-to-Boot-ISO-Images-from-Your-Hard-Drive-190443.shtml)用于存档目的)但是,这可以在 window\xe2 内部完成\x80\x99s 以及此处描述。在同一篇文章中,他们声称将 iso 安装到文件夹中非常简单:
\n\n输入这些命令:
\n\nsudo mkdir /distro
sudo chown `whoami`:`whoami`
cp <YOUR-DOWNLOADED>.iso /distro/distro.iso
将 Linux_kernel 从 iso 和 Ram_disk 提取到 /distro
打开/boot/grub/menu.lst并添加以下内容:
#``ADD NEW ENTRY``#
title Install Linux
root (hdX,X)
kernel /distro/<YourDownloadedLinuxKernel>
initrd /distro/<YourDownloadedRamDisk>
我相信选项 #2 将您限制在 iso 内的空间,从而使安装更多应用程序变得困难(认为您始终可以将一些安装点迁移到非虚拟化空间)。我不太确定如何在 Linux 中执行此操作,尽管知道它在虚拟化系统中非常常见(选项#1),但我相信这是使用Wubi 在内部安装 Ubuntu时的默认行为窗户。
如果安装程序可以看到分区并进行相应标记,则通常在安装过程中默认完成此操作。如果您正在虚拟化,则需要使物理驱动器对其系统透明才能利用这一点。对于 virtualbox,这是通过安装 guest-addtions来完成的。
\n| 归档时间: |
|
| 查看次数: |
24341 次 |
| 最近记录: |