我应该将根目录、主目录和交换分区设置多大?

我有一台安装了win7的笔记本电脑。我现在已经创建了一个60GB的分区,想要在其中安装ubuntu。在进行安装之前,我想知道根目录、交换空间和主目录分区应该多大?我在某个地方读到过根目录可以小到8GB,但是那不是太小了吗?因为我猜除了ubuntu,所有安装的软件也将驻留在那里?而且我打算将交换空间设置为2GB。
我主要关心的是根目录应该有多大。我主要会使用ubuntu进行编程和浏览网页。

5交换空间需求需要是内存的两倍的要求在1992年已经过时了:http://superuser.com/questions/187695/why-do-we-need-to-set-swap-space-as-twice-big-as-our-physical-memory - Nav
10个回答

你实际上应该在两个分区上安装Ubuntu,即“/”和“swap”。你可以选择让Ubuntu自动使用可用的空闲空间来完成这个过程(换句话说,在安装Ubuntu之前不要在Vista中格式化你的60GB分区)。
有人会争论说你应该为“/home”,“/boot”,“/”等各种事物使用单独的分区。在某些情况下,这是有用的,但对于大多数常见情况,最好不要这样做。这是因为它会以一种可能不希望的方式使你的磁盘碎片化。只需让Ubuntu为你选择,你就会安全无忧 :)
在某些情况下,你通常会使用单独的home目录,例如:
  • 多个驱动器
  • 多个互斥的Ubuntu安装共享相同的数据(可以与不同的发行版一起使用,但不建议与不同的发行版一起使用)
  • 在驱动器故障/升级的情况下需要保护数据的安全性(大多数正常安装都是安全的)
  • 您希望重新安装或升级系统更加简单(只需选择不格式化/home分区 - 请注意,在任何系统升级期间强烈建议备份重要数据)
  • 同一驱动器被不同的系统使用。
  • 您的磁盘容量不足以存储家目录和系统数据(例如小型SSD)

NB:“Ubuntu的安装程序提供了保留/home内容的选项,因此在重新安装或升级时无需担心丢失任何内容。- htorque”

关于交换空间的另一个说明 - 如果您希望在执行大型任务时确保有大量的交换空间,您可以将交换空间设置为RAM大小的两倍,但无论如何,如果您选择在空白的60GB分区上安装Ubuntu,它都会很好地处理这些要求。

你可能还想了解一下交换文件(Swap files)而不是交换分区(Swap partitions)。这样可以帮助减少磁盘的固定碎片化,并根据需要动态分配空间。据说,这样做不会影响性能。 如何增加交换空间?

你能解释一下在哪些情况下单独使用/home目录是有用的吗? - 8128
19如果你在两个Linux发行版之间进行双系统启动,例如进行开发或测试工作,那么一个独立的/home目录是非常有用的。它还可以使得在进行干净安装时不会删除你的/home目录并且需要从备份中恢复变得更加容易。由于越新手的你越有可能搞砸一些东西而不知道如何修复,所以我通常建议新手使用单独的分区,然后在你更加熟悉后再将其合并。 - Karl Bielefeldt
随意编辑:) - 这个答案是开源的 ^^ - RolandiXor
2Ubuntu的安装程序提供保留/home目录内容的选项,因此在重新安装或升级时您无需担心丢失任何数据。 - htorque
@Karl - 这实际上就是我的情况。这就是为什么我想知道我的根分区应该有多大。所有的软件都会驻留在那里,对吗?所以你认为20GB的大小可以吗? - starcorn
如果你选择这条路线,我建议将25GB分配给/,35GB分配给/home - RolandiXor
2根据我的经验,对于根目录来说,20GB的大小是足够的,即使安装了一些年头的随机软件,也不容易填满它。我认为我从来没有超过25GB的使用量。如果你在安装软件时小心谨慎,那么10GB的空间可能也足够,因为一个全新的Ubuntu安装只需要不到5GB的空间,但我不建议将空间设置得太低,因为根目录空间不足很难修复。 - Grumbel
将答案设为社区维基 :) - RolandiXor
过去,从系统管理员的角度来看,分区的部分原因(我现在不在我的台式机上这样做了)是为了保护文件系统免受出现问题时填满的风险。通常的例子包括巨大的日志文件或脚本杂乱地写入磁盘。这在多用户系统和服务器上显然更为重要。 - belacqua
@htorque,你确定Ubuntu的安装程序提供了那个选项吗?太棒了!当我升级到Natty时,我有点担心该怎么办... Ubuntu真是太棒了! - nik90
@Nik:看一下这个维基页面吧,上面的信息可能有些过时,不一定完全反映当前的情况。 - htorque
2刚在虚拟机中测试过了,还是能这样工作。启动安装程序,选择手动分区,在旧的/上使用新的/,不要格式化它——/home等都会保留(安装后我还有我的面板设置、桌面上的自定义启动器和个性化壁纸)。 - htorque
一般来说,除非您同时运行多个Linux发行版,否则不需要单独创建/home或/boot分区。 - Sid
我总是使用单独的/home分区。制作一个分区几乎不需要任何努力,因为在安装过程中你会通过这一步骤。如果在任何时候出现问题(升级、配置错误等),有了/home分区,你可以进行完全重新安装而不会触及所有的配置文件、图片、文档。可能的好处远远超过制作它所需的额外一分钟。 - matt davis
不拥有/home目录是一个糟糕的主意,因为这会导致操作系统数据损坏。最常见的情况就是最糟糕的情况。不知道如何恢复损坏的系统意味着用户是个新手,应该额外小心地保护他们的数据,使用一个单独的home目录。这是误导性和危险的。建议进行更新。 - Fahad Hasan Pathik
@FahadHasanPathik 没必要使用“误导和危险”这样强烈的措辞。请参考:http://askubuntu.com/questions/247/whats-your-recommendation-on-drive-partitioning-schemes-for-a-desktop-and-home-s/3603#3603。无论如何,这是一个社区维基页面。如果你有异议,可以进行编辑。 - RolandiXor

我一直都有一个独立的/home分区、根(/)分区和交换分区。这意味着当我升级时,我可以对新的操作系统进行干净安装,而不会对旧的操作系统造成任何风险。我只需在新的操作系统中挂载home分区。同时,这也意味着如果我回到旧的操作系统,新的操作系统中创建的文件仍然存在。
我为根分区使用了不同的大小。在一台机器上,我有常规的Ubuntu和Ubuntu Studio,它们分别安装在10GB的分区中。常规的Ubuntu已经使用了6.04Gib,而Studio已经使用了3.08Gib。
如果需要更多空间,你总是可以随时更改分区大小。只需从Live CD启动,并使用GParted来更改分区。
至于交换分区,两倍的RAM或1.5倍的RAM是一个好的规则。这样你就可以进行休眠操作。但如果你发现需要更多或更少的交换分区,你可以随后重新分区。

对于/(根)分区,我使用了10G(很少超过8GB)。 对于交换空间,我有3GB的内存,所以设置了4GB的交换空间。虽然不是推荐的“内存的两倍”,但休眠功能仍然可用,尽管我很少使用它。 对于/home,我使用硬盘的剩余空间。

如今,普遍的共识是只使用一个根分区(包括/home)和一个交换空间。但我仍然保留了一个单独的home分区:我认为与系统驱动器稍微分开一点很好,这意味着如果我将来需要增加/home,可以更容易地实现。

顺便说一下,我的Ubuntu安装使用了10GB的根分区,现在显示根分区已经占用85%,无法进行升级。


如果您没有特殊需求的话,我认为您可以将根目录和主目录保留在同一个分区中。
交换分区的大小取决于您的笔记本电脑有多少内存。如果您有4GB的内存,2GB的交换分区应该足够了。然后您可以将58GB用于系统分区,2GB用于交换分区。

1如果您的交换空间小于内存,您将无法挂起到RAM。 - htorque
我在考虑安全问题,如果我搞砸了什么东西。所以,我只是清除了根分区,而不是整个Ubuntu系统。 - starcorn
12Gb听起来对于交换空间来说很大,但如果你想要休眠(不是挂起,那不使用交换空间),你的交换空间最好和你的内存一样大,再稍微多一点。拥有4Gb的内存并且想要休眠意味着至少需要4100Mb的交换空间,以确保安全。 - Scaine

分区:硬盘可以被数字化地分成多个部分。这些部分被称为分区/驱动器。
挂载点:简单来说,它是分区分配的标志/名称/类型。
文件系统类型:分区的类型。在Linux中,主要使用的是ExtX(X=1,2,3,4)和NTFS。
主分区:一个硬盘最多可以有4个主分区。一个主分区可以包含一个或多个逻辑分区。
逻辑分区:主分区下的虚拟分区。
SDA:存储介质,如硬盘或其他介质。如果您有更多的驱动器,则会命名为SDA、SDB、SDC等。
引导加载程序安装设备:----
引导加载程序:正如我们所知,引导加载程序是一个程序,它加载在介质上,在进行P.O.S.T.之后由B.I.O.S.运行。引导加载程序进一步加载操作系统或者在介质中安装了多个操作系统时提供菜单。
选择设备:当您有一个先前安装的操作系统时,这意味着它有自己的引导程序。它安装在硬盘驱动器的主引导记录(MBR)中。现在,当您安装Linux时,它会询问您要将G.R.U.B.(Grand Unified Boot Loader)或Linux引导程序安装在哪里。它提供了选项,可以将其安装到MBR中,这将覆盖现有的引导程序,或者将其安装到任何分区中,这将在现有的引导程序中添加此Linux入口点。现在轮到您做出选择了。
你需要至少'3'个分区才能安装任何Linux发行版。
只需100GB的驱动器/分区即可适当地安装Linux。
分区1:根(/):用于Linux核心文件:20GB(最低15GB)。
分区2:主目录(/home):用户数据驱动器:70GB(最低30GB)。
分区3:交换区:充当额外的内存空间:2倍的内存大小。
注意:当内存已满时,交换空间会像额外的内存一样工作。

2"你需要至少 '3' 个分区才能安装任何 Linux 发行版" 这种说法是错误的。 - Pilot6
1安装Linux发行版并不一定需要至少3个分区。这只是你的特定观点,可能并不适合原帖的需求。 - Hans
如果我有16 GB的RAM,但只有40 GB来安装Ubuntu,那该怎么办呢?我是不是可以假设我不需要交换空间,还是怎样? - Maximo Dominguez

/boot - 200m 主分区。
/ - 20-25g。
/home - 30g 或更高,用于虚拟机磁盘文件。
swap - 内存的两倍。
如果你经常安装新的发行版,我建议为特殊程序或其配置单独分配一个空的 ext4 分区,比如虚拟机磁盘文件、你的项目等。因为某些发行版的安装程序可能不稳定,会导致你的主目录数据被破坏。这是我的不好的经历。

如果你只处理60GB的数据,就不必费心分区,直接使用一个大分区就可以了。对于交换空间,你也不需要使用分区,可以使用交换文件,这样可以根据你的使用模式来调整大小或者删除它。

我经常发现自己在用完/home空间(稍后清理)或者尝试并失败地调整分区大小时,将我的数据放入系统文件夹中。所以我得出了一个结论,除非我有一个很大的硬盘,否则我应该为整个文件系统使用一个公共分区。

分区布局会根据使用情况而有所不同,工作站和服务器的需求是不一样的。 交换空间,在现今的Unix/Linux系统中,内存管理更加出色,除非内存用尽,否则不会使用交换空间。我们不希望发生内存用尽的情况,因此要增加内存而不是交换空间。 如果工作站使用休眠功能,那么需要将交换空间设置为大于内存的1.5倍,这是一个好的规则,可以更高一些,但真正想要足够的内存而不是交换空间。除非系统无法提供足够的内存,否则可以增加交换空间以防止崩溃。 对于服务器来说,最好将内存扩展到最大,并且不使用任何交换空间,因为服务器不需要休眠功能,所以交换空间很少或者没有。由于服务器上的内存非常大,设置1.5倍或更多的交换空间并不实际,最多只需要几个G的交换空间,以防万一内存使用达到峰值。良好的系统规划、监控和超过所需的内存来运行所需的应用程序,避免使用交换空间,因为交换空间性能较差,最好是将内存扩展到最大并减少或不使用交换空间。

交换空间 - 非常重要,即使你有大量的内存。

原因:在缓存机制中,经过RAM计算后的数据将保存在交换空间中,以限制对RAM的过多缓存(作为计算的首选存储位置)。

特别是在使用Oracle的系统中,总是需要一个较大的交换空间。

参考:

RAM <= 16GB --> 交换空间 = (1或2) x RAM

RAM > 16GB --> 交换空间 = 16GB


这是一个"老掉牙的消息"的例子...自从几个版本前,Ubuntu开始使用swapfile而不是交换分区,并且最大空间由安装程序自动设置。在一些罕见情况下,我们需要增加它。否则,对于任何打算休眠的人(无论如何都不推荐),默认设置的2GB swapfile足够了。 - ChanganAuto