diskutil eject: Cara Mengeluarkan Drive dari Terminal Mac
Keluarkan drive Mac mana pun dari Terminal dengan diskutil, termasuk melepas kaitan paksa volume yang tak mau keluar dan memakai lsof untuk menemukan penahannya.
Finder memberitahumu drive sedang digunakan. Ia tidak memberitahumu apa yang menggunakannya atau apa yang harus dilakukan. Terminal melakukan keduanya.
Jawaban singkat: Jalankan
diskutil eject /Volumes/YourDriveNameuntuk mengeluarkan drive dari Terminal. Jika gagal, gunakansudo lsof /Volumes/YourDriveNameuntuk melihat apa yang memblokir pengeluaran,kill <PID>untuk menghentikan proses yang bermasalah, lalu keluarkan lagi. Sebagai pilihan terakhir,diskutil unmountDisk force /dev/diskNmemaksa drive lepas, tapi lakukan ini hanya saat tidak ada yang sedang aktif menulis.
Jika kamu nyaman dengan baris perintah, Terminal adalah cara paling ampuh menangani pengeluaran drive yang membandel di macOS. Dan kalau kamu belum nyaman dengannya, perintah-perintah ini adalah tempat yang bagus untuk memulai.
Pengeluaran dasar dengan diskutil eject
Cara paling langsung mengeluarkan drive eksternal dari Terminal Mac:
diskutil eject /Volumes/YourDriveName
Ganti YourDriveName dengan nama drive yang sebenarnya, persis seperti yang muncul di Finder. Jika namanya mengandung spasi, bungkus dengan tanda kutip:
diskutil eject "/Volumes/My Drive"
Ini melakukan hal yang sama seperti mengklik tombol keluarkan di Finder. Jika berhasil, drive melepas kaitannya dengan bersih dan selesai. Jika gagal, kamu mendapat pesan kesalahan yang jauh lebih informatif ketimbang yang pernah diberikan Finder.
Kamu juga bisa melepas kaitan tanpa mengeluarkan (drive tetap terlihat di Utilitas Disk tapi tidak terkait):
diskutil unmount /Volumes/YourDriveName
Perbedaannya penting untuk drive dengan banyak partisi. unmount melepas satu volume. eject melepas perangkat fisik beserta semua volumenya sekaligus.
Menemukan pengenal drive-mu dengan diskutil list
Sebelum memakai perintah yang lebih canggih, kamu butuh pengenal drive-mu. Daftar semua disk yang tersambung:
diskutil list
Hasilnya menampilkan setiap disk dan partisinya. Drive eksternalmu akan bernama seperti disk4 atau disk5. Disk internal biasanya disk0 dan disk1.
Untuk gambaran yang lebih mudah dibaca hanya untuk drive eksternal:
diskutil list external
Begitu kamu tahu pengenal disk-nya, kamu juga bisa mengeluarkan memakai jalur /dev/ alih-alih nama volume:
diskutil eject /dev/disk4
Ini berguna saat nama volume mengandung karakter tak lazim atau saat volume tidak terkait tapi disk masih tersambung.
Cara mengeluarkan semua drive eksternal sekaligus
Jika kamu perlu mengeluarkan setiap drive eksternal dalam satu perintah, ada dua pendekatan.
Memakai diskutil untuk menemukan dan mengeluarkan semua disk eksternal:
diskutil list external | grep -o 'disk[0-9]*$' | while read disk; do diskutil eject "/dev/$disk"; done
Atau memakai AppleScript dari Terminal, yang meniru apa yang dilakukan Finder:
osascript -e 'tell application "Finder" to eject (every disk whose ejectable is true)'
Pendekatan AppleScript hanya mengeluarkan disk yang dianggap Finder bisa dikeluarkan. Ia melewati disk startup dan volume jaringan, yang biasanya memang yang kamu inginkan.
Lepas kaitan paksa saat diskutil eject gagal
Jika pengeluaran normal gagal dengan kesalahan seperti “couldn’t unmount disk,” paksa saja:
diskutil unmount force /Volumes/YourDriveName
Atau lepas kaitan semua volume pada disk tertentu sekaligus:
diskutil unmountDisk force /dev/disk4
Lepas kaitan paksa menyuruh macOS melepas volume tanpa peduli apa yang menggunakannya. Ini lebih terkendali ketimbang mencabut drive secara fisik (sistem tetap membuang cache dan memberi tahu proses-prosesnya) tapi ia tidak menunggu proses menutup file dengan bersih.
Pakai lepas kaitan paksa saat kamu tahu tidak ada hal penting yang sedang ditulis. Ini setara dengan paksa keluarkan dari Utilitas Disk lewat baris perintah. Baca panduan kami tentang kapan paksa keluarkan aman vs. berisiko sebelum memakai ini pada drive yang tadinya sedang aktif digunakan.
Menemukan apa yang memblokir pengeluaran dengan lsof
Inilah perintah yang membuat Terminal tak ternilai untuk masalah pengeluaran:
lsof /Volumes/YourDriveName
lsof adalah kependekan dari “list open files.” Ia menampilkan setiap proses yang punya file terbuka di volume itu: nama proses, ID proses (PID), pengguna yang menjalankannya, dan file mana yang terbuka. (Untuk pembahasan terfokus tentang flag dan pola lsof, baca panduan perintah lsof kami untuk pengguna Mac.)
Untuk hasil lengkap (termasuk proses sistem), jalankan dengan sudo:
sudo lsof /Volumes/YourDriveName
Tanpa sudo, kamu hanya melihat proses milik akun penggunamu. Proses sistem seperti mds milik Spotlight atau backupd milik Time Machine tidak akan muncul. Dengan sudo, kamu melihat semua yang benar-benar menahan drive tetap terbuka.
Membaca hasil lsof
Hasilnya tampak seperti ini:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mds 123 root 12r REG 1,8 4096 789 /Volumes/MyDrive/.Spotlight-V100/...
Finder 456 aaron 15r DIR 1,8 1024 2 /Volumes/MyDrive
Dropbox 789 aaron 8u REG 1,8 8192 345 /Volumes/MyDrive/Projects/.dropbox
Kolom yang paling penting:
- COMMAND: Nama proses, ini memberitahumu apa yang memblokir pengeluaran.
- PID: ID proses, kamu akan memakainya untuk menghentikan proses jika perlu.
- FD: FD menjelaskan mode saat file dibuka: r untuk baca, w untuk tulis, u untuk keduanya. Ini tidak menunjukkan aktivitas saat ini atau membuktikan bahwa volume tidak memiliki penulisan tertunda.
- NAME: File spesifik yang sedang diakses, ini sering mengungkap persis kenapa prosesnya ada di sana.
Biang kerok yang umum: mds (pengindeksan Spotlight), backupd (Time Machine), Dropbox, Google Drive, Finder sendiri. Baca ulasan mendalam kami tentang Spotlight memblokir pengeluaran dan iCloud/Dropbox menghalangi pengeluaran untuk solusi yang lebih tepat sasaran.
Menghentikan proses yang memblokir
Tutup app yang didukung dari bar menu. Proses sistem ditangani terpisah dan mungkin perlu ditunggu atau memerlukan Mac dimatikan. Simpan pekerjaan, selesaikan penyalinan dan pencadangan, lalu tutup app secara normal sebelum mencoba lagi. Paksa keluar atau paksa keluarkan dapat menyebabkan kehilangan data; Ejecta tidak menjamin keamanan penulisan.
kill 789
Ini mengirim sinyal terminasi yang santun. Prosesnya dapat kesempatan menutup file dan beres-beres. Beri beberapa detik untuk keluar, lalu coba keluarkan lagi.
Jika ia tidak merespons kill yang santun:
kill -9 789
Paksa keluar adalah langkah terakhir. Tindakan ini dapat menghilangkan pekerjaan yang belum disimpan atau mengganggu penulisan. Simpan dahulu dan tunggu transfer selesai. Nama proses Spotlight tidak membuktikan akses hanya baca. Jangan paksa keluar mds atau mds_stores untuk melepaskan drive. Tunggu, tutup app, dan coba keluarkan secara normal. Ejecta mengenali proses ini, tetapi tidak menyediakan penutupan biasa untuk proses sistem. Jika drive tetap terhalang, simpan semuanya dan matikan Mac sepenuhnya sebelum mencabutnya.
Simpan pekerjaan, selesaikan penyalinan dan pencadangan, lalu tutup app secara normal sebelum mencoba lagi.
Alur kerja pemecahan masalah lengkap
Simpan pekerjaan, selesaikan penyalinan dan pencadangan, lalu tutup app secara normal sebelum mencoba lagi.
diskutil eject "/Volumes/YourDriveName"
sudo lsof "/Volumes/YourDriveName"
Nama proses Spotlight tidak membuktikan akses hanya baca. Jangan paksa keluar mds atau mds_stores untuk melepaskan drive. Tunggu, tutup app, dan coba keluarkan secara normal. Ejecta mengenali proses ini, tetapi tidak menyediakan penutupan biasa untuk proses sistem. Jika drive tetap terhalang, simpan semuanya dan matikan Mac sepenuhnya sebelum mencabutnya.
Nama proses atau daftar file terbuka tidak membuktikan bahwa tidak ada penulisan berlangsung. Simpan pekerjaan, selesaikan penyalinan dan pencadangan, lalu tutup app secara normal sebelum mencoba lagi. Paksa keluar atau paksa keluarkan dapat menyebabkan kehilangan data; Ejecta tidak menjamin keamanan penulisan.
Variasi diagnostik yang berguna
Cek apakah Spotlight secara khusus yang menahan drive-mu:
lsof /Volumes/YourDriveName | grep mds
Daftar hanya nama proses unik yang memblokir pengeluaran (tanpa baris ganda):
lsof /Volumes/YourDriveName | awk '{print $1}' | sort -u
Pantau I/O disk secara waktu nyata untuk melihat apakah ada yang sedang aktif menulis:
sudo fs_usage -f diskio | grep YourDriveName
Ini berjalan terus-menerus dan menampilkan setiap operasi disk saat terjadi. Tekan Control-C untuk menghentikannya. Pakai ini saat lsof menunjukkan sebuah proses tapi kamu tidak yakin apakah ia sedang aktif menulis atau cuma menahan handle usang.
Saat Terminal lebih merepotkan ketimbang manfaatnya
Perintah-perintah ini ampuh, dan begitu kamu memakainya beberapa kali, mereka jadi naluri kedua. Tapi ada ongkos nyata dari beralih konteks dari pekerjaanmu ke jendela Terminal: menjalankan perintah diagnostik, mengurai hasil teknis, memutuskan PID mana yang aman dihentikan.
Ejecta: Ejecta menyediakan diagnosis drive gratis tanpa uji coba berbatas waktu. Lisensi berbayar membuka tindakan keluar dan keluarkan untuk app yang didukung, Keluarkan Semua, dan kontrol Time Machine. Proses sistem mungkin memerlukan penantian, otorisasi, atau mematikan Mac. Simpan pekerjaan dan selesaikan transfer terlebih dahulu.
Tanpa batas jumlah komputer atau aktivasi. Ajukan pengembalian dana dalam 30 hari.
Ejecta menyediakan diagnosis drive gratis tanpa uji coba berbatas waktu. Lisensi berbayar membuka tindakan keluar dan keluarkan untuk app yang didukung, Keluarkan Semua, dan kontrol Time Machine. Proses sistem mungkin memerlukan penantian, otorisasi, atau mematikan Mac. Simpan pekerjaan dan selesaikan transfer terlebih dahulu.
Beli Sekarang -Artikel terkait
Cara Aman Mengeluarkan Drive USB dari Mac
Semua cara mengeluarkan drive USB di Mac, plus apa yang harus dilakukan saat macOS bilang disk sedang …
Cara Menemukan, Membuka, dan Memakai Hard Drive Eksternal di Mac
Sambungkan hard drive eksternal ke Mac, temukan di Finder, buka file-mu, dan lepas dengan aman. Panduan …
Kenapa Mac-mu Melambat Saat Drive Eksternal Tersambung
Menyambungkan drive eksternal seharusnya tidak memperlambat seluruh sistemmu, tapi sering kali begitu. Begini …
Memahami Izin Disk macOS dan Drive Eksternal
Masalah izin bisa membuatmu tidak dapat mengakses, mengubah, atau mengeluarkan drive eksternal di Mac. Berikut …