2011-09-27 53 views
0

我想在Linux上打开SD卡作为物理驱动器。 Somethink like: CreateFile(“PHYSICALDRIVE0”,...) 在MS Windows上。 我该怎么办?从Linux打开物理驱动器

+2

难道你不只是读'/ dev/sda1'或其他什么? – Blindy

回答

4

所有设备均表示为/dev目录下的文件。这些文件可以像普通文件一样打开,例如open(/dev/sdb, ...)

磁盘式设备也被链接到目录/dev/disk/by-id/,/dev/disk/by-path/dev/disk/by-uuid中,这使得找到匹配的设备文件变得更容易。

0

键入df,列出所有挂载或卸载的文件系统。一旦你知道它的地址(在Linux中的所有东西都是一个文件,所以它看起来像/ dev/sda#或类似的东西),你可以使用mount命令装入它:

mount/path/to/drive/folder/to/mount /到

+0

我想科斯塔问的不是关于挂载,而是关于访问分区内容,就好像它是一个文件。 –

0

您打开块设备专用文件(通常类似于/ dev/sdb),然后您可以从中读取/写入块。

该接口没有明确记录,这是一个错误,没有块(4)手册页。

尽管sd(4)手册页确实有所帮助。这里描述的ioctls也可能适用于(某些)其他块设备。

如今几乎所有块设备都显示为“scsi驱动器”,无论它们是否实际上通过scsi连接。这包括USB和(大多数)ATA驱动器。

找到正确的设备可能是问题的重要部分,特别是如果您有热插拔设备。你可以在/ sys中查询一些东西来找出有哪些设备。