いいじまです。
実機の環境がないので半分憶測で書いちゃいますが…
「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
|