我在笔记本电脑上安装了 Natty,使用的是默认选项。我猜它创建了一个与我的 RAM 大小相同的交换分区。每次我尝试休眠时,都会收到“交换空间不足”的消息,这很烦人。我想休眠!为什么不能只使用我的 20GB 可用 HD 空间中的部分空间来休眠?我这个老家伙只有 1GB RAM。
我已查看交换常见问题解答@http://help.ubuntu.com/community/SwapFaq但它太难懂了。它向我展示了如何创建交换文件并打开它,但没有解释以下内容:
- 系统是否会休眠到该交换文件,或者是否会因为交换分区存在并且太小而仍然感到困惑?
- 我需要删除交换分区吗?我并不急需空间,但我想重新利用它,因为这台电脑的硬盘很小。
- 这一切为何如此困难?
谢谢!
答案1
我认为最好的方法就是增加交换分区的大小。
使用 Ubuntu Live CD/USB 启动您的计算机。
实时 CD 将检测并使用您的交换,您应该禁用它才能对其进行操作。打开终端并输入以下命令:
sudo swapoff -a
之后,打开 Gparted,调整分区大小。您需要缩小一些靠近它的分区。这应该很简单。
您将需要从某种外部方法启动,因为您无法调整正在使用的分区的大小,并且很可能需要缩小主分区。
现在其他的问题:
是的。
如果您使用交换文件,那么是的,您可以摆脱交换分区。但我相信使用交换分区更容易。这也是 Linux 中的标准做法,您可以在网上找到的大多数教程都会期待它。
在任何操作系统中,新手都不应该乱动交换。无需让事情变得简单。
答案2
我终于解决了这个问题。当然,要回答我的问题中“为什么这一切都这么难?”的部分,我只需要回答“这是 Linux,你这个傻瓜,当然一切都很难!”
步骤如下:
- 启动 Ubuntu 安装 CD(我在 Natty 上)并选择立即运行 Ubuntu
- 进入系统 -> GParted 分区编辑器
- 删除交换分区和包含它的扩展分区(如果奇迹般地您可以从这里调整交换分区的大小,我想您的生活会比我轻松得多)
- 将主分区的大小减少到您想要的新交换空间的大小(为了安全起见,我将其设置为 2x RAM + 500MB)。最简单的方法是在“以下可用空间”字段中填写您想要交换的空间量
- 在现在已创建的可用空间中,选择新建,输入 linux-swap,你可以将分区命名为“swap”
- 打申请按钮(应该是一个复选标记)将更改写入磁盘
- 完成后,重新启动回到 Ubuntu
现在您需要找到交换分区所在的分区以及它的 UUID 是什么。你说的是 UUID?!好吧,这是分区的通用唯一标识符,因此即使由于添加磁盘等原因,它在启动时位于不同的挂载点,您也可以引用它。如果这是您的主磁盘,那么可能没什么大不了的。
- 打开终端并运行
gksu gparted &
,然后输入您的 root 密码。& 可让此进程运行,同时仍允许您访问命令行。 - 右键单击交换分区并选择信息. 您应该看到小路和唯一唯一标识符列在此处。请保留此信息以供进一步参考。
- 运行
gksu gedit /etc/fstab &
并查找包含以下内容的行交换在其中。它应该是第三列,以空格或制表符分隔。您可以使用路径或 UUID 来告诉 Linux 在哪里找到您的交换分区。我推荐使用 UUID,因为即使您移动分区或磁盘以某种方式变成 sdb 而不是 sda 或类似名称,它也会保持不变。进行适当的编辑并保存文件。如果您使用 UUID(当然,用您的 UUID 代替),您的行应该看起来像这样:UUID=41e86209-3802-424b-9a9d-d7683142dab7 none swap sw 0 0
- 或者如果你使用路径:
/dev/sda2 none swap sw 0 0
- 保存并重新启动,以确保新的交换在启动时正确激活
拿一杯牛奶,等待 Ubuntu 恢复……接下来是有趣的部分
再次打开终端并运行
cat /proc/swaps
,希望您能看到列出的交换分区路径。如果没有,则可能是上述步骤出了问题。这是我的输出:Filename Type Size Used Priority /dev/sda2 partition 2676732 6360 -1
gksu gedit /etc/default/grub &
调出引导加载程序配置- 查找该行
GRUB_CMDLINE_LINUX=""
并确保它看起来像这样(当然使用你的 UUID)GRUB_CMDLINE_LINUX="resume=UUID=41e86209-3802-424b-9a9d-d7683142dab7"
并保存文件 sudo update-grub
并等待它完成gksu gedit /etc/initramfs-tools/conf.d/resume &
并确保其内容正确resume=UUID=41e86209-3802-424b-9a9d-d7683142dab7
(当然,UUID 是您的,而不是我的)。保存文件!sudo update-initramfs -u
- 重启!
现在你应该可以休眠并恢复了!我真的希望这能帮助别人。我不敢相信 Ubuntu 已经是第 11 版了,但让它让你的笔记本电脑休眠仍然如此困难。不过不要失去信心,这是可以做到的!