2003/10/15

LinuxとWindowsをデュアルブートで使っていると、データを交換するために双方のパーティションにアクセスしたくなることがあります。FAT/FAT32パーティションであればLinuxから普通にマウントできるらしいのですが、NTFSの場合はちょっと工夫が必要です。

Linux → NTFS

まずLinuxからNTFSパーティションをマウントするには、カーネルが対応した設定で構築されている必要があります。Debian(woody)はそういう状態になっていないので、カーネルの再構築が必要になります。

$ su -
# apt-get install kernel-source-2.4.18
# cd /usr/src
# tar xvfj kernel-source-2.4.18.tar.bz2
# ln -s kernel-source-2.4.18 linux
# cd linux
# make menuconfig

make menuconfigでは、filesystemのNTFS filesystem supportを「m」にします。あとは次のようにすればカーネルの再構築、インストールができます。

# make-kpkg clean
# make-kpkg --revision=20031010.1 kernel_image
# cd ..
# dpkg -i kernel-image-2.4.18_20031010.1_i386.deb

このカーネルで起動したら、タイプにntfsを指定してマウントできます。

$ su -
# mkdir /mnt/win
# mount -t ntfs /dev/hda1 /mnt/win

システムブート時に自動的にマウントさせるには、/etc/fstabに次のようなエントリを書いておきます。

/dev/hda1   /mnt/win   ntfs   defaults   0 0

以上でNTFSパーティションにアクセスできるのですが、この方法には欠点があります。書き込みができないのです。これは現在開発中のカーネル2.6でも変わらないそうなので、将来的にもあまり期待できません。しかしこれではLinux上で作ったファイルをWindowsに持って行きたい時に困ってしまいます。そこで、今度は逆にWindows上からext2パーティションにアクセスする環境を作ります。

Window XP → ext2

LinuxからリードオンリーでNTFSパーティションにアクセスできたら、あとはWindows側から少なくともリードオンリーでext2パーティションにアクセスできれば、双方向のファイル交換ができるというわけです。

Windows XPからext2パーティションにアクセスする、フリーのソフトとしては、次のものがあります。

Ext2Fsd

http://sys.xiloo.com/

ext2パーティションをWindowsのドライブにマウントしてしまうソフトです。

アーカイブを解凍いしてできるSetupフォルダのsetup.batを実行してインストールします。あとはMountフォルダで、コマンドラインから、

> mount 0 1 f:

てな具合にやれば、hd0のパーティション1がFドライブにマウントされます。あとは普通にドライブとして利用できます。

Ext2Fsdはリード&ライトに対応しているとのことですが、書き込みの方法が分かりませんでした。

Explore2fs

http://uranus.it.swin.edu.au/~jn/linux/

こちらはext2パーティションにアクセスするための独立したアプリケーションです。手軽に使えるので、たまに使いたい時などはこちらのほうが便利かもしれません。ただファイルをディレクトリごとコピーする、といったことができないのと、速度がちょっと遅い気がします。

この他には次のようなものもあるようです。

winext2fsd - http://sourceforge.net/projects/winext2fsd/

これはNT4.0じゃないとインストールできないようです。

ext2forxp - http://sourceforge.net/projects/ext2forxp/

これはXP用ですが、まだリリースされていないようです。