USB 存储设备 - Arch Linux 中文维基

跳转到内容

# USB 存储设备

来自 Arch Linux 中文维基

相关文章

- 挂载

翻译状态：

- 本文（或部分内容）译自 USB storage devices，最近一次同步于 2024-08-22，若英文版本有所更改，则您可以帮助同步与翻译更改的内容。
- 您可以在 ArchWiki 的对应页面找到本文翻译的原始修订历史。
- 本文可能与英文原文存在出入。

本文介绍了如何在 Linux 下使用流行的 USB 闪存盘。不过，它也适用于其他设备，如数码相机，这些设备就像 USB 存储设备一样。

如果你的系统是最新的 Arch 内核，并使用现代桌面环境，你的设备就会直接显示在桌面上，无需打开控制台。

## 使用 udisks 自动安装

这是最简单、最常用的方法。许多桌面环境都使用这种方法，但也可以单独使用。

详细信息，包括挂载助手列表，请参阅 Udisks。

## 手动挂载

注意：在确定 Arch Linux 无法挂载 USB 设备之前，请务必检查所有可用端口。有些端口可能不共享同一个控制器，从而导致无法挂载设备。

### 获取支持 usb_storage 的内核

如果不使用定制的内核，就可以使用，因为所有 Arch Linux 内核都已正确配置。如果使用定制内核，请确保其编译了 SCSI-Support、SCSI-Disk-Support 和 usb_storage。如果使用最新的 udev，只需插入设备，系统就会自动加载所有必要的内核模块。

### 识别设备

访问存储设备首先需要内核分配的标识符。详见文件系统#查看现有文件系统。

新插入的设备通常会显示在 Journal 中。

### 挂载 USB 存储器

请参阅文件系统#挂载文件系统。

如果 `mount` 无法识别设备的文件系统，可以尝试使用 `-t` 参数，详情请参见 mount(8) 。如果挂载失败，可以尝试重新创建文件系统，甚至重新分区磁盘。

注意：有关使用 sudo 的挂载/卸载脚本示例，请参阅 [1]。

#### 允许普通用户写入

如果想让非 root 用户写入 U 盘，可以发出以下命令：

    # mount -o gid=users,fmask=113,dmask=002 /dev/sda1 /mnt/usbstick

如果不起作用，请确保文件系统可以以根用户身份挂载和写入，详见上一节。

#### 使用 fstab 以作为普通用户操作

如果想让普通用户执行挂载/卸载操作，请参阅 FAT#以普通用户身份写入 FAT32。

#### 挂载工具

多个挂载工具便于以普通用户身份挂载。

## 问题解决

### 未检测到 USB 存储设备

如果您已连接 USB 存储设备，但它未被 lsblk 列出，而是出现在 journal 中，但未被分配块设备，请参阅常规故障排除#内核升级后部分外设无法使用。

此外，请确保您的 BIOS 已启用 XHCI Handoff 和 EHCI Handoff，但对于大多数现代设备来说，这通常不是问题。

### 卸载所有分区后设备未关闭

这篇文章的某些内容需要扩充。

原因：请建议如何在卸载后自动关闭设备。 (在 Talk:USB 存储设备 中讨论)

如果不关闭设备电源，可能会导致：

- 硬盘驱动器没有停放磁头，在旋转时发出微弱的刮擦声并降低设备性能 [2]，或者
- 固态硬盘（尤其是老式固态硬盘）不刷新缓存缓冲区或更新映射表，导致数据丢失 [3]。

卸载分区时，设备仍处于开机状态。为了安全地卸载，您应该要求系统先将其关闭： [4]

    # echo 1 > /sys/block/disk_name/device/delete

如果使用 udisks，则可以使用这些命令： [5]

    $ udisksctl unmount -b /dev/sdXY
    $ udisksctl power-off -b /dev/sdX

### 设备已检测到，但未注册为可安装设备

有一套 udev 规则，其中包括一条出于各种原因忽略某些特定设备的规则。某些硬件设备，如数码相机、便携式录音机等，可能会以某种方式格式化 usb 存储，从而触发忽略规则。你可以使用以下命令检查是否应用了这些规则，然后在默认设置中找到相应的条件：

    $ udevadm info --attribute-walk --name=device_name | grep UDISKS_IGNORE

如果是这种情况您的设备已将此属性设置为 1，您可以按照。udev 页面使用自定义规则来覆盖它。

分类：​

- 存储

USB 存储设备
添加话题