eject
コマンドを使用して、接続されているほとんどすべてのハードウェアコンポーネントを取り出すことができますが、USBドライブを取り出すために使用できますか?
eject
コマンドでUSBドライブと外付けHDDを取り出すことはできますか?
いいえ、必要はありません。 eject
は、光学式ドライブを開くために使用され、メディアを直接そこからプルすることはできません。
USB/eSATAなどの場合は、アンマウントで十分です。ストレージデバイス。
はい。例えば:
Sudo eject /dev/sda
機械的なイジェクトハードウェアが必要であることを示す他の回答は、ここでは正しくありません。
アンマウントはイジェクトと同じではありません。
eject
は機能しますが、USB rotatingドライブに関しては実際には「ジョブを終了」しません。
USB外付けハードドライブを取り外す最良の方法適切なアンマウント後は、次のとおりです。
udisks --detach /dev/sdb
通常、これによりドライブが正常にスピンダウンします。
正確には、 現在の実装 :
このプロセスは、推奨される手動の手順 ここ に近いものです。最初の答えは askubunt でした。
編集:また、g.rocketが指摘するように、このコマンドは同等である可能性があります:
udisksctl power-off -b /dev/sdb
ディスク/ dev/sdbを手動でアンマウントする手順(Sudoが必要):
echo 'offline' > /sys/block/sdb/device/state
echo '1' > /sys/block/sdb/device/delete
これにより、デバイスの電源が完全にオフになり、システムから切り離されます。切断されて再接続されるまで、再度検出されることはありません。
eject(1)のマニュアルページを注意深く読むと、排出する方法が4つあることがわかります。
_ -r This option specifies that the drive should be ejected using a CDROM
eject command.
-s This option specifies that the drive should be ejected using SCSI
commands.
-f This option specifies that the drive should be ejected using a remov‐
able floppy disk eject command.
-q This option specifies that the drive should be ejected using a tape
drive offline command.
_
HDD/SCSIでejectを呼び出すと、ioctl(fd, SG_IO, (void *)&io_hdr);
コマンドが発行されます(_eject.c
_ソースからコピー)。
MS WindowsまたはMaxOSXでデバイスを安全に削除するため、これは同等です。
一部のデバイスでは、これには特別な意味があります。たとえば、Kindle 3のejectコマンドが充電モードに移行し、画面がロックされる前のデバイスでの閲覧を許可した後。
別のユーティリティはこのように同じことを行います
_scsi-spin --force --down /dev/sda
_
Osxコマンドラインでは diskutil を使用する必要があります[〜#〜] label [〜#〜]はUSBのラベルですドライブ。
diskutil eject /Volumes/<LABEL>
「イジェクト」は、トレイやその他のロードメカニズムがないハードウェアには意味がありません(テープドライブでも動作すると思います)。
ただし、外部USBフラッシュドライブでテストすると、eject
はumount
とほぼ同じように機能します。たとえば、デバイスノードを非表示にする副作用があります。
% ls /dev/sdc*
/dev/sdc /dev/sdc1
% Sudo eject /dev/sdc
% ls /dev/sdc*
/dev/sdc
ご了承ください /dev/sdc1
消えました。
udisks --detach /dev/sdX
ここで、(X)はUSBデバイスの最後の文字です。どのLinuxシステムでも問題なく動作します。
OK私はこれをよりよく説明しようとします:
udisksコマンドは、システムにマウントまたは接続されているすべてのUSBデバイスを完全に削除して電源をオフにします。unmountコマンドは、パーティションをマウント解除するだけです。つまり、dev/sdb1など、システムにUSBがまだ存在します。
したがって、アンマウント、イジェクト、デタッチは同じではありません
udisks = USBの電源を切る
umount =ペンドライブ全体ではなく、単にパーティションをアンマウントします
排出= umountコマンドと同じか非常に近い