【嵌入式Linux学习七步曲之第一篇 Linux主机开发环境】虚拟机下Linux和windows的文件共享――mount方式

 

虚拟机下Linuxwindows的文件共享――mount方式

Sailor_forever  [email protected] 转载请注明

http://blog.csdn.net/sailor_8318/archive/2008/04/15/2295428.aspx

 

一、在虚拟机下添加windows其他分区... 1

二、查找Linux对应的设备盘符... 2

三、挂载文件系统基础知识及挂载参数... 3

四、自动挂载... 5

五、其他参考... 6

 

一、在虚拟机下添加windows其他分区

编辑虚拟机设置》添加》硬盘》使用物理磁盘》警告》确定》使用单个分区》根据盘的大小可知道对应的windows分区,勾上即可

 二、查找Linux对应的设备盘符

你首先应该判定 Windows 分区的位置,判定它所在的物理硬盘(如首要主 IDE 或第一个 SCSI 驱动器)。要找出这项信息,你可以使用硬件浏览器。该程序列出了你的 Red Hat Linux 系统上的详细硬件信息。

要启动 硬件浏览器,选择「主菜单」 => 「系统工具」 => 「硬件浏览器」。 显示了运行中的硬件浏览器。

硬件浏览器中的硬盘设备列表

从面板上选择「硬盘驱动器」,然后从所显示的「磁盘信息」中找出你的 Windows 分区。Windows 分区通常使用 FAT FAT32 文件系统类型。该文件系统类型可以在 Linux 中被挂载和读取;不过,如果你的 Windows 分区使用 NTFS,你就不能够这么做,因为 Red Hat Linux 不支持 NTFS 文件系统。请留意关于你的 Windows 分区的「设备」信息,因为这就是你要挂载以便访问 Windows 数据的设备。

 

三、挂载文件系统基础知识及挂载参数

linux系统中每个分区都是一个文件系统,都有自己的目录层次结构。linux会将这些分属不同分区的、单独的文件系统按一定的方式形成一个系统的总的目录层次结构。这里所说的按一定方式就是指的挂载。 将一个文件系统的顶层目录挂到另一个文件系统的子目录上,使它们成为一个整体,称为挂载。把该子目录称为挂载点。 举个例子吧: 根分区: /根目录 ┏━━━━┳━━━━━┳━━━━━┳━━━━━╋━━━━━┳━━━━━┳━━━━━┳━━━━━┓ bin home dev etc lib sbin tmp usr var ┏━┻━┓ rc.d cron.d ┏━━━┳━━━┳━┻━┳━━━━┓ init.d rc0.d rc1.d rc2.d …… /usr分区 usr ┏━━━━┳━━━╋━━━┳━━━┳━━━┓ X11R6 src lib local man bin ┏━━━╋━━━┓ linux bin lib src 注意:1、挂载点必须是一个目录。 一个分区挂载在一个已存在的目录上,这个目录可以不为空,但挂载后这个目录下以前的内容将不可用。 对于其他操作系统建立的文件系统的挂载也是这样。但是需要理解的是:光盘、软盘、其他操作系统使用的文件系统的格式与linux使用的文件系统格式是不一样的。光盘是ISO9660;软盘是fat16ext2windows NTfat16NTFSwindows98fat16fat32windows2000windowsXPfat16fat32NTFS。挂载前要了解linux是否支持所要挂载的文件系统格式。 挂载时使用mount命令: 格式:mount [-参数] [设备名称] [挂载点] 其中常用的参数有 -t<文件系统类型> 指定设备的文件系统类型,常见的有: minix linux最早使用的文件系统 ext2 linux目前常用的文件系统 msdos MS-DOSfat,就是fat16 vfat windows98常用的fat32 nfs 网络文件系统 iso9660 CD-ROM光盘标准文件系统 ntfs windows NT 2000的文件系统 hpfs OS/2文件系统 auto 自动检测文件系统 -o<选项> 指定挂载文件系统时的选项。有些也可用在/etc/fstab中。常用的有 codepage=936 代码页 (中文支持,很重要) iocharset=cp936 字符集 ro 以只读方式挂载 rw 以读写方式挂载 nouser 使一般用户无法挂载 user 可以让一般用户挂载设备 提醒一下,mount命令没有建立挂载点的功能,因此你应该确保执行mount命令时,挂载点已经存在。(不懂?说白了点就是你要把文件系统挂载到哪,首先要先建上个目录。这样OK?) 例子:linux装在hda1分区,同时计算机上还有软盘和光盘需要挂载。 # mk /mnt/winc # mk /mnt/floppy # mk /mnt/cdrom # mount -t vfat /dev/hda1 /mnt/winc # mount -t msdos /dev/fd0 /mnt/floppy # mount -t iso9660 /dev/cdrom /mnt/cdrom 现在就可以进入/mnt/winc等目录读写这些文件系统了。 要保证最后两行的命令不出错,要确保软驱和光驱里有盘。(要是硬盘的磁盘片也可以经常随时更换的话,我想就不会犯这样的错误了 :-> 如果你的windows98目录里有中文文件名,使用上面的命令挂载后,显示的是一堆乱码。这就要用到 -o 参数里的codepage iocharset选项。codepage指定文件系统的代码页,简体中文中文代码是936iocharset指定字符集,简体中文一般用cp936gb2312 当挂载的文件系统linux不支持时,mount一定报错,如windows2000ntfs文件系统。可以重新编译linux内核以获得对该文件系统的支持。关于重新编译linux内核,就不在这里说了。

四、自动挂载

每次开机访问windows分区都要运行mount命令显然太烦琐,为什么访问其他的linux分区不用使用mount命令呢? 其实,每次开机时,linux自动将需要挂载的linux分区挂载上了。那么我们是不是可以设定让linux在启动的时候也挂载我们希望挂载的分区,如windows分区,以实现文件系统的自动挂载呢? 这是完全可以的。在/etc目录下有个fstab文件,它里面列出了linux开机时自动挂载的文件系统的列表。我的/etc/fstab文件如下: dding /etc/fstab

LABEL=/                 /                       ext3    defaults        1 1

LABEL=/boot             /boot                   ext3    defaults        1 2

none                    /dev/pts                devpts  gid=5,mode=620  0 0

none                    /proc                   proc    defaults        0 0

none                    /dev/shm                tmpfs   defaults        0 0

/dev/hdc9               swap                    swap    defaults        0 0

/dev/cdrom              /mnt/cdrom              udf,iso9660 noauto,owner,kudzu,ro 0 0

/dev/hdc7               /mnt/study               vfat auto,codepage=936,iocharset=cp936,umask=0 0 0

/dev/hdc6               /mnt/software             vfat auto,codepage=936,iocharset=cp936,umask=0 0 0

/dev/hdc1               /mnt/system              vfat auto,codepage=936,iocharset=cp936,umask=0 0 0

/dev/hdc5               /mnt/windows            vfat auto,codepage=936,iocharset=cp936,umask=0 0 0

 

/etc/fstab文件里,第一列是挂载的文件系统的设备名,第二列是挂载点,第三列是挂载的文件系统类型,第四列是挂载的选项,选项间用逗号分隔。第五六列不知道是什么意思,还望高手指点。 在最后两行是我手工添加的windows下的CD盘,加了codepage=936iocharset=cp936参数以支持中文文件名。参数defaults实际上包含了一组默认参数: rw 以可读写模式挂载 suid 开启用户ID和群组ID设置位 dev 可解读文件系统上的字符或区块设备 exec 可执行二进制文件 auto 自动挂载 nouser 使一般用户无法挂载 async 以非同步方式执行文件系统的输入输出操作 大家可以看到在这个列表里,光驱和软驱是不自动挂载的,参数设置为noauto。(如果你非要设成自动挂载,你要确保每次开机时你的光驱和软驱里都要有盘)

 

五、其他参考

访问 Windows 分区

判定了 Windows 分区在你的硬盘驱动器上的位置后,在 shell 提示下登录为根用户(键入 su,然后输入根口令)。

键入下面的命令来创建一个挂载 Windows 分区的目录。例如:

mkdir /mnt/windows

在你访问该分区前,你需要把它挂载到你刚刚创建的目录中。在 shell 提示下以根用户身份键入下列命令,这里的 /dev/hda1 是你通过硬件浏览器找到的 Windows 分区。

mount -t vfat(文件系统类型,982000xp可能不同)  /dev/hda1(分区盘符)  /mnt/windows(分区所挂载的位置,windows下的不同分区可以取不同名字)

然后,你便可以从根用户状态中注销,并改换到被挂载了的 Windows 分区中来存取 Windows 数据了:

cd /mnt/windows

要在你每次引导 Red Hat Linux 系统时自动挂载 Windows 分区,你必须修改 /etc/fstab 文件。该文件配置了所有文件系统和磁盘设备的挂载选项。

shell 提示下,用 su 变成根用户,然后遵循上面的例子。

下一步,用文本编辑器打开 /etc/fstab 文件,例如:

gedit /etc/fstab

在一个新行上添加下列信息(把 /dev/hda1 替换成你通过 硬件浏览器找到的 Windows 分区):

/dev/hda1  /mnt/windows  vfat auto,umask=0 0 0

保存文件并退出文本编辑器。

在系统下次重新引导时,/etc/fstab 文件会被读取,Windows 分区会被自动挂载到目录 /mnt/windows 中。要在 shell 提示下访问该分区,键入 cd /mnt/windows 命令。要进入带有空格的目录或文件,使用引号把目录或文件名包围起来,如 ls "Program Files"

 

你可能感兴趣的:(linux,windows,虚拟机,浏览器,嵌入式,linux内核)