FAT32フォーマットのHDDをLinuxでサルベージしてみた。
ここ最近忙しかったらかなり長い間Linux機が放置状態に。元はと言えば、適当にファイルサーバでも作ろうかと思って、色々突っ込んであるHDDを刺しっぱなしにしてたんだった。
デバイスとパーティションの確認。
とりあえず、IDEのどこに配置したかも覚えていないので、そこから探さないと始まらない。どう調べたらいいか判らないので、fdiskでそれっぽい名前を入れて探りを入れてみる。IDE HDDは/dev/hdaから/dev/hddまでのようなので、順番にpオプションで確認すればパーティションが特定できるはず。
えーと、/dev/hdaはブート領域とLinux LVMのパーティーションしかないから、これは外れ。/dev/hdbは、/dev/hdb1に"W95 FAT32"のパーティションがあるからこれだな。
パーティションのマウント
次は、適当なディレクトリを作って、そこにマウントしないとダメらしい。
とりあえず、下のような感じでやったら、アクセスできるようになりました。
mkdir /mnt/hdb mount /dev/hdb1 /mnt/hdb
/etc/fstabの設定
調べてみたところ、/etc/fstabにも上と同じことを書いておくと、次回ログインから自動的にやってくれると言うことで、これも適当に編集。設定内容も良く判らないから、ダメ元でやってみる。
ここで、3つ目の設定項目を"auto"にしてしまったため、後で問題が発生します。
/dev/hdb1 /mnt/hdb auto defaults 1 3
sambaの設定
ただマウントしただけだと意味がないので、Windows機で見れるようにsambaの設定をしてみる。
サーバのインストール確認
Fedora Core3のインストール時にsamba入れたかどうかも自信がないので、以下の手順で確認
# rpm -qa | grep samba samba-3.0.8-0.pre1.3 samba-common-3.0.8-0.pre1.3 samba-client-3.0.8-0.pre1.3 system-config-samba-1.2.21-1
どうやら、必要最低限のものはインストール済みのようです。
SWATのインストール
とりあえず使いたいだけだし、マンドクセなのは嫌いなので、SWATでsamba設定を済ませてみます。
Fedora Core3のムックについてたCDから、SWATのRPMファイルを探して、右クリックで「"Install Package"で開く」を選択。以上。
/etc/xinetd.d/swatの編集
/etc/xinetd.d/swatのdisableが"yes"だと無効のままらしい。これをnoに編集。
他にも、SWATの設定を他のPC上で行う場合は、only_from行を編集する必要があるんですが、今回は不要なのでパス。
ファイアウォール設定
ファイアウォールがあるので、sambaとSWATのポートの穴を空けないといけないらしい。本来は、/etc/sysconfig/iptablesファイルを編集するらしいんですが、sambaすら面倒な人間なので、これもGUIで設定。
「セキュリティレベルの設定」ツールを起動して、「他のポート」に以下を設定。SWAT用の901ポートはTCPだけしか空けませんでしたが、問題はなさそう。
137:udp,137:tcp,138:udp,138:tcp,139:udp,139:tcp,901:tcp
で、一応ファイル修正したはず?なので、iptablesを再起動しました。(不要?)
# run_init /etc/rc.d/init.d/iptables restart
smbの自動起動設定
ランレベル3と5の時にsmbを自動起動しておくようにすると、sambaとSWATが自動起動するようです。
# chkconfig --level 35 smb on
終わったら、下記のコマンドで確認します。
# chkconfig --list | grep smb
サービスの起動
sambaとSWATのサービスを起動
# run_init /etc/rc.d/init.d/smb start # run_init /etc/rc.d/init.d/xinetd restart
SWATの設定。
Linux機のFirefoxを起動して、http://localhost:901に接続すると、SWATにログインできました。
「GROBAL」で、workgroupをWin機と同じものに設定。netbios nameは被らない名前に設定。「password」でsamba用のユーザを登録。
最後に、smbdとnmbdを再起動。
ここまでやってみて確認
ようやくsamba設定の全工程が完了したので、Win機から確認。シンボリックリンクを辿ってちゃんと/dev/hdb1の中身が見れた!
と思いきや、一部のフォルダ(とファイル)が漢字だったのがいけなかったらしく、アクセスできない箇所が続出!
ディレクトリ名を変えようかとも思ったけど、複数ディレクトリが"___"みたいな名前になってしまったので、それも出来ず…。orz
/etc/fstabの設定
途方にくれていたところ、@ItのLinux Tipsで、以下の記事を発見。
@IT:Windowsパーティションの日本語ファイル名を表示するには
早速/etc/fstabをviで開いて、ファイルシステムを"auto"から"msdos"に変更し、PCを再起動してみた所、ディレクトリ名は一部狂ってますが、とりあえず正常にアクセスできるようになりました。
本当は、ファイルシステムを"vfat"にするのが正しいようなんですが、最初に"auto"にしてしまったせいか、それとも、2回目に"msdos"にしてしまったせいか、名前がダブって表示されてしまうため、やむなくmsdosで使ってます。
ファイルのサルベージが住んだら、ちゃんとフォーマットかけよう…。