我最近在 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 交换的说明
创建一个 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 模式权限,以防止用户从交换文件中读取潜在的敏感信息。
如果 fallocate
fallocate 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
格式化该文件以创建交换设备:
sudo mkswap /mnt/512MiB.swap
将交换添加到正在运行的系统:
sudo swapon /mnt/512MiB.swap
额外的交换现已可用,并且可以看到
cat /proc/meminfo
。使更改永久生效:
编辑
/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
一切顺利 。