如何创建 ext4 ramdisk?

如何创建 ext4 ramdisk?

首先,我创建了要安装到的目录。

mkdir /mnt/ramdisk

现在,我可以通过 ramfs 或 tmpfs 轻松地将其转换为 ramdisk

mount -t tmpfs -o size=512m tmpfs /mnt/ramdisk

我找到了一个有关如何创建 ramdisk 的教程将该语法分解为:

mount -t [TYPE] -o size=[SIZE] [FSTYPE] [MOUNTPOINT]

教程指出我可以用 ext4 替换 [FSTYPE] 以将 FS 更改为 ext4。但是,我不相信这种方法是正确的,并且作者错误地判断了更改 [FSTYPE] 参数的实际作用。

更新:对于那些感兴趣的人,G-Man 和 Johan Myréen 参与了我对 [FSTYPE] 的猜测。本质上, [FSTYPE] 参数充当mount.有关更多详细信息,请参阅这篇文章的评论。

我想知道创建 ext4 ramdisk 的正确方法。也就是说,我想要内存中使用 ext4 文件系统的临时目录。如何才能实现这一目标?

答案1

mkdir /mnt/ramdisk
mount -t ramfs ramfs /mnt/ramdisk
dd if=/dev/zero of=/mnt/ramdisk/ext4.image bs=1M count=512
mkfs.ext4 /mnt/ramdisk/ext4.image
mkdir /mnt/ext4ramdisk
mount -o loop /mnt/ramdisk/ext4.image /mnt/ext4ramdisk

但请记住,ext4 并不是设计用于 RAM 的!tmpfs并且ramfs在 RAM 中总是比任何基于磁盘的文件系统更好的选择。

答案2

我将 Ipor Sircer 的回答给我的想法与 Stephen Kitt 的使用建议结合起来RAM磁盘块设备

首先,我编译CONFIG_BLK_DEV_RAM到我的内核中。我将 RAM 磁盘的默认数量从 16 个更改为 8 个 ( BLK_DEV_RAM_COUNT),尽管这是基于偏好而非必要。

接下来,我创建了要安装到的文件夹。

mkdir /mnt/ext4ramdisk

最后,我用 ext4 格式化了 RAM 磁盘块设备并安装了它。

mkfs.ext4 /dev/ram0
mount -t ext4 /dev/ram0 /mnt/ext4ramdisk

相关内容