0

そうですね、たとえば /mnt/sda1/Ramdisk.img にマウントされたデバイスに Ramdisk イメージがあります。mke2fs を使用する必要がないように、生データを /dev/ram0 の ramdisk デバイスに直接コピーしたいと考えています。イメージとデバイスをマウントすると、両方が同一であることがわかります。

理想的には、これは Linux コマンドのみを使用します。

これまでの私の考え: イメージをループバックにマウントし、基本的な IO を使用して、あるデバイスから別のデバイスにデータを入れます。おそらくCでこれを行うことができます。また、何らかの方法でRAMディスクデバイスの物理アドレスを見つけ、LinuxまたはCコマンドを使用してファイルをメモリに直接配置します。

前もって感謝します。

PS: カーネルが ramdisk に使用されたメモリに何らかのフラグを立てることを知っているので、システムはそれを再利用しません。これらの旗がどこにあるか知っている人はいますか?

4

1 に答える 1

1

どの種類のコピー コマンドでも、コピー先にパーティションとファイル システムが必要になります。ただし、ddは、ディスク (例: /dev/sda) またはパーティション (例: (dev/sda1) レベル) を指定するだけで、ディスクまたはパーティション レベルで機能します。したがって、理論的には、次のように実行できます。

dd if=ramdisk_image_file of=/dev/ram0
于 2011-05-10T17:07:18.687 に答える