web-dev-qa-db-ja.com

ISO 9660は、Live CDパーティション上のLinuxファイルシステムとどのように共存できますか?

私はこれに混乱しています。私の理解では、ライブCDはISO 9660ドライバーを介してアクセスされることがありますが(起動せずにファイルにアクセスする場合など)、システムの起動時に明らかに別のファイルシステムが使用されます。たとえば、起動していないときにWindowsからアクセスできるExt3ファイルシステムを備えたLinux LiveCDを見てみましょう。 Windowsがアクセスするときは、Windowsが読み取れる何らかのフォーマットが必要です。これはISO9660だと思います。しかし、起動可能にするには、パーティションをLinuxファイルシステムとしてフォーマットする必要があります。パーティションをISO9660ファイルシステムとLinuxファイルシステムの両方としてフォーマットするにはどうすればよいですか?私がここで間違っている根本的な何かがあることを私は知っています、しかしこれはあなたがただグーグルして答えを得ることを期待できる種類の質問ではありません。

7
Zen Hacker

ただし、起動可能にするには、パーティションをLinuxファイルシステムとしてフォーマットする必要があります

ええと、いいえ– Linuxが理解し、基本的なPOSIXパーミッションビットを格納できるファイルシステムである必要があります。 RockRidge拡張機能を備えたISO9660がその役割を果たします。 (NTFSとntfs-3g、または初期の奇妙な「umsdos」もそうです。)

ただし、ほとんどのライブCDの場合、OSルートファイルシステムはCDに直接保存されません。これは、losetupを使用してマウントされるイメージファイル(より一般的には、ext3ではなくsquashfs)内にあります。

実行中のライブCD内でfindmntを実行すると、/は、下位層(読み取り専用ファイルを含む)としてsquashfsイメージを持つある種のoverlayfs/unionfsであることがわかります。上位層としてのtmpfs/ramdisk(揮発性の変更を含む)。

11
user1686