Vitruvian Penguin
knoppix

[knoppix:3236] Re:knoppix.img をmount する方法(Was:Re:貧弱な環境でKNOPPIX を動作させる)

Date: Thu, 06 May 2004 21:40:41 +0900
X-mailer: Mozilla 4.78 [ja] (Win98; U)
いいじまです。
実機の環境がないので半分憶測で書いちゃいますが…

「read-only」というキーワードから思い当たるところがあります。

/dev/hda1 はたしか、デフォルトでは read-only になっていたはずです。
試しに、
        touch /mnt/hda1/KokohaNandemoIi.tekitou
とでもしてみてください。「書き込めない」というエラーになると思います。
さらに
        cat /etc/fstab
としてみると、hda1 のところに、ro(=read-only)という指定がついている
はずです。

そこで次に試すのは、このコマンドです。
        mount -o loop,ro /mnt/hda1/knoppix.img ~/tmp

これで、読み込みだけはできるようになるはずです。
~/tmp 以下に書き込めないことを確認してから、
        cd
        umount ~/tmp
        mount -o rw,remount /mnt/hda1
で hda1 に書き込みができるようにします。

こんどは
        touch /mnt/hda1/KokohaNandemoIi.tekitou
が成功して、サイズ 0 のファイルが作られるはずです。

そこで
        chmod +w /mnt/hda1/knoppix.img ←多分要らないと思いますが念のため
        mount -o loop,rw /mnt/hda1/knoppix.img ~/tmp
とすれば、成功すると思います。

                                ☆

以下、失敗部分の分析。

>  # mount -t vfat -o loop=/dev/loop0 /mnt/hda1/knoppix.img tmp
>  この結果mountはできず、次のようなメッセージが表示されました。
>  「間違ったファイルシステムタイプ。不正なオプション。/dev/loop0の
> スーパーブロックが不正、或いはファイルシステムのマウントが多すぎます。」

loop のあとの =/dev/loop0 という指定が余計だからではないでしょうか。

> >     # mount /mnt/hda1
> >     # fsck -a /mnt/hda1/knoppix.img
> 
>  上記の通りタイプしてみました。すると以下のようなメッセージが返って
> きました。記します。
> 「fsck,ext2:読み込み専用ファイルシステムです while trying to open
> /mnt/hda1/knoppix.img
> Disk writer-protected:use the -n option to do a read only check of the
> device」

これはたぶん、/mnt/hda1 が read-only になっているせいでしょう。

>  「fsck -n /mnt/hda1/knoppix.img」
>  すると以下のようなメッセージが返ってきました。記します。
>  「fsck /34-WIP(21-May-2003)
>     e2fsck / 34-WIP(21-May-2003)
>    Couldn't find ext2 superblock trying backup blocks....
>   fsck,ext2:Bad magic number in superbolck while trying
>   to open  /mnt/hda1/knoppix.img
>   The superblock couldn't be read or doesn't describe a
>   correct ext2 filesystem.If the device is valid and it really
>   contains ext2 filesystem (and not swap or ufs or something
>   else),then the superblock is corrupt,and you might try running
>   e2fsck with an alternate superblock.
>        e2fsck -b8193 <device>
> 

ここでは、fsck は knoppix.img が ext2 形式だとみなして、superblock を
探しにいっていますね。キーポイントは
        |If the device is valid and it really contains ext2 filesystem
        |(and not swap or ufs or something else)
の部分で、たぶん knoppix.img は「something else」、この場合は FAT32 にな
っていて、そのせいで fsck では扱えない、ということでしょう。

fsck は FileSystem ChecK(er) の略で、パーティションが壊れていないかどうか
調べたり、壊れている部分があったら修復したりするものです。
Windows の scandisk や chkdsk に相当するものです。

それから、superblock とは、そのパーティション全体に関わる重要な情報が含
まれている部分で、たとえばパーティションのどこの部分にファイルが配置され
ていてどこの部分が空いているか、といった情報を記録しています。

「ブートセクタ」という単語を聞いたことがあるかと思いますが、ブートセクタも
superblock の一部です。(…この先は、MBR がどうのこうの、PBR がどうのこう
の、という話になって、私はついていけない(^^;))

試しに、
        less /dev/hda1
としてみてください。
先頭の部分に色々な情報が入っているのが読みとれると思います。

less /mnt/hda1 とするとまた別の情報が見られるはずです。

========================================================================
飯嶋 浩光 / でるもんた・いいじま   http://www.ht.sakura.ne.jp/~delmonta/
IIJIMA Hiromitsu, aka Delmonta           mailto:delmonta@xxxxxxxxxxxxxxx
<Prev in Thread] Current Thread [Next in Thread>