linux - 如何在 CentOs 中编辑 initramfs 以在引导后添加新分区

标签 linux shell linux-kernel centos partitioning

我想通过编辑现有脚本或在已安装 CentO 的引导文件夹中的 initramfs 中添加新脚本来添加新的 ext3 分区。然后通过将新的 initramfs 镜像替换为其他已安装的 centos,只需重新启动,一个新的分区(及其文件系统)就会出现在新的 CentO 中。

我的问题是,我不知道我应该更改 initramfs 中的哪个脚本,或者我应该在那里编写哪个新的 shell 脚本?使用哪个命令以及如何使用?例如,我应该使用 fdisk 命令吗?我尝试但没有成功..

我们将不胜感激。

最佳答案

我要在这里继续猜测。

如果我正确理解你想做什么,你想做的是让另一个 ext3 分区在 CentOS 中可见。

如果是这样,您要确保该分区存在。也许你有一个名为 /dev/sda 的磁盘,它可能有 2 个分区:

     sda1 ext3 mounted at /boot
and  sda2 ext3 mounted at /

要查看此文件,请使用 sudo blkidfdisk-l 或类似工具。这些分区在启动时从 /etc/fstab 中的列表加载。

假设您的磁盘上还有剩余空间。使用 fdisk/gparted 创建一个新的 ext3 分区 sda3。在/etc/fstab 中为该磁盘添加一行。

现在它应该可以在重启后或 sudo mount -a 后访问。

我可能完全误解了你的问题。

编辑#1

我想我明白你现在想做什么,你可能想编辑 initramfs 中的 /etc/fstab 。我从来没有尝试过这样做,我不知道它是否会起作用,但它应该。在任何情况下,除非您真的需要将分区挂载到 initramfs 中,否则请使用上面的方法将其挂载到 fstab 中。

提取和重新打包编辑过的 initramfs 的内容相当复杂,但这里有一些链接解释了如何提取和重新打包,它们适用于 gentoo,但应该没有区别:

如果您阅读了这些线程,您应该能够使用脚本或 C 程序来提取 initramfs 的内容,更改 initrams 中 /etc/fstab 的内容,然后将它们一起提取回来.如果您需要为不同的计算机执行此操作,它们将需要 initramfs 中的相同内容,或者您​​需要为每台计算机设置执行此操作。

关于linux - 如何在 CentOs 中编辑 initramfs 以在引导后添加新分区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17837603/

相关文章:

macos - 从 OS X Dock 执行 Shell 脚本?

linux - 将字符串或数组中的代码插入到whiptail中

c - Linux 内核库

linux - 从内核空间关闭(嵌入式)linux

linux - 为什么 Linux 内核的 pr_debug 没有给出任何输出?

c - HTTP 持久连接

基于 linux 终端的桌面

linux - dlopen 不尊重 `RTLD_LOCAL` ?

ruby-on-rails - 在 linux 上安装 ruby​​ on rails 进行开发的最佳方式

linux - 生成包含 linux 目录中所有文件列表的文件