Ubuntu Linux 系统的分区方案

简介:

一、Linux 分区概念

首先介绍一下linux中的分区概念,这个可是把一开始学习的我害苦了。在 Linux 中规定,每一个硬盘设备最多能有 4 个主分区(其中包含扩展分区)构成,任何一个扩展分区都要占用一个主分区号码,也就是在一个硬盘中,主分区和扩展分区一共最多是 4 个。对于早期的 DOS 和 Windows(Windows 2000 以前的版本),系统只承认一个主分区,可以通过在扩展分区上增加逻辑盘符(逻辑分区)的方法,进一步地细化分区。

主分区的作用就是计算机用来进行启动操作系统的,因此每一个操作系统的启动,或者称作是引导程序,都应该存放在主分区上。这就是主分区和扩展分区及逻辑分区 的最大区别。我们在指定安装引导 Linux 的 bootloader 的时候,都要指定在主分区上,就是最好的例证。

Linux规定了主分区(或者扩展分区)占用 1 至 16 号码中的前 4 个号码。以第一个 IDE 硬盘为例说明,主分区(或者扩展分区)占用了 hda1、hda2、hda3、hda4,而逻辑分区占用了 hda5 到 hda16 等 12 个号码。因此,Linux 下面每一个硬盘总共最多有 16 个分区。

对于逻辑分区,Linux 规定它们必须建立在扩展分区上(在 DOS 和 Windows 系统上也是如此规定),而不是主分区上。因此,我们可以看到扩展分区能够提供更加灵活的分区模式,但不能用来作为操作系统的引导。

以前对这些概念不熟,分区上走了很多弯路。那么,到底什么样是一个好的分区方案,我认为见仁见智,我是这样分的。原则上 / 和 /home 基本上最好是要单独挂载两个分区,因为/home可以看成是windows中的my document,自己个人资料多的话 /home要大一些。/ 小一点无所谓,据说至少2G,我也没有试验过。其他的诸如/tmp/var由于活动文件特别 多,为了避免他们的文件碎片对其他区的影响,最好他们挂一个区。最后/opt主要安装大型软件,如果有多余的分区就给他挂一个吧。

二、开始分区

ok, 我就这样看,首先分一个100M的主分区出来,挂载boot.grub启动时需要的文件都在/boot目录。这样就算工作分区出了问题,只要这个分区没有问题,同样可以启动。因此最好的办法就是专门为根文件分一个区,大小一般最多64M,我为了保险给了 100M。

之后的分区全部以扩展分区形式存在,扩展分区下很多逻辑分区。

首先创建一个交换分区,大小是物理内存的一倍到两倍大。如果你的内存和我一样是1G,就划1G好了。事实上基本用不到这么大。分区格式记着改成linux-swap

然后创建一个尽量大的分区,给/usr,因为这里存放有大部分的系统软件,包括X Server等图形界面程序。我分了20G。

接下来创建/home的挂载分区。考虑到我的工作文档比较多,源代码和程序也经常放到这里,所以给了10G。

其他的诸如/tmp/var等来说,单用户工作机是不用考虑的。当然不知道我的机器以后会不会有服务器应用,我还是给var分了2G的空间。

其他空间就全部挂载给/。虽然一般2G就够了,但是多多益善么。

注意:很多时候,如果你使用了ubuntu光盘自带的安装工具分区,会出现很多问题。如果遇到问题过不去,推荐两个办法:

1、在live CD的环境中,在终端下直接用

 
 
  1. sudo fdisk /dev/xxx
AI 代码解读

来分区,然后w保存后reboot,之后再进安装工具,不用修改直接下一步即可。

2、你也可以同样用livecd的fdisk分好区后,用光盘上的livecd installer程序,在命令行下安装。不过这个安装程序只需要你挂载 / 和swap。那么其他分区怎么办呢?可以先分好,也可以安装完系统再分。如果将其他分区挂载到希望的目录下?举个例子。如果你想把/home/user挂载到新的sda8分区下,可以这样做:

  • 首先,将 /dev/sda8 mount 到 /mnt/sda8中。如果没有这个目录就自己 mkdir。
  • 然后,cp -R /home/user/* /mnt/sda8/user ,和cp -R /home/user/.* /mnt/sda8/user
  • 最后修改/etc/fstab,增加一行/dev/sda8 /home ext3 defaults 0 2(参数自己确定)即可

 原文发布时间为:2011-03-20

本文来自云栖社区合作伙伴“Linux中国”
相关文章
|
16天前
|
在Ubuntu系统中为apt的apache2编译PHP 7.1的方法
以上就是在Ubuntu系统中为apt的apache2编译PHP 7.1的方法。希望这个指南能帮助你成功编译PHP 7.1,并在你的Apache服务器上运行PHP应用。
64 28
Linux系统中的cd命令:目录切换技巧
踏过千山,越过万水,人生就是一场不断前行的旅程,总充满了未知与挑战。然而,“cd”命令如同你的旅伴,会带你穿梭在如棋盘一般的文件系统中,探索每一处未知。希望你能从“cd”命令中找到乐趣,像是掌控了一种络新妙的魔法,去向未知进发,开始你的探索之旅。
99 24
|
13天前
|
Linux系统下快速批量创建和删除文件的方法
总的来说,使用shell脚本来批量处理文件是一种非常强大的工具,只要你愿意花时间学习和实践,你会发现它能大大提高你的工作效率。
66 19
在Ubuntu Linux系统下如何搭建并安装EDK2
以上就是在Ubuntu Linux系统下搭建并安装EDK2的过程。这个过程可能会有些复杂,但只要按照步骤一步步来,应该不会有太大问题。如果在过程中遇到任何问题,都可以在网上找到相应的解决方案。希望这个指南能对你有所帮助!
76 17
在Ubuntu系统下使用vsftpd配置FTP服务器的步骤
以上就是在Ubuntu系统下使用vsftpd配置FTP服务器的步骤。这些步骤都是基础的,但足够让你建立一个简单的FTP服务器。如果你需要更高级的功能,例如SSL加密、虚拟用户等,你可能需要进一步研究vsftpd的配置选项。
69 13
|
17天前
|
在Ubuntu 22.04系统中如何将Cgroup v2切换为v1
需要注意的是,虽然Cgroup v1和v2在功能上有一些差异,但大多数用户可能并不需要关心这些差异。除非你有特殊的需求,或者你的应用程序需要使用Cgroup v1的特定功能,否则你可能并不需要切换Cgroup版本。在大多数情况下,使用系统默认的Cgroup版本就可以满足需求。
65 10
|
12月前
|
【Shell 命令集合 磁盘维护 】Linux 在特定的分区上建立 linux 文件系统 mkfs命令使用教程
【Shell 命令集合 磁盘维护 】Linux 在特定的分区上建立 linux 文件系统 mkfs命令使用教程
163 0
在Linux中,如何创建一个新的分区并格式化为EXT4文件系统?
在Linux中,如何创建一个新的分区并格式化为EXT4文件系统?
使用growpart工具完成Linux系统盘分区扩容及文件系统扩展的配置案例
使用growpart工具完成Linux系统盘分区扩容及文件系统扩展的配置案例
1228 1
使用growpart工具完成Linux系统盘分区扩容及文件系统扩展的配置案例
关于嵌入式Linux系统flash分区设计及文件系统格式选择的一些浅见
嵌入式系统应用程序升级是比较频繁的,对于flash的合理划分与文件系统选型就显得尤为关键。
416 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等