首先,我创建了要安装到的目录。
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