TheRyGuy Asked: 2019-08-21 09:01:07 +0800 CST2019-08-21 09:01:07 +0800 CST 2019-08-21 09:01:07 +0800 CST 为什么不挂载就无法访问 /dev/sd**? 772 我一直在阅读其他问题和答案,但没有人告诉我为什么安装是绝对必要的。他们说驱动器需要一个挂载目录来与物理驱动器关联,但是为什么不能直接将文件从 /home/[user] 复制到 /dev/sdb(USB 驱动器)?复制到驱动器安装目录的所有数据是否会立即复制到驱动器本身? ubuntu mount 3 个回答 Voted Best Answer penguin359 2019-08-21T09:29:28+08:002019-08-21T09:29:28+08:00 /dev/sd* 无需挂载即可访问。确实,我之前已经成功地将文件直接写入 /dev/sdb,但我写入的是原始 USB 磁盘。我写的文件是 Ubuntu 安装盘的磁盘映像,当时我用来制作可引导的 U 盘,用于在新计算机上安装 Ubuntu。您可以像写入文件一样写入 /dev/sda,但它正在写入原始磁盘。如果您尝试写入第二个文件,它将写入第一个文件的顶部,并且除非它类似于磁盘映像,否则大多数其他计算机/软件将不知道如何处理它。 挂载的作用是尝试在原始磁盘和文件系统布局之间添加文件系统驱动程序。安装过程的一部分是选择正确的文件系统、FAT32、Ext4、NTFS 等,并初始化该驱动程序以了解您正在安装的磁盘的内容。现在,它将磁盘解释为包含文件夹、文件和有关这些文件夹/文件的元数据的结构化文件系统。 doneal24 2019-08-21T09:30:49+08:002019-08-21T09:30:49+08:00 您当然可以直接从 /home/user/whatever 复制文件到 /dev/sdb 假设您对原始设备具有写入权限。但是,由于您现在绕过了该设备上的文件系统,因此您在 /dev/sdb 上只会有一个字节流。以前存在的 FAT 或 NTFS 或 ext4 文件系统现在已经消失,因为您没有通过文件系统驱动程序。如果您在复制之前安装了设备,那么驱动程序会处理文件系统的详细信息。此外,您不会进行双重复制,因为该目录并不独立于设备而存在。 ilkkachu 2019-08-21T09:38:15+08:002019-08-21T09:38:15+08:00 挂载不是绝对必要的,例如mtools 套件可以直接访问 FAT 文件系统,无需内核支持。 但是您确实需要一种或另一种形式的文件系统驱动程序来访问磁盘上的文件系统,无论是挂载 fs 时使用的内核驱动程序,还是用户空间实用程序。如果驱动器上没有文件系统(或者不关心文件系统的内部结构),那么直接读取或写入数据很简单。如果您将磁盘映像写入驱动器,这就是您要做的。
/dev/sd* 无需挂载即可访问。确实,我之前已经成功地将文件直接写入 /dev/sdb,但我写入的是原始 USB 磁盘。我写的文件是 Ubuntu 安装盘的磁盘映像,当时我用来制作可引导的 U 盘,用于在新计算机上安装 Ubuntu。您可以像写入文件一样写入 /dev/sda,但它正在写入原始磁盘。如果您尝试写入第二个文件,它将写入第一个文件的顶部,并且除非它类似于磁盘映像,否则大多数其他计算机/软件将不知道如何处理它。
挂载的作用是尝试在原始磁盘和文件系统布局之间添加文件系统驱动程序。安装过程的一部分是选择正确的文件系统、FAT32、Ext4、NTFS 等,并初始化该驱动程序以了解您正在安装的磁盘的内容。现在,它将磁盘解释为包含文件夹、文件和有关这些文件夹/文件的元数据的结构化文件系统。
您当然可以直接从 /home/user/whatever 复制文件到 /dev/sdb 假设您对原始设备具有写入权限。但是,由于您现在绕过了该设备上的文件系统,因此您在 /dev/sdb 上只会有一个字节流。以前存在的 FAT 或 NTFS 或 ext4 文件系统现在已经消失,因为您没有通过文件系统驱动程序。如果您在复制之前安装了设备,那么驱动程序会处理文件系统的详细信息。此外,您不会进行双重复制,因为该目录并不独立于设备而存在。
挂载不是绝对必要的,例如mtools 套件可以直接访问 FAT 文件系统,无需内核支持。
但是您确实需要一种或另一种形式的文件系统驱动程序来访问磁盘上的文件系统,无论是挂载 fs 时使用的内核驱动程序,还是用户空间实用程序。如果驱动器上没有文件系统(或者不关心文件系统的内部结构),那么直接读取或写入数据很简单。如果您将磁盘映像写入驱动器,这就是您要做的。