16. 附录:关于分区的更多信息

在收到几个关于分区到底是什么的问题后,我将直接引用我曾经在一封邮件中给出的答案。

好的,开始了

在操作系统中,您需要几个不同的文件系统来用于几个不同的应用程序。例如,您需要一个交换文件系统,因为您的主内存无法容纳操作系统需要的所有信息,因此其中一些信息必须临时写入磁盘。您可能还需要一些特殊的文件系统,机器在开机时从中读取操作系统。最后,您当然需要一个或多个文件系统来存储操作系统程序文件和您的用户文件。最好将这些文件放在不同的位置(即在不同的文件系统上),以防您必须重新安装操作系统,但又不想擦除您的所有工作。

最好的方法可能是将所有这些文件系统放在不同的磁盘上。但是,一台计算机通常只有一个或两个磁盘。因此,我们所做的是将磁盘(们)切分成几个切片(分区),并将这些切片用于几个文件系统。然后,操作系统将这些文件系统挂载在一起,形成一个单一的文件树,这样就可以轻松访问这些文件。

(其他操作系统,如 MS-DOS 和 NT 使用其他一些技术:它们不将切片绑定到一个文件树,而是将它们作为“站”分开保存。哪种方案最好?您自己判断!)

这是一个关于 7248 上一个 2GB 磁盘的思考示例:挂载点显示文件系统挂载在文件树中的哪个位置。

    Partition   Size   Type             Mountpoint          Bootable
    ----------------------------------------------------------------
    /dev/sda1     10MB  41 (PReP Boot)     (Not mounted)    yes
    /dev/sda2    150MB  82 (Linux Swap)    (Not mounted)     -
    /dev/sda3   1840MB  83 (Linux ext2)  / (Root partition)  -
    
这将给出如下的启动提示命令
    root=/dev/sda3
    

如果需要,您可以为重要的目录添加自己的分区,例如 /home、/boot、/var、/usr/local 等。这是另一个示例,包含两个磁盘,实际上是我自己使用两个磁盘的配置
      Partition   Size   Type             Mountpoint          Bootable
      ----------------------------------------------------------------
      /dev/sda1     20MB  43 (PReP Boot)     (Not mounted)    yes
      /dev/sda2    133MB  82 (Linux Swap)    (Not mounted)     -
      /dev/sda5    930MB  83 (Linux ext2)  / (Root partition)  -
      /dev/sdb1    315MB  83 (Linux ext2)  /home               -
      /dev/sdb2    770MB  83 (Linux ext2)  /usr/local          -
      
这将给出如下的启动提示命令
      root=/dev/sda5
      
在您提问之前

希望这能澄清一些事情。