[Linux] captive を試してみました
captive という,ntfs.sys 経由で NTFS のパーティションを Linux でマウントするためのツールがあります.
インストールして使ってみました.結論を言えば,私はこれでパーティションを破壊しました.
% sudo mount -t captive-ntfs /dev/sda2 /mnt/windows
日本語のディレクトリが文字化けするものの,読み出しは成功のようです.オプションがサポートされているか不明でしたが.とりあえず iocharset を指定してみます.
% sudo mount -t captive-ntfs -o iocharset=euc-jp /dev/sda2 /mnt/windows
やっぱりサポートされていないようです.文字化けしたままです.
NTFS はファイル名に UTF-8 を使用しているので,試しに screen で "kanji utf8" を指定したところ,一応表示してくれました.UTF-8 のファイル名をそのまま出力しているようです.
ファイル名はさておき,肝心の書き込み動作がどうなっているかを試してみます.
まず,書き込みを有効にしてマウントします.マニュアルによれば,"--rw" と "--sandbox-server" を指定すればいい,とのこと.
% sudo mount -t captive-ntfs -o --rw,--sandbox-server=/usr/sbin/captive-sandbox-server /dev/sda2 /mnt/windows
マウントは成功しました.次に適当なファイルを編集してみます.
% sudo vim /mnt/windows/boot.ini
書き込みに成功したようです.
それではマウントを解除して再起動.
% sudo umount /mnt/windows % sudo reboot
boot.ini が壊れている,旨のエラーが...! Oh! No!
CD からブートして回復コンソール直行!
C:\WINDOWS>chkdsk
壊れたファイルは found.000 に化けてくれましたが... boot.ini がないのでは起動できません.回復コンソールから boot.ini の再生成を試みます.
C:\WINDOWS>bootcfg /rebuild
ディスクが壊れているので... 云々と言われて愕然.chkdsk を何度実行してもダメなので,止む無く再インストールへ...
ホームディレクトリが丸ごと別パーティションになっているので(かつこのパーティションは captive で触っていないのです),Windows 再インストール後の復旧は楽チンでした.
ディレクトリに記録された所有者の SID と ACL の SID,および NTUSER.DAT に記録された SID を書き換えるだけでいいのです.
もとい,最初は NTUSER.DAT の方に気づかずに NTFS の SID だけを更新して「復旧できん! 何故だ!」と悩んでいましたが... やり方さえ分かってしまえば,復旧は楽でした.
しばらく captive を使うのはやめておきます.
トラックバック
トラックバック URI: https://www.pakunet.jp/hoge/trackback/2004112301
トラックバックはありません.