如何在内核启动参数 fedora 25 中更改 mem 参数?

如何在内核启动参数 fedora 25 中更改 mem 参数?

我的 HP ProBook 4540s 出现了以下问题 当我将笔记本电脑内存从 4G 升级到 12G 时,它会停止启动。我尝试安装全新的 Windows 或 Fedora,但无法启动。

幸运的是,有人找到了解决此问题的方法这里 解决方案是使用 EasyBCD 程序或类似程序减少内存量,因此我尝试在 Windows 8.1 上使用 EasyBCD,它 100% 有效,但是当我从 Windows 迁移到 Fedora 25 时,问题再次出现。在之前提到的解决方案中,用户说

在Linux下,在内核启动参数中设置“mem=17G”(有效推导出256MB)。

这是我的问题,如何在 Fedora 25 中实现这一点,而且我是全新的 Fedora 用户?

答案1

我有同样的笔记本电脑 4540s,安装了 16GB RAM,也遇到了同样的性能下降问题。问题已解决,我相信以下解决方案适用于大多数 Linux 发行版,下面介绍如何在安装 +8GB(10/12/16GB)RAM 模块后恢复 PC 的全部性能/速度:

  1. 安装 +8GB(10/12/16GB)RAM 模块,然后等待 PC 启动“这将需要更长的时间,通常需要几分钟才能启动”。

  2. 到达桌面后,您会注意到电脑有多慢,只需转到该/boot/grub/文件夹​​并grub.cfg以 root 身份打开该文件或使用终端打开它。

  3. 在以 and 开头的每一行末尾添加and spacethen 。mem=17Glinux /boot/linux16

  4. 重新启动您的电脑,恭喜,您的电脑应该能够以添加额外 RAM 模块之前的相同性能/速度正常工作。

*您可能仍然会面临启动时间缓慢的问题,如果您调整大小/格式化/创建了新的交换分区,就会发生这种情况,在这种情况下,您需要在/boot/grub/grub.cfg文件中用新的交换分区 UUID 替换旧的交换分区 UUID,在每次出现时搜索quiet splash resume=UUID=并用新的交换分区 UUID 替换旧的交换分区 UUID。

您还应该替换此文件中的交换分区 UUID,/etc/default/grub搜索以下行,并用新的交换分区 UUID 替换旧的交换分区 UUID

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=UUID=

重新启动您的 PC,现在您的 PC 应该能够以添加额外 RAM 模块之前的全部性能/速度运行。

笔记:
要获取交换分区的当前 UUID,请使用blkid终端中的命令。

答案2

我有相同型号的笔记本电脑,运行 Fedora 25,您必须更新位于 /boot/grub2 目录下的 grub.cfg 文件

首先打开一个终端。按ALT + F2并输入gnome 终端。如果不起作用,请输入终端,或者你可以尝试mate-terminal、lxterminal、终结器等等。有很多。如果这些都不起作用,只需运行sudo dnf install xterm并运行终端使用前面的步骤。

有了终端后,运行这些命令,每行输入一个命令,然后点击进入在每行末尾。请注意,您不必在“#”字符后写任何内容,这只是一条注释,说明我们在每个步骤中要做什么

$ sudo su -  # It probably will ask your password here, with this command you will become root, or the linux superuser. Note the DNS name for this site haha ;) . Also note that if you don't know what you're doing running commands as root you can hurt your installation. I would recommend doing a backup of your important stuff first.
# cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg.backup.$(date +%Y%m%d%H%M%S) # this will make a backup of the file in the same directory with current timestamp. If anything goes wrong, you can restore it.
# vim /boot/grub2/grub.cfg # edit the file and locate the lines starting with linux16

在 vim 中运行此命令。这将找到以字符串“linux16”开头的行。请注意,它以斜线 (/) 开头

/^linux16

然后按SHIFT + A。此时 vim 会切换到“编辑”模式,之前的模式是“命令”模式。在这个“编辑”模式下输入一个空格,后面跟着新的参数mem=17G注意参数前的空格。如果您在终端左下角看到“-- INSERT --”字样,则表明您处于“编辑”模式

插入文本后,按ESC键键切换回“命令”模式,按n键查找下一个出现的“linux16”字符串并重复上一步

对每个出现的“linux16”字符串重复搜索步骤和编辑步骤

完成编辑后,按ESC键键,然后写入:wq以保存您的工作并退出 vim。您将返回到您的终端

用命令重启笔记本电脑reboot并选择第一行,也就是可用的最新内核。就这些了。

对我来说,将此参数添加到内核命令行并没有带来太大影响,但确实带来了一些改进。如果您成功了,或者可以做出更大的改进,请告诉我。

问候

相关内容