如何轻松添加更多交换以便我可以hibernate我的笔记本电脑?

我使用默认选项在我的笔记本电脑上安装了Natty。 我猜它创建了一个等于我的RAM大小的交换分区。 每次我尝试hibernate时,都会收到“不够交换”的消息,这很烦人。 我想要冬眠! 为什么你不能只使用我的一些20GB免费高清空间进行hibernate? 我只有1GB内存在这个旧的geezer上。

我已经看过swap faq @ http://help.ubuntu.com/community/SwapFaq,但是它非常密集。 它向我展示了如何创建交换文件并打开它,但没有解释以下内容:

  1. 系统是否会hibernate到该交换文件,或者它仍然会被混淆,因为交换分区在那里而且太小了?
  2. 我需要摆脱交换分区吗? 我并不急需这个空间,但我想收回它,因为这台电脑有一个非常小的高清。
  3. 为什么这一切都这么难?

谢谢!

恕我直言的最佳方式是增加交换分区的大小。

使用Ubuntu Live CD / USB启动计算机。

Live CD将检测并使用您的交换,您应该禁用它以便能够操作它。 打开终端并键入以下命令:

sudo swapoff -a 

然后,打开Gparted,调整分区大小。 您需要缩小一些接近它的分区。 它应该非常简单。

您需要从某些外部方法启动,因为您无法调整正在使用的分区的大小,并且您很可能需要缩小主分区。

现在其他问题:

  1. 是。

  2. 如果您使用交换文件然后是,您可以摆脱交换分区。 但我相信使用交换分区更容易。 它也是linux中的标准做法,你可以在网上找到的大多数教程都会期待它。

  3. 搞乱交换是任何新手都不应该在任何操作系统中做的事情。 无需轻松。

我终于解决了这个问题 当然,回答“为什么这一切都这么困难?” 我的问题的一部分,我只需要回答“这是Linux,你这个傻瓜,当然一切都很难!”

以下是步骤:

  1. 启动到Ubuntu安装CD(我在Natty上)并选择现在运行Ubuntu的选项
  2. 转到系统 – > GParted分区编辑器
  3. 删除交换分区和保存它的扩展分区(如果有一些奇迹,你可以从这里调整交换分区的大小,我想你的生活将比我的容易得多)
  4. 减少主分区的大小减去你想要新交换的数量(为了安全起见,我做了2x RAM + 500MB)。 最简单的方法是在“自由空间跟随”字段中填写您想要交换的空间量
  5. 在现在已创建的可用空间中,选择new,键入linux-swap,如果愿意,可以将分区命名为“swap”
  6. 点击Apply按钮(应该是一个复选标记)将更改写入磁盘
  7. 完成后,重新启动回Ubuntu

现在,您需要找到交换所在的分区以及它的UUID。 UUID? 你说? 那么这是分区的通用唯一标识符,所以你可以引用它,即使它由于添加磁盘等而在引导到引导的不同安装点上。如果这是你的主磁盘,它可能不是什么大问题。

  1. 拉起终端并运行gksu gparted &并输入您的root密码。 &允许此进程运行,同时仍允许您访问命令行。
  2. 右键单击交换分区,然后选择“ 信息” 。 您应该看到那里列出的路径UUID 。 保持开放以供进一步参考。
  3. 运行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
  4. 保存并重新启动以确保在启动时正确激活新交换

拿一杯牛奶等待Ubuntu回来……接下来是有趣的部分

  1. 再次拉起终端并运行cat /proc/swaps ,希望你看到那里列出的交换分区的路径。 如果没有机会在上面的步骤中出错。 这是我的输出:

     Filename Type Size Used Priority /dev/sda2 partition 2676732 6360 -1 
  2. gksu gedit /etc/default/grub &拉起启动加载程序配置

  3. 查找GRUB_CMDLINE_LINUX="" ,并确保它看起来像这样(当然使用您的UUID) GRUB_CMDLINE_LINUX="resume=UUID=41e86209-3802-424b-9a9d-d7683142dab7"并保存文件
  4. sudo update-grub并等待它完成
  5. gksu gedit /etc/initramfs-tools/conf.d/resume &并确保其内容为resume=UUID=41e86209-3802-424b-9a9d-d7683142dab7 (当然您的UUID代替我的UUID)。 保存文件!
  6. sudo update-initramfs -u
  7. 重启!

现在你应该能够hibernate和恢复! 我真的希望这有助于其他人。 我不敢相信Ubuntu是11版本,它仍然很难让它让你的笔记本电脑hibernate。 不要失去信心,它可以做到!