如何使用 GRUB 使用“mem=1024m”参数进行引导 - Ubuntu 10.04

如何使用 GRUB 使用“mem=1024m”参数进行引导 - Ubuntu 10.04

我仍在努力这个问题。这个新问题是一个不同的问题,所以我认为发布一个新问题会很好。这是正确的协议吗,还是我应该编辑另一个问题?

我在东芝 Satellite 笔记本电脑上运行 Ubuntu 10.04,内核为 2.6.32-22-generic。当我进入 GRUB 菜单时(我还安装了 Ubuntu 9.10),我可以选择要启动哪个内核。我使用向下滚动到我想要的内核,然后按“e”,我希望能够输入mem=1024m并强制内核使用这么多内存。但是当我cat /proc/meminfo使用此参数启动后运行或查看进程管理器时,我仍然看到所有 RAM:~2 GB。

我是否错误地使用了此启动参数?启动配置(在我添加任何内容之前)如下所示:

insmod ext2
set root=(hd0,1)
search --no-floppy --fs-uuid --set 10270f21-1c42-494b-bd3f-813c23f6d\
518
linux /boot/vmlinuz-2.6.32-22-generic root=UUID=10270f21-1c42-494b-b\
d3f-813c23f6d518 ro quiet splash
initrd /boot/initrd.img-2.6.32-22-generic

我这样做的方法是,我在mem=1024m最后一行后面添加了并按Ctrl+ X(Emacs 保存并启动内核),然后系统启动了。

我尝试将其添加mem=1024m到此列表的末尾和开头,但似乎并没有改变 RAM 分配。

答案1

对于使用 Grub2 的 Ubuntu 和基于 Debian 的安装,你不应该编辑/boot/grub/grub.cfg直接。该文件通过运行更新 grub命令,它会在不同时间自动发生(例如在安装新的内核映像时)。

相反,您需要将内核命令行选项添加到GRUB_CMDLINE_LINUX或者GRUB_CMDLINE_LINUX_DEFAULT中的变量/etc/默认/grub

# these options don't get added to recovery boot entry
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

# these options get added to both standard and recovery boot entries
GRUB_CMDLINE_LINUX="var1 var2 mem=1024m"

完成编辑后,请不要忘记生成一个包含更改的新 Grub 菜单:

sudo update-grub

答案2

显然,参数位于Linux的线:

linux /boot/vmlinuz-2.6.32-22-generic root=UUID=10270f21-1c42-494b-b\ d3f-813c23f6d518 ro quiet splash

因此新的启动参数行将是:

linux /boot/vmlinuz-2.6.32-22-generic root=UUID=10270f21-1c42-494b-b\ d3f-813c23f6d518 ro quiet splash mem=1024m

编辑- 我刚刚查看了 Stack Overflow,发现这个帖子。我很抱歉自己回答了自己的问题。我通常在遇到难题时提出问题,然后继续努力,所以有时我会比 SU 先找到答案。我这样做不是为了名誉。只是有时会发生这种情况。

答案3

难道不应该是:

mem=1024M

(注意大写的 M?或者这无所谓?)

或者:

mem=1024mb

我只是好奇,因为我在研究控制记忆的方法时偶然发现了这篇文章。

我一直在使用mem=1024mb,并将以下内容添加到/etc/default/grub

GRUB_CMDLINE_LINUX="mem=1024mb"

然后运行:

update-grub

答案4

这些选项被添加到标准和恢复启动项中:

GRUB_CMDLINE_LINUX="var1 var2 mem=1024m"

上面这一行的正确用法如下:

GRUB_CMDLINE_LINUX="mem=1024MB"

相关内容