2014年5月10日土曜日

Ubuntu で Windows 8.1 の NTFS パーティションをマウント

Ubuntu と Windows をデュアルブートにしてまして、Windows はたまにしか使わないので、バックアップは Ubuntu で Windows のパーティションをマウントして rsync で実施しています。

しかし、Windows 8.1 の高速スタートアップが有効になてっていると Ubuntu で Windows の NTFS パーティションをうまくマウントできなかったので調べてみました。

環境

以下のデュアルブートです。

  • Ubuntu Ja 14.04 Desktop Amd64
  • Windows 8.1

マウントできない事象

まず、Unity のデスクトップで Windows 8.1 の NTFS パーティションのアイコンが表示されてます。

http://2.bp.blogspot.com/-lgLmt0zhfno/U2yEpjfJDuI/AAAAAAAAADU/PAdi4MYitqA/s320/VolumeIcon.png

通常であれば、このアイコンをクリックするとパーティションがマウントされフォルダとして開かれるはずですが、なにも起こらずうまくいきません。

手動でマウントしてみると以下のようなエラーメッセージが出ました。
$ sudo mount /dev/sda5 /some/where/mount/point
Windows is hibernated, refused to mount.
Failed to mount '/dev/sda5': 許可されていない操作です
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 がハイバネートされ、スリープ状態になっているために Ubuntu ではうまくマウントできないようです。

エラーメッセージのとおり、解決策としては以下の2つがあるようです。

  • Windows を (ハイバネートや高速スタートアップをしないで) 完全にシャットダウンする
  • または、リードオンリーでマウント

今回は rsync でバックアップするだけなので、リードオンリーでマウントします。

fstab を編集

リードオンリーでマウントするために fstab にレコードを追加します。

まず、今回の NTFS パーティションは /dev/sda5 です。このパーティションの UUID を確認します。

$ sudo blkid | grep sda5
/dev/sda5: UUID="0123456789ABCDEF" TYPE="ntfs"

マウントポイント作成

$ sudo mkdir -p /some/where/mount/point

確認した UUID で /etc/fstab に以下の一行を追加

UUID=0123456789ABCDEF    /some/where/mount/point    ntfs    ro    0    0

OS を再起動すると /some/where/mount/point に NTFS パーティーションがリードオンリーでマウントされてます。

おまけ

今回はリードオンリーでマウントしましたが、別の解決策の「Windows を (ハイバネートや高速スタートアップをしないで) 完全にシャットダウンする」であれば NTFS パーティションで読み書きできるようになるようです。

試していませんが、以下の URL が参考になりそうです。
http://itsfoss.com/solve-ntfs-mount-problem-ubuntu-windows-8-dual-boot/

0 件のコメント:

コメントを投稿