AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 548200
Accepted
javanix
javanix
Asked: 2013-10-24 14:03:56 +0800 CST2013-10-24 14:03:56 +0800 CST 2013-10-24 14:03:56 +0800 CST

每次修改 grub.conf 时是否需要更新 initramfs 映像文件?

  • 772

我试图解决一个涉及遗留 grub (0.97)、LVM2 和 dracut 的 linux 引导配置问题,并试图消除一些红鲱鱼。

我的试错过程是这样的:

  1. 修改 grub.conf
  2. 通过 grub shell 将 grub.conf 安装到 MBR
  3. 重启
  4. 内核恐慌

为了删除 #4,我是否错过了需要更新 initramfs 映像的步骤?

initramfs 映像包含哪些可能与引导期间挂载的文件系统有关的内容?

我试图弄清楚如何通过将新操作系统放在备用 LVM 分区上,然后修改 grub.conf/menu.lst 以从备用分区启动,以最少的停机时间编写正在运行的系统的大规模升级脚本。

该操作系统基于 CentOS 6,我们使用 Anaconda 安装程序 - 出于某种原因,Anaconda 创建了一个/boot/grub/grub.conf文件并将其符号链接到/boot/grub/menu.lst.

lvm
  • 2 2 个回答
  • 2467 Views

2 个回答

  • Voted
  1. Best Answer
    Zoredache
    2013-10-24T16:21:24+08:002013-10-24T16:21:24+08:00

    您提到了 grub.conf 和 Grub 0.97。Grub 0.97 不使用grub.conf. 它使用menu.lst. 听起来好像您的系统上都安装了两个二进制文件,并且您有些混淆了。

    更改 grub.conf 或 menu.list 时不必重新构建 initramfs/initrd 文件。两者之间几乎没有关系,至少在我见过的任何发行版上都没有。

    grub 文件必须存在于 initramfs 之外,因为它们是在加载 ramdisk 之前使用的。Grub 调用内核并将其指向 ramdisk 映像的位置。例如,如果您在 grub 菜单中添加另一个选项来启动另一个操作系统,则您无需对 initramfs 执行任何操作。

    如果您确实更改了有关系统启动方式的某些内容,那么您可能需要同时更改 grub 配置和其他配置,这可能需要您更新 initramfs。因此,您可能需要同时更新两者,但您不需要更新 initramfs,因为您更新了 grub,或者相反。

    • 4
  2. Laszlo Valko
    2013-10-24T14:22:36+08:002013-10-24T14:22:36+08:00

    必须有一个引导分区,其中包含

    • grub.conf,
    • 要加载的内核,
    • initramfs 图像,
    • 一些 grub 组件(通常安装在 /boot/grub 中)。

    这个引导分区必须是 grub 可以读取的,所以它不能在 LVM 中。在引导磁盘的前面创建一个单独的小型主分区是一个很好的做法(我通常为此使用 100MB,通常挂载为 /boot)。

    initramfs 中存在什么以及如何配置它取决于您的实现。通常,您的 Linux 发行版包含其特定的 initramfs 实现(因此这完全取决于您使用的发行版)。

    initramfs 必须能够挂载根文件系统,为此,它需要内核模块来访问该磁盘、分区和文件系统,除非它们已经编译到内核本身中。它还需要某种方式来指定您选择的根文件系统以及要使用的挂载选项。在更改某些设置、选择不同的根文件系统或使用不同的挂载选项时,某些实现必须更新 initramfs 映像。但是,可以通过从内核命令行读取必要的参数来编写不需要任何更新的 initramfs 实现,除非在更改/升级/重新编译内核和模块时。所以要知道你的 initramfs 实现是如何工作的,你要么必须阅读里面的脚本,

    • 3

相关问题

  • OpenBSD 和文件系统快照

  • 卷组空间不足。我该如何收回它?

  • LVM 快照是这样工作的吗?

  • LVM 和快照

  • 如何在 Ubuntu 上挂载 LVM 分区?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve