1

Linuxカーネルを変更して、vhdファイルをマウントしてそこから起動できるようにしたい...アイデアを教えてください!!! Linuxカーネルはinitrd.gzがロードされた後にハードディスクパーティションをマウントすることがわかっているので... Linuxパーティションをマウントする代わりに、ubuntuがインストールされているハードディスクのどこかにあるvhdファイルをマウントし、そこからシステムを起動する必要があります. Windows 7 は vhd から起動するこの機能をサポートしていますが、ubuntu はサポートしていません。そのため、yi は、この目的のためにカーネルを変更する方法を尋ねていました。ありがとうございました

4

2 に答える 2

2

これは簡単なことではありません。

Linux のロードを開始するには、ブートローダーが使用されます。このプログラムは、vmlinux または vmlinuz ファイルと initrd ファイルを見つけて、それらを RAM にロードします。

VHD ファイルは NTFS ファイルシステムに保存されていると思います。VHD ファイル内には、vmlinuz および initrd ファイルがあります。

そのため、最初に、ブートローダーは NTFS を理解する必要があります。次に、ブートローダーは VHD を理解する必要があります。

その後、Linux のロードを開始することさえできます。

その時点で、Linux には使用可能な NTFS ファイルシステム ドライバーがあるため、作業は簡単になります。おそらく、FUSE と組み合わせた NTFS-3G ユーザー空間ドライバーです。VHD フォーマットはわかりませんが、VirtualBox の vdfuse を使用してマウントできます。

NTFS および VHD マウント プログラムは、initrd 内に配置する必要があります。その後、initrd は VHD からルート パーティションをマウントし、通常の Linux ユーザー空間に進むことができます。

于 2012-08-24T16:52:41.863 に答える