Windowsで使ってたHDDがLinuxでマウントできない話
最近自宅のメインPCをWindowsからLinuxに変えて、SSDは完全に初期化してインストールしたんですけど、HDDの方はデータ残したら、HDDがうまくマウントできなくなって困った話
HDDがマウントできない
インストールしたディストリビューションはUbuntuベースのelementary OS(0.4.0 Loki)です。
ファイルマネージャからドライブをダブルクリックしてもマウントできなかったので、mountコマンドで手動でマウントしようと思ったら
$ sudo mkdir /media/TOSHIBA $ sudo mount /dev/sda1 /media/TOSHIBA The disk contains an unclean file system (0, 0). Metadata kept in Windows cache, refused to mount. Failed to mount '/dev/sda1': 許可されていない操作です The NTFS partition is in an unsafe state. Please resume and shutdown Windows fully (no hibernation or fast restarting), or mount the volume read-only with the 'ro' mount option.
えー、マウントできない。
Windowsのハイバネーションも高速起動も切ってるので、とりあえずエラーメッセージに従って、読み取り専用でマウントしてみる。
$ sudo mount -o ro /dev/sda1 /media/TOSHIBA $ df Filesystem 1K-blocks Used Available Use% Mounted on udev 8147088 0 8147088 0% /dev tmpfs 1634860 9836 1625024 1% /run /dev/sdb1 464151320 15489856 425060876 4% / tmpfs 8174292 6008 8168284 1% /dev/shm tmpfs 5120 4 5116 1% /run/lock tmpfs 8174292 0 8174292 0% /sys/fs/cgroup tmpfs 1634860 40 1634820 1% /run/user/1000 /dev/sda1 1953512444 224375328 1729137116 12% /media/TOSHIBA
ひとまずマウントはできたっぽい。
$ ls -a /media/TOSHIBA
. ..
無理やんけ。
読み取り専用でマウントしても読めないのか。
/etc/fstabを上手に編集してあげたら良さそうだけど、変にミスってHDDのデータ飛んでも困るので、ひとまず放置。
ntfsfixを使う
ネットで検索したら、NTFSでフォーマットされてるドライブが認識できないときはntfsfixを使えばいいそうです。
manを読むと、ntfsfixは一般的なNTFSの問題を解決してくれるユーティリティみたいなので、NTFS周りで問題が起きたときはとりあえずntfsfixすればいいのかな?(要出典)
ファイルシステムの話は主に使われているのがNTFSとFAT32の2種類っていうことぐらいしか知らないので、今度一回ちゃんと調べないとなぁ......
$ sudo ntfsfix /dev/sda1 Mounting volume... The disk contains an unclean file system (0, 0). Metadata kept in Windows cache, refused to mount. FAILED Attempting to correct errors... Processing $MFT and $MFTMirr... Reading $MFT... OK Reading $MFTMirr... OK Comparing $MFTMirr to $MFT... OK Processing of $MFT and $MFTMirr completed successfully. Setting required flags on partition... OK Going to empty the journal ($LogFile)... OK Checking the alternate boot sector... OK NTFS volume version is 3.1. NTFS partition /dev/sda1 was processed successfully.
お、うまくいったっぽい。
後は、さっき読み取り専用でマウントしていたので、アンマウントしてから再度マウントすればいけるはず。
$ sudo umount /dev/sda1 $ sudo mount /dev/sda1 /media/TOSHIBA/ $ ls /media/TOSHIBA System Volume Information Apprication Game Music Picture
ちゃんと認識できました。
ntfsfixを使うときの注意点
今回はなんとなく勢いでマウント中のドライブに対してntfsfixしちゃったけど、一回ちゃんとアンマウントしてからやりましょう。
データが飛んでも知りません。多分飛ばないけどね(でも再起動しないとダメとかはありそう)
まとめ
ntfsfixのオプションを眺めていると、まるでWindowsがダーティービットを消してないみたいな気がするんだけど(気がするだけでよく調べてない)なんでLinuxで読めなくなるのかよくわからないので、また今度ゆっくり調べたい。