外付けハードドライブをファイルマネージャー(Thunar)から "安全に削除"すると、ハードドライブ全体の電源がオフになり、/dev
から消えます。したがって、内部的には、これはudisksctl power-off -b /dev/sdX
を呼び出すことで行われ、同じ効果があります。
どういうわけか、デバイスを再び立ち上げることが可能であるべきだと思いました。 https://stackoverflow.com/a/12675749 を読んだ後、電源を切るのはおそらく/sys/bus/usb/devices/usbX/power/control
に書き込むことで行われると思いましたが、sysfsはそのまま残っているようです。
では、udisksctlを使用して外部デバイスの電源をオフにした後、再度外部デバイスの電源をオンにするにはどうすればよいですか?私にとって、ファイルマネージャーからパーティションをアンマウントした後、パーティションを再マウントできないのは不愉快です。
Thunarがudisksctl power-off
のように動作している場合は、 sb_remove_store() を使用しています。
つまり、ThunarはMicrosoft Windowsとの機能の互換性が悪いということです。代わりにコマンドラインからeject /dev/sdX
を使用するだけで、ハードウェアを安全に取り外すことができます。唯一の違いは、LEDライトがオフにならないことです。イジェクトを解除するには、eject -t /dev/sdX
を使用します。
これは、Alan Stern(「削除」オプションを実行するLinuxカーネルコードを実際に作成した人)からの引用です。
実際、「remove」属性は、アップストリームポートを無効にするだけなので、どのUSBデバイスでも機能します。ただし、通常は大容量ストレージデバイスのみを対象としています。大容量記憶装置にのみ必要だと言っていましたが、それは正しくありません-必要とされていません。その主な目的は、デバイスのLEDをオフにして、取り外しが安全であることを示すことにより、Windowsに慣れている人をより快適に感じるようにすることです。