在 Mac OS X 中从命令行卸载驱动器 &
目录:
您可以从MacOS 和Mac OS X 的命令行挂载和卸载驱动器、卷和磁盘。
对于许多用户而言,在 Mac 中卸载驱动器的最简单方法是将卷拖入回收站,使用弹出键,断开驱动器,或使用其中一种强制弹出方法。同样,如果你想重新安装一个驱动器,你通常可以直接拔掉驱动器然后再插回去。但是,如果您希望能够从命令行挂载、卸载和重新挂载驱动器怎么办?这正是我们将在这里介绍的内容。这个技巧适用于外部 USB 磁盘、硬盘驱动器、Firewire、Thunderbolt、DVD、CD、网络驱动器,甚至 USB 拇指驱动器,几乎可以通过非常有用的 diskutil 命令安装和访问的任何卷。通过使用命令行重新安装驱动器,整个过程可以在必要时通过 SSH 远程完成,而无需从 Mac 上断开驱动器的物理连接。这对于故障排除情况、脚本和自动化非常有用,对于我们这些只喜欢在终端中进行修补的人来说,这是一个绝妙的技巧。
如何在Mac上从命令行卸载驱动器
让我们首先介绍卸载驱动器。为此,您需要以某种形式附加或连接到 Mac 的另一个卷,然后启动终端以开始使用(位于 /Applications/Utilities/)。
1:列出所有驱动器
您需要做的第一件事是列出连接的驱动器。这将提供连接到 Mac 的所有驱动器的列表,这些驱动器已安装和未安装,以及它们各自的所有分区。我们这样做是为了获取驱动器标识符,通常类似于 disk1s2 或 disk2s2 等
diskutil list
输出看起来像这样:
$ diskutil list /dev/disk0 : TYPE NAME SIZE IDENTIFIER 0: GUID_partition_scheme 121.3 GB disk0 1: EFI 209.7 MB disk0s1 2: Apple_HFS Macintosh HD 120.5 GB disk0s2 3: Apple_Boot Recovery HD 650.0 MB disk0s3 /dev/disk1 : TYPE NAME SIZE IDENTIFIER 0: GUID_partition_scheme 16.0 GB disk1 1: EFI 209.7 MB disk1s1 2: Apple_HFS OSXDaily 15.7 GB disk1s2
为了这个例子,我们将关注名为“OSXDaily”的附加驱动器,它恰好是出现在列表最后的外部USB拇指驱动器。请注意该驱动器的标识符是“disk1s2”,我们将把它带到下一系列命令中以卸载并重新安装它。
可能值得一提的是,驱动器将始终位于/dev/,因此/dev/将始终作为标识符的前缀。
2:卸载指定驱动器
仍然使用diskutil命令,我们将它指向有问题的驱动器进行卸载。
diskutil unmount /dev/disk1s2
这将报告命名卷和位置已被卸载,如下所示:
$ diskutil unmount /dev/disk1s2 Volume OSXDaily on disk1s2 unmounted
这里的所有都是它的。您会注意到该驱动器不再可以在 Finder 中访问,但它仍然可以通过命令行的 diskutil 或 Mac OS X 的 GUI 中更熟悉的磁盘工具应用程序看到。
如何在Mac上从命令行挂载驱动器
如果您可以卸载驱动器,当然您也可以安装或重新安装一个。命令序列非常相似;找到卷,然后安装驱动器。
1:找到要挂载的驱动器
如果您已经知道卷的位置,则可以忽略第 1 部分并直接跳到第 2 部分,但我们还是要介绍如何检索卷标识符。这一次我们会缩短它一点,因为我们假设我们知道要安装的驱动器的名称,因此我们只需要找到标识符。我们将通过使用 grep 缩短 diskutil 命令的输出来完成此操作,如下所示:
$ diskutil list |grep OSXDaily 2: Apple_HFS OSXDaily 15.7 GB disk1s2
该输出显然比我们上面显示的diskutil list 的完整输出短得多。
对于这个例子,驱动器“OSXDaily”仍然位于/dev/disk1s2,这就是我们要挂载的。
2:安装(或重新安装)驱动器
要挂载(或重新挂载)一个驱动器,我们将使用相同的 diskutil 命令和一个新的标志并输入如下:
diskutil mount /dev/disk1s2
使用与其他地方相同的示例,命令和输出如下所示:
$ diskutil mount /dev/disk1s2 Volume OSXDaily on /dev/disk1s2 mounted
这显然会再次安装驱动器,它还会使安装的卷在 Mac OS X Finder 中再次可见,并在各种“打开”或“保存”对话框中对基于 GUI 的应用程序可见。
如何在单个命令中卸载和重新安装驱动器/卷
想要快速卸载并重新安装相同的卷,本质上是重新启动它与 Mac 的连接?您可以像这样将两个命令串在一起,在一个命令中执行此操作: "
diskutil unmount /dev/disk1s2;diskutil mount /dev/disk1s2;echo Remounted Volume"
执行时如下所示:
"$ diskutil unmount /dev/disk1s2;diskutil mount /dev/disk1s2;echo Remounted Volume Volume OSXDaily on disk1s2 unmounted Volume OSXDaily on /dev/disk1s2 mounted Remounted Volume "
如果您在此过程中碰巧正在观看Finder 中的音量,您会发现它短暂消失,然后几乎立即重新出现。最后的 echo 部分是可选的,但它使整个命令操作更加冗长。
感谢Nilesh 的提示灵感