web-dev-qa-db-ja.com

休止状態のWindowsパーティションをマウントする

起動時にWindowsパーティションをマウントしようとしています。 Windowsがシャットダウンしているときは正常に動作しますが、Windowsが休止状態のときは、読み取り/書き込みとしてマウントできず、起動時にルートシェルに送信されます。 fstaberrors=remount-roを追加してこれを解決しようとしました。休止状態のときに読み取り/書き込みとしてマウントできない場合は、読み取り専用でマウントしますが、そうではありません。動作しますが、起動時にエラーが発生します。

これを回避し、可能な場合は読み取り/書き込みとしてパーティションを起動し、休止状態の場合は読み取り専用として起動する方法はありますか?

# <file system> <dir>   <type>  <options>   <dump>  <pass>
UUID=1f026730-1640-42fa-b5f6-eca9749b3a98 /boot ext4 defaults 0 2
UUID=2b5c372b-d6d5-4c27-9c3f-5e26ca84d3a7 /home ext4 defaults 0 2
UUID=2c154114-4898-45e6-8455-575e910d8382 / ext4 defaults 0 1
UUID=92041326-03a7-4fdc-9211-c060e83d662e swap swap defaults 0 0
UUID=A28034F38034CF91 /media/win7 ntfs defaults,user,exec,dev,suid,errors=remount-ro 0 0
5
BrtH

/etc/fstabから行を削除することになりました。 mountからのリターンコードを使用して、Windowsパーティションを~/.xinitrcにマウントします。

# Mount windows
Sudo mount -o defaults,user,exec,dev,suid /dev/sda1 /media/win7
if [ $? -eq 14 ]
then
  Sudo mount -o defaults,user,exec,dev,suid,ro /dev/sda1 /media/win7
fi

パーティションのマウント方法について警告/通知を受けるために、 Conky 構成に以下も追加しました。

/dev/sda1 (Windows) is mounted:
${if_match "${exec mount | grep /dev/sda1 | grep -Eo [^a-z]ro[^a-z] | grep -o ro}" == "ro"}${font bold}${alignc}READ-ONLY: WATCH OUT!!!
${else}${alignc}R/W (normal)
${endif}
3
BrtH

Ntfs-3gはインストールされていますか? manページ は言う:

読み取り専用マウントの場合とは異なり、NTFSボリュームが休止状態の場合、読み取り/書き込みマウントは拒否されます。 Windowsを再開して適切にシャットダウンするか、このオプションを使用してWindows休止状態ファイルを削除する必要があります。これは、保存されたWindowsセッションが完全に失われることを意味することに注意してください。このオプションは、ご自身の責任で使用してください。

したがって、読み取り/書き込み機能を使用してマウントする場合は、remove_hiberfileを使用して休止状態ファイルを削除する必要があります。とにかくそのパーティションをマウントするためにforceオプションを使用したことも覚えています。

1
Shabgard

休止状態ファイルを削除しない限り、書き込みモードでのパーティションのマウントを拒否しているのはntfs-3gドライバです。

それを回避するのが良い考えかどうかを議論せずに、無料の Linux 8.5 Express用のParagonNTFS&HFS (登録が必要)などの別のドライバーを使用してみることができます。

これを機能させるには、ntfs-3gをアンインストールまたは無効にする必要がある場合がありますが、アンインストールが機能することは保証されていません(または簡単に再インストールできます)。エラーが発生した場合に復元できるLinuxシステムでテストを行うことをお勧めします。

0
harrymc