第 1 部分: 基本原理

使用 GParted 调整传统分区

简介: Linux® 系统经常安装在多个分区上,每个分区有一个固定的大小。如果您的需求发生变化,那么就需要经常调整分区大小来适应您的需求变化。在 Linux 中有一些工具可以处理这类操作,但是也有一些潜在的陷阱和限制,使任务执行比看上去更为困难。这篇文章将引导您完成调整 Linux 分区大小的任务,从基本准备开始,使用图形化用户界面(GUI)工具移动到普通可调整大小的场景中。

如果您使用的是普通分区设备,那么很可能您的磁盘使用几个分区。如果您没有正确的设置分区大小或者您的需求发生了变化,您将发现需要重新设置分区大小。要做到这一点,您必须很清楚自己调整分区大小的需求,而且要熟悉完成这一任务的工具。很多情况下,调整操作一般都很顺利,然而,许多障碍都是粗心大意引起的,甚至对那些已经做了充分准备的人也不能避免。

本文首先介绍调整工具的一些潜在功能和限制,以及在开始调整操作之间要进行的一些准备工作。然后介绍了 GParted 分区大小调整工具(也可称为 Gnome Partition Editor)。

注:为了简便起见,我用调整(resizing)一词涉及几种操作,包括增加分区大小,减少分区大小和移动分区。有时候,只有一个操作是可行的,而其他的不可行。有时候这些操作本身比其他操作风险更大,这些差别很重要,我注意到了这个事实。

分区调整基础工作

在您启动一个分区工具时,您应该清楚这些程序可以做什么、适合在何时使用。您也应该记录当前的配置并进行数据备份。

何时调整分区大小?

我们来回顾一下分区和文件系统之间的区别。分区 是由磁盘上相邻扇区组成的容器,分区是由简单数据结构定义的。文件系统,从另一方面说,是驻留在分区之内 的数据结构。文件系统支持计算机定位单独的文件,它们比分区更为复杂。实际上,调整一个分区大小通常也需要调整它包含的文件系统。为了简单起见,我所用的 “调整分区” 就是指 “调整分区以及其中包含的文件系统”。

分区调整从本质上说至少有点风险。分区调整软件必须改变低级别分区和文件系统数据结构,可能需要移动大量数据。磁盘上的不可靠数据、电源故障、以及系统崩溃的等问题可能会导致调整过程发生灾难性故障。由于这些原因,您不应轻易进行分区调整操作,而且,只要有可能您就应该备份数据,详见 “准备一个备份。”

一般情况下,我不建议调整分区,除非现在的设置存在问题或者不久将出现问题。这就是说,您考虑调整分区的前提是,一个或多个分区必须是快满了,或者说您确定不久将会添加很多数据,可能会导致溢出。

您也必须谨记调整限制。例如,您不能缩小某个文件系统,以及您需要在新的布局中周密计划主分区与逻辑分区的配置。有时候诸如此类的问题可能会成为您调整计划的障碍,强迫您采取另一种方案,具体见本系列的第 2 部分。

获取当前分区使用的数据

在您的分区调整操作的计划中,第一步是获取关于磁盘目前的设计方式以及哪个分区空间不足的信息。获取这类信息一个比较方便的方式是使用 GParted,GParted 有一个友好的 GUI 显示,如图 1 所示,显示了分区之间的相对位置以及每个分区占用的空间大小。然而,GParted 并不总是呈现完整的信息。因此您需要使用文本模式 df、fdisk 或者其他实用工具来补充显示。


图 1. GParted 显示磁盘使用的概要信息
GParted 显示磁盘使用的概要信息

图 1 显示的系统,其中含有一个受限的 /usr 分区(/dev/sdb5)并在 /home(/dev/sdb7)中有大量剩余空间,如果您想要向计算机中添加更多的软件,这就会引起麻烦。对于这个给定的分区布局,您可以减少 /home 的大小、增加 /usr 的大小。(注意图 1 是从一个紧急引导磁盘获取的,因此 Mount Point 列不能反映正在运行的系统挂载点。)

特定于文件系统的功能

Linux 支持几个本地文件系统,而且双重引导系统通常和其他系统共享磁盘。一般情况下,就使用方面 ext2fs、ext3fs、ex4fs、ReiserFS 和 Btrfs 是最灵活的,这些文件系统都可以增长、缩小或移动,大多数是可以通过 GParted 实现的。可惜的是,XFS 和 JFS 是不能缩小的,但是可以增长和移动。

在普通的非 Linux 文件系统中,FAT 和 NTFS 可以增长、缩小和移动。用在 Macintoshes 上的 HFS 和 HFS+ 通常可以缩小和移动,但是不能增长,OS X 的 Disk Utility 有时候可以使 HFS+ 增长分区。

在 GParted 中,您可以选择 View > File System Support 来获取文件系统表格和 GParted 支持的操作。如果您要在您的 Linux 系统中尝试这一操作,那么您应该意识到各种版本支持的是不同的。如果您使用一个紧急引导磁盘,比起常规安装它可能支持不同的选项,稍后将介绍。

计划一个新的分区布局

有了当前的分区数据,以及您可以使用手边现有的文件系统进行何种操作的信息之后,您就可以开始计划您的新布局了。您应该考虑以下几个重要因素:

  • 速度和安全性 — 改变一个分区的起点通常比改变终点更慢且更冒险,因为移动起点必须要重写分区中的许多数据,对分区来说使用较多的数据比起使用较少数据影响更大。
  • 非 Linux 文件系统 — 尽管 GParted 及其文本模式 “远亲” GNU Parted 可以调整 NTFS、FAT、HFS 和 HFS+ 文件系统大小,在处理时您也要考虑使用本地操作系统工具而不是 Linux 工具。这对于双重引导系统上的 Microsoft® Windows® 引导分区尤其如此,因为改变一个 Windows 引导分区的起点有可能导致 Windows 无法引导。
  • 主分区 vs. 逻辑分区 — 用于大多数 Linux 机器上的 Master Boot Record (MBR) 分区系统仅支持 4 个 分区,其中一个是可扩展的,可以包含任何数量的逻辑 分区。有些操作系统,比如 Windows,必须从主分区引导。您的所有逻辑分区必须驻留在一个可扩展的分区中,因此必须是连续的。如果您的系统使用一个全局唯一标识符(GUID)分区表(Partition Table,GPT),而不是使用旧的 MBR 系统,这些限制将无实际意义,因为 GPT 仅支持一个分区类型。
  • 设备 ID — 注意设备 ID,例如您的 Linux 分区使用的 /dev/sda3。如果这些 ID 发生变化,您可能需要改变您的 /etc/fstab 文件或您的引导装载程序配置(一般是 /boot/grub/menu.lst、/boot/grub/grub.conf、或者 /boot/grub/grub.cfg ),许多现代版本在这些文件中使用 Universally Unique Identifier (UUID) 而不是设备标识符。如果新的分区布局不改变任何关键设备 ID,这也没有必要的。注意主分区是从 1 到 4 进行编号的,编号系统可能有间隙,但是逻辑分区是从 5 开始编号的,不存在间隙。因此,如果您添加一个主分区,分区编号也有可能不会改变,但是如果您要添加一个逻辑分区,您所有的其他逻辑分区变化都会改变。

准备一个备份

一旦您准备进行修改,您可能想要立即实现;然而,由于重新分区会卷入危险,只要可以实现,您就应该备份关键数据,如果备份不能实现,建议您最好购买一个硬盘进行备份。即使不考虑分区调整引入的危险,有时候硬盘故障,软件问题都会导致文件系统不可用。因此,最好进行备份。

备份到任何一种存储介质,这是最方便的。您可以使用 tar 来创建一个系统备份,该文件系统将压缩到一个可记录的 DVD 上,然而,现在大多数系统的用户数据非常庞大,一个 DVD 不能存下。因此,您需要依靠其他存储介质来备份您的数据,比如,一个外部硬盘。

即使不能完全备份,您也应该备份 /etc 目录下的内容。该目录下含有关键系统配置,因此,如果您需要重新安装操作系统,保留它的副本可以加快恢复过程。


使用 GParted 调整分区

在 Linux 中调整分区最简单的方法是使用 GUI GParted 程序。尽管您可以从您的常规 Linux 安装下运行 GParted ,但是它拒绝在任何当前挂载的分区上进行操作。因此,您不能调整根目录(/)或者其他对操作系统功能来说至关重要的分区。在这我将介绍如何使用一个 Linux 紧急引导磁盘实现您的更改。该磁盘被引导之后,您可以运行 GParted ,就像您从一个常规系统运行那样,使用即指即点操作来告知软件您想进行什么操作。

运行一个紧急磁盘

现在有许多 Linux 紧急磁盘(emergency discs),比如 PartedMagic 和 SystemRescueCd(见 参考资料)。您也可以使用您的 Linux 安装介质,许多版本都包括一个救援模式(rescue mode),支持访问 GParted 或者类似的实用工具。为了说明问题,我将介绍 PartedMagic 4.11 的使用;然而,笼统地说其他使用工具也是类似的。但是,需要以不同的方式启动 GParted。

多数紧急磁盘是以 x86(32 位)的形式出现的,但是这些磁盘在 x86-64(64 位)计算机中也能很好地工作,甚至系统运行 64 位版本的 Linux 也可以。文件系统数据结构不受中央处理器(CPU)架构的影响。如果您要在其他的机器上运行,除了标准个人电脑(PC),比如 Macintosh,您需要检查您的紧急磁盘能否同您的硬件一起工作。

一般情况下,您必须引导一个紧急磁盘,就像您引导一个 Linux 安装磁盘那样。在一些系统上,插入磁盘然后重新引导计算机执行该任务。在有些系统上,您必须按一个功能键来选择引导设备,或者调整一个基本输入/输出系统(BIOS)选项来从光驱引导,而不从硬盘引导。关于如何执行该操作的具体细节是根据系统而定的,您需要查阅手册页获取详细信息。

当您引导 PartedMagic 时,出现一个引导菜单。选择 Default settings (ns from RAM) 引导到标准系统。系统引导时,您可以看到出现一个桌面,其中含有常用工具的图标,包括一个启动 GParted 的 Partition Editor。双击这个图标开始调整您的分区大小。

告知 GParted 关于您的更改

要调整一个分区,右键单击它,然后从下拉菜单选择 Resize/Move。结果是出现如图 2 所示的对话框。您可以使用图形滑块或者文本输入域调整分区大小和位置。


图 2. GParted 提供一个即指即点界面来调整分区大小
GParted 提供一个即指即点界面来调整分区大小

图 2 显示了调整 图 1 的 /dev/sdb7 的大小。将其开始点向右移动为 /dev/sdb5 的扩展腾出空间。为了完成图 1 中的分区的大小调整,您也要在调整 /dev/sdb5 大小之前将交换分区(/dev/sdb6)向右移动。另一种情况是,您可以删除和重新创建交换分区;然而,这可能需要修改 UUID 引用来交换 /etc/fstab 中的空间,当交换空间被移动后,您可以扩展 /dev/sdb5。

注意图 2 中的 Align to 字段。这是 GParted 最近版本中的一个新特性,它能够让您将分区对齐柱面边界,或者对齐 mebibyte (MiB) 边界,或者两者都不对齐。旧磁盘通常被分区来根据柱面边界对齐,但是 MiB 对齐通常是用于 Windows Vista 或者更新版本的磁盘分区。Linux 支持这两种对齐模式。如果您的系统双重引导的 Windows XP ,柱面对齐是必须的 。如果您的系统是双重引导的 Windows Vista 或者更新版本,或者如果您的系统使用一个新的 4096 字节扇区,MiB 对齐是必须的。

如果您想要从逻辑分区腾出空间给主分区,您必须显式地调整围绕逻辑分区的扩展分区,反之一样。您可以像调整其他任何分区那样做;然而您将发现点击其列表条目比起点击上述分区列表的图表中的条目更为容易。

GParted 不允许您调整正在使用的分区。比如在分区的条目旁边有一个锁形图标。您可以右键单击分区并选择 Unmount 卸载它。注意如果扩展分区其中包含的任何一个分区(包括交换空间)正在使用,那么它是以这种方式锁定的。

在 GParted 中实现您的更改

在您向 GParted 通知您的更改之后,您必须通过选择 Edit > Apply All Operations 菜单项或者单击 Apply 图标实现它。结果是出现一个进度对话框,概述程序正在执行的一切。如果您决定撤销操作,可以使用 GParted 的 undo 功能或者不应用您的更改直接从程序退出,那么您的磁盘将未有任何变化。

分区调整操作需要花费一定时间来完成,从一秒钟到几个小时不等,取决于改变的本质和移动数据的多少。无论在何种情况下您都不能中断正在运行的操作!如果这样做将会破坏文件系统,导致数据无法恢复。

修改磁盘参考资料

如果您想要添加或删除分区,您可能需要修改您的 /etc/fstab 文件或者您的引导加载程序配置,如上所述。要这样做,您必须挂载您的根(/)分区并编辑该文件。在 图 1 中,根分区是 /dev/sdb1,GParted 可以在 /media/sdb1 上挂载它,因此您应该编辑 /media/sdb1/etc/fstab。如果系统使用一个独立的 /boot 分区,您可能需要单独挂载它,在根分区的 grub/menu.lst、grub/boot.conf 或 grub/boot.cfg 文件中编辑根加载程序配置。

检查这些文件,然后将旧分区号替换成新的。如果您需要一些修改,在保存新配置之前先备份旧配置。


向前移动

此时,您可能需要重新引导您的系统。在 PartedMagic 中,单击屏幕左下方的图标并选择 Logout,这向您提供包括重新引导在内的一些选项。如果您还没有移除紧急磁盘,务必确保移除它。运气好的话,您的计算机应该重新引导到常规 Linux 操作系统,但是您将发现您的磁盘空间已经改变了。

这篇文章介绍了基本的分区调整操作,本系列的第 2 部分将介绍更高级的操作以及其他选择,包括调整 Logical Volume Management (LVM)、故障排除,以及调整操作不充足时您需要考虑的其他操作。


参考资料

学习

第 2 部: 高级分区调整

LVM、故障排除和供选方案

简介: Linux® 系统经常安装在多个分区上,每个分区有一个固定的大小。如果您的需求发生变化,那么就需要经常调整分区大小来适应您的需求变化。在 Linux 中有一些工具可以处理这样的操作,但是也有一些潜在的陷阱和限制,使任务执行比看上去更为困难。这篇文章涵盖了高级分区调整问题,包括使用 Logical Volume Management (LVM) 特性、故障排除和进行分区调整的可选方案。本系列的第 1 部分介绍了分区调整的基本原理。

简单的分区调整操作(比如本系列第 1 部分描述的)通常都能顺利完成。但是,有时候您需要做一些不同的事情或者排除故障,本文涵盖了其中的一些情况。本文第一部分介绍 LVM 配置及其如何与分区调整相互作用。第二部分介绍故障排除技术。要详尽地描述调整分区时可能出现的所有问题,足够写本书了,但是几个基本的原则可以帮助您解决常见问题。最后,本文介绍了几个调整分区的备选方案,如果您遇到的问题无法逾越时,可以使用。

调整 LVM 大小

LVM 是一个磁盘分配技术,补充或替换传统分区。在 LVM 配置中,一个或多个分区,或者甚至是整个磁盘,被分配为卷组 中的物理卷,卷组转而分成逻辑卷。然后在逻辑卷上创建文件系统,这就像传统配置中的分区。这种磁盘分配方法复杂性增加了,但好处是比较灵活。一个 LVM 配置使得将几个小磁盘的磁盘空间合并成一个大的逻辑磁盘成为可能。对于分区调整来说,更重要的是逻辑磁盘可以被创建、删除和重新分配大小,就像文件系统中的文件那样;您不需要考虑分区起始点,只需要考虑它们的绝对大小。

注意:本文中我不想介绍如何建立一个 LVM。如果您还没有使用一个 LVM 配置,您可以将您的系统转换为使用它的系统,但您可以参考其他文档,比如 Linux LVM HOWTO(参见 参考资料)学习怎样做。

调整物理卷大小

如过您已经调整了非 LVM 分区,如本系列第 1 部分所述,而现在想要向您的 LVM 配置添加空间,您有两个选择:

  • 您可以在空白空间中创建一个新分区,然后将这个新分区添加到您的 LVM。
  • 如果有一个 LVM 分区与新空间相邻,您可以调整这个现有分区的大小。

不幸的是,GParted(也称为 Gnome Partition Editor)工具,如本系列第 1 部分所述,不支持调整 LVM 分区大小。因此向您的卷组添加空间最简单的方法是在剩余空间中创建一个新分区,并将其作为一个新物理卷添加到现有的卷组中。

尽管 GParted 不能直接创建一个 LVM 分区,但您可以使用以下工具来进行创建:

  • parted(文本模式 GNU Parted)
  • fdisk 用于 Master Boot Record (MBR) 磁盘
  • gdisk 用于全局唯一标识符(GUID)Partition Table (GPT) 磁盘

如果您使用 parted,那么您可以使用 set 命令来打开 lvm 标记,正如在 set 1 lvm on 中标记分区 1 作为一个 LVM 分区。如果使用 fdisk,您可以使用 t 命令来将分区类型代码设置为 8e。在 gdisk 中您可以同样这样做,除非 LVM 分区的类型为 8e00。

无论是那种情况,您都必须使用 pvcreate 命令来在分区上设置基本 LVM 数据结构,然后使用 vgextend 代码将分区添加到卷组。例如,要将 /dev/sda1 添加到现有的 MyGroup 卷组,输入以下命令:

pvcreate /dev/sda1 vgextend MyGroup /dev/sda1

完成这些修改之后,您就可以在您的卷组中扩展逻辑卷了,正如之前描述的。

调整逻辑卷大小

对于文件系统,调整逻辑卷大小比调整分区大小要简单一些,因为 LVM 以分区的形式避免了预留相邻编号扇区集合。调整逻辑卷本身可以通过 lvresize 方法完成。该命令带有一些选项(详情参见其 手册 页),最重要的是 -L,它需要一个新的大小,或者在原大小上进行修改,修改可以通过首位的加号(+)或者减号(-)表示。您必须提供到逻辑卷的路径。例如,假设您想要在 MyGroup 组中将 usr 逻辑卷的大小增加 5 gibibytes(GIB)。您应该进行如下操作:

lvresize -L +5G /dev/mapper/MyGroup-usr

该命令调整了特定逻辑卷的大小。记住,这种改变就像对单独一个分区进行的。也就是说,包含在逻辑分区中的文件系统的大小不会改变。为了调整文件系统,您必须使用一个特定文件系统工具。比如 resize2fsresizereiserfsxfs_growfs 或者挂载 Journaled File System (JFS) 时的 resize 挂载选项。如果不使用大小选项,所有这些工具将调整文件系统来填满逻辑卷大小,在增加一个逻辑卷时这是很方便的。

如果您想要缩小一个逻辑卷,任务就有点复杂。首先您必须调整文件系统大小(使用 resize2fs 或者类似工具),然后缩小逻辑卷来匹配新的大小。如果您故意将逻辑卷的大小设置的太小,那么就有潜在的破坏错误,因此,我建议您,首先缩小文件系统,使其比您的目标大小小很多,接着将逻辑卷调整到合适的大小,然后调整文件系统大小,最后再增加逻辑卷大小,依赖于自动调整特性来使文件系统正好填满新逻辑卷。

同时也要记住,尽管您可以缩小大多数本地 linux 文件系统,但您不能缩小 XFS 或 JFS。如果您需要缩小一个含有此类文件系统的逻辑卷,您可能必须创建一个新的、更小的逻辑卷,将第一个卷中的内容复制到新卷中,颠倒挂载点,然后删除原始卷。如果您缺少足够的可用空间来进行这一操作,您可能会被迫使用一个备份作为中转。

使用 GUI LVM 工具

尽管之前介绍的文本模式工具可以完成这项工作,但是它们是令人生畏的。如果您喜欢使用图形化用户界面(GUI)工具,至少有两个可用于 LVM 操作:

  • kvpm — 这是一个集成了 K Desktop Environment (KDE) 的工具,支持访问常见 LVM 操作,包括逻辑卷调整选项。
  • system-config-lvm — 这个程序源自于 Red Hat,但是也可用于其他版本。它类似于 kvmp,它支持使用点选式访问方法来访问 LVM 管理,包括调整大小操作。

二者之中,system-config-lvm 提供一个更为简单友好的用户界面;而它们都可以完成工作。图 1 展示了运转中的 system-config-lvm。要调整逻辑卷,需要在左面板单击其名字,然后单击中间面板的 Edit Properties 按钮。然后您可以使用一个滑块来调整卷大小。


图 1. GUI 工具调整逻辑卷大小相对较为容易
GUI 工具调整逻辑卷大小相对较为容易


排除故障

不幸的是,分区大小调整操作有时候并不能像预期的那样运行。最常见的是,调整软件报告的错误,通常是一条加密的消息。尽管此类问题有许多原因,但是您可以通过应用一个简单工作区来战胜这些困难,比如修复文件系统问题、将一个复杂的调整操作分成几个小块。

修复文件系统问题

调整失败一个常见的原因是文件系统被损坏。所有生产文件系统包括文件系统恢复工具,使您可以修复此类问题。因此在调整之前就在文件系统上运行这些工具,通常调整操作较为顺畅。

在 Linux 中,文件系统检查工具被称为 fsck,您可以通过传递想要检查的文件系统相关的设备文件名来调用它,正如在 fsck /dev/sda1 中检查 /dev/sda1。然而,fsck 实用工具大部分是一个特定文件系统工具的前端。比如 e2fsck(针对 ext2fs、ext3fs 和 ext4fs)。通过直接调用特定文件系统工具,通常可以获得更高级选项的访问权。例如,e2fsck-f 选项强迫它检查设备,即使文件系统是空的。这些选项对于发现损坏是必须的,而这些损坏在粗略检查过程中不易被发现。检查特定文件系统的帮助程序的文档,了解这些选项。

多数情况下,必须在一个已卸载的文件系统上运行 fsck 或帮助程序。因此,您可能需要从一个紧急引导磁盘来进行这些操作,如本系列第 1 部分所述。

如果您在使用非 Linux 文件系统遇到问题时,您能够使用 fsck 来查看它;然而您也需要将其引导到文件系统的本地操作系统来做这项工作。特别是,在 Linux 中 Microsoft® Windows® New Technology File System (NTFS) 文件系统有独一无二的基本维修工具。想要检查 NTFS 工作是否进展顺利,您必须使用 Windows CHKDSK 实用工具。您需要运行这个实用工具几次,直到它报告磁盘不再有错误。Linux ntfsfix 实用工具执行 Linux 中很少检查的文件系统,并将它们标记为下次 Windows 引导时自动检查。

尽管本质上不是一个文件系统集成问题,但磁盘碎片是另一个需要注意的问题。有时候,您可以在调整操作之前,执行一个磁盘碎片整理操作来排除问题,对于 Linux 本地文件系统这一任务几乎不会用到(通常也没必要);然而,对于 File Allocation Table (FAT) 或者 NTFS 分区,这是很有帮助的。

分解操作

如果您开始进行大量的调整以及将操作移到 GParted 的工作,而操作失败,那么您可以尝试一次只输入一个操作,然后立即单击 Apply 按钮。您仍然可能遇到问题,但是至少您可以执行其他操作,不再依靠出现问题的那个操作。根据具体情况,至少可以实现部分总体目标,或者找到解决问题的方法。

在某些情况下,您可能需要跨多个实用工具分解调整操作。例如,您可以使用 Windows 或 Mac OS X 实用程序来调整 FAT、NTFS 或 Hierarchical File System Plus (HFS+) 分区大小。尽管 GParted 是 Linux 中调整分区大小最易操作的方法,如果只有一个操作出现问题,使用基础的文本模式实用工具,比如 resize2fs,可以给您提供更好的诊断输出,甚至在 GParted 失败的地方也会成功。然而,您要记住多数文本模式工具要么可以调整分区,要么可以调整文件系统大小,但是不能两个同时调整;您必须将两种工具合并到一起来调整一个分区 其文件系统。GNU Parted 实用工具是一个例外,像它的 GUI “近亲” GParted 一样,同时可以调整分区及其文件系统的大小。


转到计划 B

有时候试图调整您的分区行不通。或许是文件系统出了一个不容易解决的错误,或许是您想要缩小一个不能缩小的文件系统(例如 XFS 或 JFS),在这些情况下,您必须选择一个备用方案,比如迁移现有分区结构的目录、执行备份 - 重新分区 - 恢复(backup-repartition-restore)操作或者添加更多磁盘空间。

迁移目录不需要重新分区

有时候,您可以迁移目录,而实际上不需要对磁盘进行重新分区。诀窍是使用符号链接来从一个位置指向另一个位置,甚至跨分区。例如,假设您正在使用 Gentoo 系统,它可以消耗 /usr/portage 和 /var/tmp/portage 目录下大量磁盘空间。如果您在建立系统时没有考虑到这一需要,您可能会耗尽空间。然而,在隔离的 /home 分区上可能也有可用空间,为了让 Portage 使用这些空间,您可以在 /home 下创建一个或多个目录,将 /usr/portage 或 /var/tmp/portage 内容复制到新的目录,删除原始目录,在原始目录的位置创建符号链接,指向新的 /home 子目录。

这个方法是有效的,且在较小范围内是方便的;然而,却创建了一个非标准系统。因此,我建议您少使用此方法,最好只是短期使用 — 例如,作为等待新硬盘到来时的一个权宜之策,或者用于您计划一到两个月检索一次的系统。

备份、重新分区和恢复

开发文件系统调整工具之前,要对磁盘重新分区,惟一可行的方法是备份其内容、重新分区(创建新的空文件系统),然后将备份恢复到重新分区的磁盘。该方法连续运行,但对于非破坏性的重新分区,使用 GParted 当然比使用此方法方便多了。换句话说,为了安全起见在调整分区大小之前最好先创建一个备份。出于安全性的考虑,无论如何您必须做这一半工作。

现在,经常使用一个外部硬盘驱动器作为备份介质。购买千兆字节的外部磁盘超不过 $100,篡改磁盘分区之后,您就可以使用它们备份您的重要文件,来在系统之间转移较大的文件,或者以其他方式。此外,您也可以使用可记录的 DVD、磁带装置或网络服务器作为备份系统。

备份软件包括 tar 这类旧备用工具,以及 Clonezilla 这类新工具。细节各不相同,具体根据软件和备份介质而定,因此您需要参考备份软件文档获取详细信息。

如果您想要修改您的 Linux 引导分区或者任何一个基础根(超级用户)访问必须的分区,您需要从一个紧急引导系统执行这些操作,本系列的第 1 部分介绍了这类系统。

添加磁盘空间

添加磁盘是重新分区一个切实可行的备选方案,有时候,添加磁盘空间可能会更好。磁盘容量持续增加,比起那些使用了好几年的磁盘新磁盘可能更可靠。

如果您选择用一个新磁盘替换一个现有磁盘,您应该将现有系统转移到新磁盘,用 Clonezilla 这类工具或者使用旧工具,比如 fdisktar。您可能需要重新安装引导加载程序,例如在这项任务中,使用 Super Grub Disk 工具重新安装引导加载器可能会很有用。您可以使用这个基于 CD 的引导加载器引导您的系统,然后使用 grub-install 或者一个类似的工具来将 GRand Unified Bootloader (GRUB) 重新安装到您的新硬盘上

如果您购买一个新磁盘作为补充,而不替换您的现有磁盘,您需要确定转移到新磁盘的数据(如果有)。您应该使用 fdisk、GParted 或其他工具对新磁盘进行分区,并将文件转移到新磁盘,然后通过适当地编辑 /etc/fstab,在您的现有目录树中永久地挂载新磁盘分区。如果不这样做,就算您挂载新磁盘来取代原来的文件目录,它们也会继续消耗旧磁盘的磁盘空间。


结束语

不论您用哪种方式,改变一个正在运行系统的磁盘是一个令人忧心的任务,原因是:很多事情都有可能出错。如果这种改变是必须的,那么您会发现您的系统在改变之后变得更可用了。为了降低磁盘已满错误的风险,实际上,您可能要继续使用您的系统完成它的既定任务。调整分区的过程可能会帮助您熟悉 GParted 和其他磁盘实用工具,以及各种分区的最佳大小。所有这些对您下次安装 Linux 系统是很有帮助的。


参考资料

学习

本日志由 flyinweb 于 2011-09-05 09:43:14 发表,目前已经被浏览 851 次,评论 0 次;

作者添加了以下标签: Linux partition

引用通告:http://www.517sou.net/Article/669/Trackback.ashx

评论订阅:http://www.517sou.net/Article/669/Feeds.ashx

评论列表

    暂时没有评论
(必填)
(必填,不会被公开)