ดีดออก / ลบ vs umount อย่างปลอดภัย


42

ฉันใช้อูบุนตู 12.04 และเมื่อฉัน rigth คลิกที่ไอคอนแฟลชไดรฟ์ของฉัน (ในความสามัคคีซ้ายบาร์) ฉันจะได้รับสองตัวเลือกที่มีฉันสับสน: ดีดออกและลบออกอย่างปลอดภัย
ยิ่งฉันเข้าใกล้คำตอบมากเท่าไรกระทู้ฟอรัมนี้ซึ่งสรุปว่า (สำหรับแฟลชไดรฟ์) พวกเขาทั้งคู่เท่ากันและเทียบเท่ากับการใช้umountคำสั่ง อย่างไรก็ตามการยืนยันครั้งสุดท้ายนี้ดูเหมือนจะเป็นเท็จ
ถ้าฉันใช้umountจากคอนโซลเพื่อเลิกเมานท์แฟลชแล้วฉันก็ใช้คำสั่งlsblkฉันยังคงเห็นอุปกรณ์ของฉัน (ไม่มีอะไรภายใต้ MOUNTPOINT แน่นอน) ในทางกลับกันถ้าฉันนำออกหรือนำแฟลชไดรฟ์ออกอย่างปลอดภัยlsblkไม่แสดงรายการนั้นอีกต่อไป

ดังนั้นคำถามของฉันคืออะไรคำสั่งคอนโซล / คำสั่งที่จะทำซ้ำพฤติกรรมของการนำออกและลบอย่างปลอดภัย ?


3
คุณอาจสามารถค้นหาไฟล์ .desktop สำหรับไอคอนด้านล่าง/usr/share/applications/หรืออะไรทำนองนั้น หากคุณเปิดในโปรแกรมแก้ไขข้อความฟิลด์ Exec = ... จะสอดคล้องกับคำสั่งที่ทำงานเมื่อคุณคลิก
spelufo

คำตอบ:


64

หากคุณกำลังใช้อยู่ให้systemdใช้udisksctlยูทิลิตี้พร้อมpower-offตัวเลือก:

ไฟดับ

เตรียมการสำหรับการถอดไดรฟ์และปิดเครื่องอย่างปลอดภัย ในด้านระบบปฏิบัติการนี้รวมถึงการตรวจสอบให้แน่ใจว่าไม่มีกระบวนการใดใช้ไดรฟ์จากนั้นขอให้บัฟเฟอร์และแคชบนเครื่องบินมุ่งมั่นในการจัดเก็บที่มีเสถียรภาพ

ฉันจะแนะนำก่อนเพื่อยกเลิกการต่อเชื่อมระบบไฟล์ทั้งหมดใน usb นั้น สิ่งนี้สามารถทำได้ด้วยudisksctlดังนั้นขั้นตอนจะเป็น:

udisksctl unmount -b /dev/sda1
udisksctl power-off -b /dev/sda

หากคุณไม่ได้ใช้งานผลิตภัณฑ์systemdเก่าudisksควรใช้งานได้:

udisks --unmount /dev/sda1
udisks --detach /dev/sda

โอ้มนุษย์ - ตอนนี้ฉันเพิ่งรู้ว่าคำถามคือทำอย่างไรจากบรรทัดคำสั่ง - ไม่ใช่ความแตกต่างระหว่างสิ่งหนึ่งกับอีกสิ่งหนึ่ง ฉันเคยชินลบคำตอบของฉันเพราะฉันคิดว่ามันมีมุมมองบาง - แต่คุณเป็นคำตอบที่เหมาะสมสำหรับระบบ Linux ผมคิดว่า(dont แม้ทราบว่านี้เป็น BSD คำถามที่เกี่ยวข้องต่อไป ... )
mikeserv

4
udisksctl power-offดูเหมือนจะไม่เท่ากับ "ลบอย่างปลอดภัย" ในกรณีของฉัน ด้วยการ์ด micro-SD ในเครื่องอ่านการ์ดภายในของฉัน, อุปกรณ์/dev/sdd, ไม่มีระบบไฟล์ติดตั้ง, เมื่อฉันใช้คำสั่งudisksctl power-off -b /dev/sdd, ไฟ LED ของเครื่องอ่านจะปิดลง, แต่อุปกรณ์ทั้งหมดไม่สามารถใช้งานได้, ฉันเดาว่าเพราะมันปิดตัวเองอย่างแท้จริง ฉันต้องรีบูทระบบเพื่อให้สามารถใช้งานได้อีกครั้ง
แอ๊

1
สำหรับ @ack: คุณสามารถปิด / เปิดการใช้งานฮับ (อาจเป็นภายใน) ที่ผู้อ่านเชื่อมต่อ เพราะมันเป็นฮับมันก็จะดรอปและแจกแจงทุกอย่างรวมถึงอุปกรณ์ที่หายไปอีกครั้ง หวังว่าคุณสามารถอ่านตัวอย่างนี้: udisksctl power-off -b /dev/mmcblk0mmc0: การ์ด aaaa ลบ usb 3-1.8: ถอด USB, หมายเลขอุปกรณ์ 41 cd /sys/bus/usb/devices/usb3/3-1 echo 0 > authorized echo 1 > authorizedฮับ ​​3-1: 1.0: พบฮับ USB usb 3-1: ได้รับอนุญาตให้เชื่อมต่อ usb 3-1.8: พบอุปกรณ์ USB ใหม่ , idVendor = 0bda, idProduct = 0129 mmc0: การ์ด SDR50 SDHC ความเร็วสูงพิเศษใหม่ที่อยู่ aaaa
AB

14

umountมีความปลอดภัยอย่างสมบูรณ์แบบสำหรับดิสก์ เมื่อคุณทำเสร็จแล้วคุณได้ถอนการติดตั้งระบบไฟล์เรียบร้อยแล้วและคุณไม่จำเป็นต้องกังวลเกี่ยวกับบรรทัดเหล่านั้น ความแตกต่างหลักระหว่างการดีดออกและumountไม่เกี่ยวข้องกับดิสก์เลย - แต่เป็นเรื่องเกี่ยวกับกำลังไฟ 5v ของพอร์ต USB

หลังจากที่umountคุณยังสามารถเห็นดิสก์ของคุณอยู่ในรายการlsblkเนื่องจากยังคงเปิดอยู่และเชื่อมต่ออยู่ umountระบบไฟล์ของฮาร์ดดิสก์ภายในและคุณจะเห็นพฤติกรรมเดียวกันด้วยเหตุผลเดียวกัน แต่เมื่อคุณนำอุปกรณ์ USB ออกคุณก็ต้องหยุดการทำงานและมันจะหยุดการวาด 5v โดยทั่วไปแล้ว - ฉันคิดว่ามันจะไหลลงมาเป็น. 5v แต่คลาสนั้นเกิดขึ้นมานานแล้ว

lsblk -f /dev/disk/by-id/usb-SanDisk_Cruzer_200522428118F4325EC2-0:0
NAME   FSTYPE LABEL   UUID                                 MOUNTPOINT
sdd                                                        
├─sdd1 vfat   USBESP  3AD6-C7CC                            
└─sdd2 ext4   USBROOT 5afbfe93-6955-44ec-8c4f-cf381f8ef174 

นี่คือเส้นทางของบัส usb ...

cat /sys/bus/usb/devices/5-3/manufacturer 
SanDisk

แม้ว่าฉันแทบจะไม่ติดมันเลยมันถูกเสียบปลั๊กและกระพริบเป็นเวลานานฉันเดาว่า ...

cat /sys/bus/usb/devices/5-3/power/{level,connected_duration}
on
1777877440

ฉันควรทำอะไรเกี่ยวกับเรื่องนี้:

echo 1 | sudo tee /sys/bus/usb/devices/5-3/remove                                      

ตอนนี้ฉันจะดูอีกครั้ง ...

cat /sys/bus/usb/devices/5-3/power/level                            
cat: /sys/bus/usb/devices/5-3/power/level: No such file or directory

อืมม ...

lsblk -f /dev/disk/by-id/usb-SanDisk_Cruzer_200522428118F4325EC2-0:0
lsblk: /dev/disk/by-id/usb-SanDisk_Cruzer_200522428118F4325EC2-0:0: not a block device

1
ขอบคุณ หลังจากumountHDD ภายนอกปลอดภัยหรือไม่ที่จะลบ HDD ภายนอกออกจากคอมพิวเตอร์
Tim

1
ฉันไม่คิดว่าumountเทียบเท่ากับ "ลบอย่างปลอดภัย" และไม่เป็นudisksctl power-offเช่นนั้นโปรดดูความคิดเห็นของฉันในคำตอบอื่น ๆ เปรียบเทียบกับพฤติกรรมใน Windows เช่น ฉันเดาว่า Windows จะทำมากกว่า 'unmount' ระบบไฟล์บนอุปกรณ์ ฉันสังเกตว่ามันหมุนฮาร์ดไดรฟ์ภายนอกแล้วปิดไฟ LED บนตัวอ่านการ์ด ( โดยไม่ต้องเรนเดอร์อุปกรณ์นั้นไม่สามารถใช้งานได้จนกว่าจะไม่ได้ทำการชาร์จใหม่หรือรีบูตระบบ) ฯลฯ
ack

2
@ack - Windows เกี่ยวข้องกับเรื่องนี้อย่างไร แล้วทำไมคุณถึงเดา และคุณไม่ต้องรีบูตเพื่อให้สามารถใช้งานได้อีกครั้ง คุณumountมัน จากนั้นคุณปิดเครื่อง และฉันไม่เคยแนะนำอะไรเกี่ยวกับudiskctlวิธีใดวิธีหนึ่ง
mikeserv

1
@mikeserv "Safely remove hardware" คือนิพจน์ที่ใช้ใน Windows มีความเป็นไปได้ว่าระบบอื่น ๆ จะคัดลอกข้อความนั้นเนื่องจากความคุ้นเคยของผู้ใช้ มันเป็นสิ่งสำคัญที่จะแยกความแตกต่างจากระบบไฟล์เพียง unmounting ตัวอย่างของสิ่งที่สำคัญอย่างยิ่งคือเมื่อระบบปฏิบัติการไม่แน่ใจเกี่ยวกับการแคชการเขียนของอุปกรณ์จัดเก็บข้อมูล ฉันเองเคยประสบปัญหาการสูญหายของข้อมูลค่อนข้างมาก (ซุปเปอร์บล็อกและไฟล์ที่เสียหาย) หลังจากถอนการติดตั้งและถอดปลั๊กฮาร์ดดิสก์ภายนอก ต่อมาฉันพบว่า Linux ได้เตือนเกี่ยวกับสิ่งนี้: "ไม่พบหน้าโหมดแคช", "สมมติว่าไดรฟ์แคช: เขียนผ่าน"
แอ๊

1
@ack - ไม่นั่นไม่สำคัญ ปัญหาของคุณน่าจะเป็น acpi ของคุณ มันไม่มีอะไรเกี่ยวข้องกับระบบปฏิบัติการอย่างแน่นอน - เพียงว่าผู้ผลิตบอร์ดของคุณเขียนไดร์เวอร์สำหรับระบบปฏิบัติการเดียวเท่านั้น อุปกรณ์มัลติการ์ดขนาดเล็กเหล่านั้นต้องการการเข้าถึงเป้าหมายการ์ดในระดับค่อนข้างต่ำ - พวกเขาต้องสามารถทำสิ่งต่าง ๆ เช่น eye-fi พวกเขาไม่ได้ปิดกั้นอุปกรณ์ - พวกเขาเป็นอุปกรณ์ตัวละคร พวกเขาไม่มีอะไรเหมือนดิสก์ usb บอร์ดรอมต้องจัดการแยกต่างหากและถ้าผู้ขายของคุณสนับสนุนไม่ดี(ไม่ผิดปกติ - ลองบูทจากที่หนึ่ง)คุณโชคไม่ดี แต่ไม่ใช่ปัญหาของ linux
mikeserv
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.