Câu trả lời:
Không. Họ cũng không cần phải như vậy; eject
được sử dụng để mở các ổ đĩa quang, trong đó người ta không thể lấy phương tiện truyền thông trực tiếp từ đó.
Ngắt kết nối là đủ cho USB / eSATA / vv. thiêt bị lưu trư.
sync
trước khi tôi rút nó ra
eject
cài đặt Trình điều khiển thiết bị USB thì vẫn có thể (cố gắng) viết SAU umount
đã trở lại. Điều này có thể được nhìn thấy rõ nếu ổ đĩa có đèn LED trạng thái. Yanking thanh USB ngay sau khi umount
chấm dứt là RECIPE FOR DISASTER.
Đúng. Ví dụ:
sudo eject /dev/sda
Các câu trả lời khác ở đây chỉ ra rằng bạn yêu cầu phần cứng tống máu cơ học là không chính xác.
Unmounting không giống như đẩy ra.
sudo
để hoàn thành lệnh này (tất cả những gì cần làm là ngắt kết nối ổ đĩa trước khi nói rằng nó không thể mở tệp). Ngoài ra, câu trả lời hữu ích.
eject
sẽ hoạt động, nhưng sẽ không thực sự "hoàn thành công việc" liên quan đến ổ đĩa xoay USB.
Cách tốt nhất để rút ổ cứng gắn ngoài USB, sau khi ngắt kết nối đúng cách là:
udisks --detach /dev/sdb
Điều này thường làm cho ổ đĩa quay xuống duyên dáng.
Chính xác, việc thực hiện hiện tại :
Quá trình này gần với thủ tục thủ công được đề xuất ở đây . Câu trả lời ban đầu là trên Askubfox .
EDIT: Ngoài ra, như g.rocket chỉ ra, lệnh này có thể tương đương:
udisksctl power-off -b /dev/sdb
udisksctl
không có --detach
sẵn otion. Phải làm gì trong trường hợp này? cảm ơn bạn.
udisks
.
udisks
? Nó không có trên hệ thống của tôi. Tôi tìm thấy gói udisks2
, nhưng nó không làm udisks
hoặc udisks2
có sẵn.
udisksctl power-off -b /dev/sdwhatever
dường như làm điều tương tự.
Các bước thủ công để ngắt kết nối đĩa / dev / sdb (Yêu cầu sudo):
echo 'offline' > /sys/block/sdb/device/state
echo '1' > /sys/block/sdb/device/delete
Điều này sẽ tắt hoàn toàn thiết bị và tách thiết bị ra khỏi hệ thống. Nó sẽ không được phát hiện lại cho đến khi nó bị ngắt kết nối và gắn lại.
hdparm -Y
cũng thuận tiện cho các ổ đĩa SATA / IDE.
Nếu bạn đọc kỹ trang đẩy (1), bạn có thể thấy rằng có 4 phương pháp đẩy:
-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.
Khi bạn gọi đẩy ra trên HDD / SCSI, nó sẽ phát ioctl(fd, SG_IO, (void *)&io_hdr);
lệnh (sao chép từ eject.c
các nguồn).
Điều này tương đương với việc bạn gỡ bỏ thiết bị một cách an toàn trong MS Windows hoặc MaxOSX.
Đối với một số thiết bị, điều này có ý nghĩa đặc biệt. Ví dụ, Kindle 3 sau khi lệnh đẩy đã được chuyển sang chế độ sạc và cho phép duyệt trên thiết bị, trong khi trước khi màn hình bị khóa.
Một tiện ích khác làm điều tương tự, như thế này
scsi-spin --force --down /dev/sda
"Đẩy ra" không có ý nghĩa gì đối với phần cứng mà không có khay hoặc cơ chế tải khác (tôi giả sử nó cũng hoạt động với các ổ băng từ).
Tuy nhiên, thử nghiệm với ổ flash USB bên ngoài cho biết eject
hoạt động giống như umount
- với tác dụng phụ là làm cho các nút thiết bị biến mất, ví dụ:
% ls /dev/sdc*
/dev/sdc /dev/sdc1
% sudo eject /dev/sdc
% ls /dev/sdc*
/dev/sdc
Lưu ý rằng /dev/sdc1
đã biến mất.
mt rewoffl
là thuận tiện hơn vì nó cũng tua lại), nhưng nó không làm việc với ổ đĩa mềm cơ giới như những người được tìm thấy trên máy trạm Mac và Sun cũ.
udisks --detach /dev/sdX
trong đó (X) là chữ cái cuối cùng của thiết bị usb của bạn. Nó hoạt động tốt trên bất kỳ hệ thống linux.
OK tôi sẽ cố gắng giải thích điều này tốt hơn:
Lệnh udisks loại bỏ hoàn toàn và tắt nguồn bất kỳ thiết bị usb nào được gắn hoặc gắn trong lệnh ngắt kết nối hệ thống chỉ cần ngắt kết nối phân vùng, ví dụ: dev / sdb1 hoặc bất cứ điều gì nhưng usb vẫn có trong hệ thống.
Vì vậy, không phải là unmount, đẩy và tách ra
udisks = tắt nguồn usb
umount = chỉ ngắt kết nối phân vùng không phải toàn bộ ổ đĩa
đẩy ra = cùng hoặc rất gần với lệnh umount
eject /dev/sdX
làsg_start -s /dev/sdX
(từsg3_utils
gói), cả hai đều sử dụng các lệnh SCSI để gửi đến thiết bị.