USB 存储设备
本文介绍了如何在 Linux 下使用流行的 USB 闪存盘。不过,它也适用于其他设备,如数码相机,这些设备就像 USB 存储设备一样。
如果你的系统是最新的 Arch 内核,并使用现代桌面环境,你的设备就会直接显示在桌面上,无需打开控制台。
使用 udisks 自动安装[编辑 | 编辑源代码]
这是最简单、最常用的方法。许多桌面环境都使用这种方法,但也可以单独使用。
详细信息,包括挂载助手列表,请参阅 Udisks。
手动挂载[编辑 | 编辑源代码]
获取支持 usb_storage 的内核[编辑 | 编辑源代码]
如果不使用定制的内核,就可以使用,因为所有 Arch Linux 内核都已正确配置。如果使用定制内核,请确保其编译了 SCSI-Support、SCSI-Disk-Support 和 usb_storage。如果使用最新的 udev,只需插入设备,系统就会自动加载所有必要的内核模块。
识别设备[编辑 | 编辑源代码]
访问存储设备首先需要内核分配的标识符。详见文件系统#查看现有文件系统。
新插入的设备通常会显示在 Journal 中。
挂载 USB 存储器[编辑 | 编辑源代码]
请参阅文件系统#挂载文件系统。
如果 mount
无法识别设备的文件系统,可以尝试使用 -t
参数,详情请参见 mount(8) 。如果挂载失败,可以尝试重新创建文件系统,甚至重新分区磁盘。
允许普通用户写入[编辑 | 编辑源代码]
如果想让非 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,但对于大多数现代设备来说,这通常不是问题。
卸载所有分区后设备未关闭[编辑 | 编辑源代码]
如果不关闭设备电源,可能会导致:
卸载分区时,设备仍处于开机状态。为了安全地卸载,您应该要求系统先将其关闭: [4]
# echo 1 > /sys/block/disk_name/device/delete
$ 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 页面使用自定义规则来覆盖它。