添加交换量

添加交换量

我最近在 Windows 7 旁边安装了 ubuntu 12.04。但我没有为 ubuntu 创建交换卷。我的硬盘上已经有 4 个分区(一个 Windows 7、一个系统工具(Windows 7)、一个用于 ubuntu 和一个用于通用媒体存储 (ntfs))。因此 Gparted 不允许我为交换卷创建任何其他分区。它只说要创建一个扩展分区,但我不知道该怎么做。我想从通用媒体存储中创建一个交换卷。我该怎么做?

我对 Ubuntu 还很陌生,你能推荐一些好的入门教程吗?

答案1

要创建第五个分区,您必须删除四个现有主分区中的一个,创建一个扩展分区(它是逻辑分区的容器,因此您可以在具有 MS-DOS 类型分区表的系统上有效地拥有四个以上的分区),然后将您删除的分区重新创建为扩展分区内的逻辑分区。您必须有某个地方来备份您删除的分区(或至少是其内容)。这很麻烦,在某些情况下甚至麻烦得令人无法忍受。

因此,除非您需要 Ubuntu 系统支持休眠(这需要交换分区),否则您应该将其设置为使用交换文件。这样做效果一样好(前提是您的交换文件存储在 ext2、ext3 或 ext4 分区上)。

以下说明取自掉期常见问题解答在 Ubuntu 社区文档中。这不是确切的引用,因为我更改了格式以保持内部一致性并与 AskUbuntu 兼容;我还做了一些微小的编辑以使其更清晰。本文档是领有牌照在下面CC-BY-SA,允许将(经过修改或未经修改)的内容纳入此类文章中(作为 AskUbuntu.com 内容,也根据该许可提供)。为了清晰起见(或其他目的),进一步编辑此内容可能有意义,但如果进行了重大修改,最好明确提供以供考虑“上游”(以便也改善原始来源)。


添加交换文件的四步过程

  • 创建您想要的大小的文件。
  • 格式化该文件以创建交换设备。
  • 将交换添加到正在运行的系统。
  • 使改变永久生效。

信息:目前此功能不适用于 btrfs 文件系统。请参阅man swapon

添加 512 MiB 交换的说明

  1. 创建一个 512 MiB 大小的文件(或者用你想要的大小替换):

    我们将创建一个/mnt/512MiB.swap交换文件并设置权限,以便用户无法直接读取它。

    sudo fallocate -l 512m /mnt/512MiB.swap
    sudo chmod 600 /mnt/512MiB.swap
    

    fallocate长度后缀为:k、m、g、t、p、e(看man fallocate

    默认情况下,您的交换文件可能被创建为可供所有人读取。我们设置了 600 模式权限,以防止用户从交换文件中读取潜在的敏感信息。

    如果 fallocatefallocate failed: Operation not supported在我的 Maverick 机器上失败了,你可以用老方法再次执行 512 MiB:

    sudo dd if=/dev/zero of=/mnt/512MiB.swap bs=1024 count=524288
    sudo chmod 600 /mnt/512MiB.swap
    
  2. 格式化该文件以创建交换设备:

    sudo mkswap /mnt/512MiB.swap
    
  3. 将交换添加到正在运行的系统:

    sudo swapon /mnt/512MiB.swap
    

    额外的交换现已可用,并且可以看到cat /proc/meminfo

  4. 使更改永久生效:

    编辑/etc/fstab

    gksudo gedit /etc/fstab
    

    在文件末尾添加此行:

    /mnt/512MiB.swap  none  swap  sw  0 0
    

    保存。下次重启后,交换将自动使用。

制作交换文件的示例

这是在没有交换分区的计算机上制作和使用交换文件的示例。

user@computer:~$ sudo fallocate -l 512m /mnt/512MiB.swap
Password:

user@computer:~$ sudo mkswap /mnt/512MiB.swap
Setting up swapspace version 1, size = 536866 kB
no label, UUID=dd6a01c8-93f0-41e0-9b7a-306956d8821b
user@computer:~$ sudo swapon /mnt/512MiB.swap
user@computer:~$ cat /proc/meminfo
MemTotal:       499496 kB
MemFree:          9156 kB
Buffers:          4748 kB
Cached:         233140 kB
SwapCached:        724 kB
Active:         254432 kB
Inactive:       157920 kB
HighTotal:           0 kB
HighFree:            0 kB
LowTotal:       499496 kB
LowFree:          9156 kB
SwapTotal:      524280 kB
SwapFree:       523556 kB
Dirty:             128 kB
Writeback:           0 kB
Mapped:         243420 kB
Slab:            20672 kB
CommitLimit:    774028 kB
Committed_AS:   648680 kB
PageTables:       2224 kB
VmallocTotal:   524280 kB
VmallocUsed:      5708 kB
VmallocChunk:   518176 kB
user@computer:~$ gksudo gedit /etc/fstab
user@computer:~$ free
             total       used       free     shared    buffers     cached
Mem:        499496     479488      20008          0       8256     215892
-/+ buffers/cache:     255340     244156
Swap:       524280       3856     520424
#####Then, after running a few more programs...
user@computer:~$ free
             total       used       free     shared    buffers     cached
Mem:        499496     492768       6728          0       1240     142336
-/+ buffers/cache:     349192     150304
Swap:       524280      53384     470896

#####Next, reboot to make sure it will work consistently.
user@computer:~$ free
             total       used       free     shared    buffers     cached
Mem:        499496     493136       6360          0       7528     174700
-/+ buffers/cache:     310908     188588
Swap:       524280      17148     507132

撤消更改

撤消基本上遵循相同的过程,只是过程相反。

gksudo gedit /etc/fstab

删除以下行:

/mnt/512MiB.swap  none  swap  sw  0 0

从正在运行的系统中删除交换并删除交换文件:

sudo swapoff /mnt/512MiB.swap && sudo rm /mnt/512MiB.swap

无需重新启动。


来源:如上所述,这是交换常见问题在 Ubuntu 社区撰写的文档中。该页面由 编写Contributors to the Ubuntu documentation wiki。(维护者AskUbuntu 的回答应该仔细读一读此法律信息在编辑或删除此引用之前,以确保继续满足对原作者给予赞扬的要求。)

答案2

第一件事是您只能创建 4 个主分区所以我的想法是,您已将所有分区都创建为主分区。因此,现在您要做的要么调整存储分区的大小以获取一些空间,然后将该空间转换为扩展分区,然后格式化为扩展分区,要么使用此方法将整个存储分区转换为扩展分区

http://www.rodsbooks.com/fixparts/

你可以使用 gparted 工具调整/调整分区大小

这里有一个链接,将告诉您如何使用 gparted。

http://www.howtoforge.com/partitioning_with_gparted

因此编辑您的存储分区并获取一些空间,然后将其转换为扩展分区并将其用作交换分区。

您可以从software center终端 获取 gpartedsudo apt-get install gparted

一切顺利 。

相关内容