系统安装后如何添加交换?

我在Ubuntu安装期间没有创建交换分区。 后来,我释放了一些空间并进行了交换分区。 现在每次启动后,我手动打开gparted以右键单击交换分区以打开’swapon’选项。

如何在启动时自动启用交换分区?

另外,如果我没有创建交换分区,那么我的其他选择是什么?

您需要编辑/etc/fstab并添加新的交换分区。

 sudo nano /etc/fstab 

您需要添加一个看起来像的行

 UUID=735b3be3-779c-4d21-a944-b033225f3ab4 none swap sw 0 0 

然后使用该命令获取UUID

 sudo blkid /dev/sda3 

(用适当的设备名替换/dev/sda3 )。

有关:

  • 如何用nano编辑终端中的文件?

要在安装后创建交换分区,请创建一个空分区。 它应该没有洞。 然后,您可以使用以下格式来格式化

 sudo mkswap /dev/sdX 

您的分区替换/dev/sdX 。 将此分区挂载为swap

 sudo swapon -U UUID 

其中UUID是/dev/sdX UUID,如下所示:

 blkid /dev/sdX 

通过添加以下行将您的新交换绑定在/etc/fstab

 UUID=xxx none swap sw 0 0 

如果要使用交换进行hibernate,则需要使用此内容RESUME=UUID=xxx更新/etc/initramfs-tools/conf.d/resume RESUME=UUID=xxx 。 别忘了$ sudo update-initramfs -u

要完成的事情:如果您没有备用分区,也可以创建交换文件。 这个答案让您了解如何创建交换文件并在启动时启用它。

如果您不想要或者您不确定如何创建交换分区,则可以创建一个交换文件,该文件的工作方式与分区相同。 以下是步骤(使用终端):

  1. 创建一个空文件(1K * 4M = 4 GiB)。

     sudo mkdir -v /var/cache/swap cd /var/cache/swap sudo dd if=/dev/zero of=swapfile bs=1K count=4M sudo chmod 600 swapfile 
  2. 将新创建的文件转换为交换空间文件。

     sudo mkswap swapfile 
  3. 启用分页和交换文件。

     sudo swapon swapfile 

    通过以下方式validation: swapon -stop

     top -bn1 | grep -i swap 

    应该显示如下行: KiB Swap: 4194300 total, 4194300 free

    要禁用,请使用sudo swapoff swapfile命令。

  4. 将其添加到fstab文件中以使其在下次系统引导时保持持久性。

     echo "/var/cache/swap/swapfile none swap sw 0 0" | sudo tee -a /etc/fstab 
  5. 在启动时重新测试交换文件:

     sudo swapoff swapfile sudo swapon -va 

    注意:上面的命令会重新检查fstab文件的语法,否则Linux无法正常启动。

有一种使用gparted执行此操作的图形方式。

运行Gparted:

 sudo gparted 

如果您没有安装,可以使用它进行安装

 sudo apt-get install gparted 

gparted运行后:

  1. 通过右键单击任何未分配的块并单击“ new来分配分区
  2. 将分区格式化为linux-swap
  3. 右键单击该分区,然后单击swapon

完成后,分区名称旁边应该有一个关键图标

来自linux.com只需创建交换文件,因为它更灵活,您可以动态调整您拥有的交换存储的数量和大小。 这也允许您将交换分区从系统磁盘移开,从而使系统更快。 此外,如果您使用多个交换空间,请将其使用优先级调整为相同值,因此使用循环法进行写入,从而可以进一步提高速度。

ps我会使用UUID而不是设备名称,因为很容易改变设备顺序,如果你不小心将USB存储留在USB插槽中,只需移除和插回sata线缆 – 你不必担心连接的驱动器是什么哪里。

您必须在/ etc / fstab中定义交换文件系统。 它应该包含类似的行

 UUID=67682d1b-a1d8-4377-a3dd-67340c141619 none swap sw 0 0 

当然,您需要将UUID的值替换为您设备的标识符。

(用交换分区号替换sdax中的“x”,例如:sda5)

用UUID号替换“xxx”,例如:67682d1b-a1d8-4377-a3dd-67340c141619)


su(给密码获取root权限)

blkid / dev / sdax(获取UUID)mkswap / dev / sdax(格式交换分区)swapon -U xxx

nano / etc / fstab(编辑fstab)UUID = xxx无交换sw 0 0(输入并保存此文本以使交换永久性)(然后关闭fsantab)


nano /etc/initramfs-tools/conf.d/resume(创建“resume”文件并保存此文本以使用hibernate / resume)RESUME = UUID = xxx(ctrl + x关闭nano) – >(y保存)

重启机器

登录,现在你可以测试hibernate/恢复

这是一个关于如何为Ubuntu制作Ram驱动器的综合教程。 不幸的是..截图并没有显示在此通过剪切和粘贴..后来我将添加它们,但它们是不需要的。

您需要做的第一件事是为您的ram驱动器创建空间。 我有一个只有32GB硬盘的双启动系统。 我的Ubuntu实际安装在SD卡上(是的,真正的安装而不是Live Casper的东西)。 我的交换也在SD上,可能会很快磨损。 我查找了如何更改交换并找到了这篇文章并且不喜欢这些答案,所以我在进行更改时制作了一个教程。

如果您只是希望增加或减少交换分区,则只需通过您喜欢的分区管理器增加或减少分区。 Ubuntu已经知道去哪里,它与大小无关。 如果您想更改位置或进行新的交换,请继续阅读。 您需要做的第一件事就是缩小硬盘以提供交换空间。 如果你正在缩小其上带有Windows系统的磁盘,那么你最好使用Windows缩小磁盘(它知道自己的东西)。 如果您使用的是纯ubuntu,请尝试使用实时Ubuntu USB进行大小调整。

Windowsresize说明:

  1. 备份系统,并对驱动器进行碎片整理。
  2. 右键单击开始栏。
  3. 选择磁盘管理
  4. 右键单击ON CORRECT DRIVE
  5. 选择收缩。
  6. 输入正确的金额。

如果你在Ubuntu。 确保使用Ubuntu工具。 为了完成分配,我将使用包含GParted的Ubuntu可启动Live USB。 Live USB是出于任何原因使用Gparted的最佳方式,您应该在首次安装时使用USB,或者使用USB来保持方便。

不允许打字2000,因为即使我对驱动器进行了“碎片整理”,也没有足够的空间来做这件事(我不相信Windows真的对它进行了碎片整理)。 通过一些实验,我被允许1000.然后我再次尝试了1000并且它有效。 我应该感谢我的小学数学老师,而不仅仅是MS Windows程序员。 这给我留下了1.95gb,足够接近我的小学数学。

格式化分区

现在我已准备好将该空间格式化为适当的交换驱动器。 如果您在Windows中并在Ubuntu和Windows之间来回切换,请确保在单击“电源”和“关闭”时按住SHIFT键。 这非常重要,尤其是当您在另一个操作系统中弄乱“C”驱动器细节时。 如果你是双启动,你应该知道Windows在正常情况下会假冒关闭。 有些人禁用了“快速启动”。 我在我的系统上没有这个选择(Windows 10),并且必须使用shift键,感谢我的朋友Google。 如果使用实时USB启动并且无法安装“C”驱动器(通过单击它),那么您没有完全正常关闭。 重新加载窗口并使用shift键再次关闭。

现在您处于Ubuntu Live Mode并阅读以下内容:

如果你是一个纯粹的Ubuntu并且在Windows中没有收缩。 您将在gParted中使用“resize”选项。 如果您已经缩小了驱动器,请不要执行resize步骤。 您可以在Dash栏中键入GParted并快速获取应用程序。 右键单击要resize的驱动器。

现在我们将未分配的空间格式化为分区驱动器:

之前:

我不知道该怎么做,所以我在SD上看了我以前的Ram Drive。 它被格式化为Linux Swap。 所以我格式化了我最近作为Linux Swap缩小的新分配。
我对初级分区和警告通知说好了,它有效!

格式化分区

格式化后和新分区

巧合的是, sd上的旧交换分区被称为mmblk1p5而新的分区也是p5 ,前面是mmblk0 。 你的可能是p6或p7。 别担心。

mmblk0是物理磁盘,p是该物理磁盘上的分区。 而mmblk01是另一个物理磁盘等(这是我的SD)在我做更多工作之前,我再次打开Windows以确保Windows仍然启动。 如果您懒惰或在纯ubuntu计算机上,则无需执行此步骤。 如果它破坏了Windows,我可能会擦除Windows在该磁盘上进行全新安装的Ubuntu(也有交换)。 如果我破坏了系统,我就不需要再执行任何步骤,因为我可以在新安装上分配交换。 一切顺利,Windows启动。 现在,您可以在Windows磁盘管理器中看到新分区:(右键单击开始栏以获取磁盘管理)

现在将Swap附加到引导例程

此问题的先前答案实际上具有不需要的swapon / off命令,并且可能很复杂。 所有人需要做的是找到正确的文件,并将交换指向新分区。 同样,如果您只调整了分区大小,则无需执行任何操作。 已经设置好找到分区。 尺寸自动完成。

如果您更改了分区或正在进行首次交换,请阅读以下内容:

让我告诉你,这是我第一次这样做。 我不是UNIX极客,我更喜欢GUI工具。 在制作本教程时,我正在学习和交叉手指。 到目前为止一切顺利。 在你的系统的根目录是一个名为etc的目录。在该目录中是一个名为fstab的文件(没有扩展名)。 您需要使用超级用户“su”权限编辑此文件。 在我们这样做之前,我们需要使用Live USB创建的新Swap分区的UUID。 键入sudo su现在您处于超级用户模式。 你可以做任何事情(包括擦拭自己的存在)。

键入blkid并查找新交换分区的uuid。 我在下面看到了它并强调了它:

不要理会PartUID。

现在,其他人会说类型:

 sudo gedit /etc/fstab 

但是,我试过了,它找不到合适的文件(请注释)。

所以我只需键入gedit并打开它的whimpy GUI方式(成功!)。 因为,我已经处于超级用户模式(sudo su)我有权限在Gedit中做任何事情,包括在我更改后保存文件。 精彩! 在更改或损坏任何内容之前,请将fstab保存为名为… fstab.bak备份。

使用whimpy GUI方式进行备份,选择熟悉的“另存为”并将“bak”添加到文件fstab.bak 。 检查它是否有.bak扩展名。 Geeks会告诉你使用terminal cp命令,但是我们新手无法在终端中找到这个文件来获取这一点。 就像任何文字处理器一样,在“另存为”命令之后,您当前的文件现在是fstab.bak 。 打开之前的真实文件,然后关闭备份文件。 仔细检查以查看您正在编辑没有扩展名的真实fstab 。 如果您编辑备份文件,重新启动时不会发生任何事情,而且备份副本将不是原始备份的真实备份。

我的原始fstab文件如下所示:

 # /etc/fstab: static file system information. # # Use 'blkid' to print the universally unique identifier for a # device; this may be used with UUID= as a more robust way to name devices # that works even if disks are added and removed. See fstab(5). # #       # / was on /dev/mmcblk1p6 during installation UUID=a611601a-6ea8-4e34-9859-42a2470cac29 / ext4 errors=remount-ro 0 1 # /boot/efi was on /dev/mmcblk0p1 during installation UUID=00F2-C0CE /boot/efi vfat umask=0077 0 1 # swap was on /dev/mmcblk1p5 during installation UUID=8fb20159-62e4-41a3-8550-791c7a66c328 none swap sw 0 0 

最后一行(我为你做了红色),有可能在启动时使用的原始交换信息。 从上一个blkid命令,我可以看到我的新驱动器UUID。 通过突出显示终端中的文本然后右键单击并选择复制来复制该短语。 将该短语粘贴到另一个单独的编辑器中,没有su权限作为便笺簿(您可以使用Libre Office,极客可以使用nano )。 此步骤可帮助您轻松获取正确的文本而无需引号,因此您可以轻松粘贴到fstab文件中。 您希望尽可能少地更改此文件。

 New UUID UUID="709ea197-e6fb-428b-9c1f-4b258452b10c" 

所以,我的新UUID在上面以红色列出。 我需要做的就是更改交换的uuid。 如果没有交换驱动器,则在上面的fstab文件中复制我的行,然后从前一个blkid命令添加正确的uuid。 (请选择合适的uuid!)
如果这是您的第一个Swap系列,请确保包含带有额外内容的完整系列

 none swap sw 0 0 

不要太担心确切的间距。

我的新文件如下所示:注意我在我的更改上面添加了注释#字符表示它是注释。

 # /etc/fstab: static file system information. # # Use 'blkid' to print the universally unique identifier for a # device; this may be used with UUID= as a more robust way to name devices # that works even if disks are added and removed. See fstab(5). # #       # / was on /dev/mmcblk1p6 during installation UUID=a611601a-6ea8-4e34-9859-42a2470cac29 / ext4 errors=remount-ro 0 1 # /boot/efi was on /dev/mmcblk0p1 during installation UUID=00F2-C0CE /boot/efi vfat umask=0077 0 1 # swap was on /dev/mmcblk1p5 during installation NOW changed to mmcblk0p5 UUID= 709ea197-e6fb-428b-9c1f-4b258452b10c none swap sw 0 0 

不要粘贴引号。 =符号后面没有空格。

保存文件。

再次打开它,只是为了确保您的更改已保存。 关闭gedit和终端的危险su权利,极客会骂你做(因为它很容易使用…并且容易破坏东西)。

重新开始并交叉你的手指!

我重新启动然后通过查看系统性能应用程序检查我的交换是否正常工作。 我还有一个Swap驱动器! 但它是新的还是旧的? 我无法validation我的新驱动器是否实际已加载,因为新驱动器的大小与旧驱动器相同。 因此,我键入: swapon (不要选择任何比SWAPON更多的东西,它只会为你列出交换:安全)。 现在我在mmblk0p5上看到我的新驱动器与我在fstabmmblk0p5的UUID工作相匹配。 我的超薄32GB主驱动器生效:


本教程的结束部分来自于之前从未这样做过的新手用户。 我做这个教程的原因有一半是帮助我们的Geeks(并且谢谢你)可以看到如何帮助新手用户。 我怀疑之前的答案是误导性的,并决定在我做我的工作时制作一个教程……通过猜测其他有用的答案,我得出结论,我需要做的就是编辑fstab flle并重启。 一切运作良好,我仍然有Windows 10,还没有擦拭我的系统。 如果有人知道如何将Windows pagefile.sys作为Linux交换文件共享,我会感兴趣,因为在Windows中使用2 gb并且高清空间在我的32 GB计算机上非常昂贵。