在Linux下访问Windows分区
在Linux中,如果你要使用储存设备 (Mo、硬盘、光驱等) ,就得先将它挂上 (Mount),而当储存设备挂上了之后,就可以把它当成一个目录来进行访问。挂上一个设备使用mount命令。
在使用mount这个指令时,至少要先知道下列三种信息:
1. 要Mount对象的文件系统类型? (File system type)
2. 要Mount对象的设备名称? (/dev/????)
3. 要将设备Mount到哪个目录去?
一、获得系统支持的文件系统类型
就第一点来说,用户可以执行 cat /proc/filesystems
来获得机器上支持的文件系统类型。如果系统并不支持你要挂接设备的文件系统类型,那你可能需要重新编译内核以使其增加对该种文件类型支持。关于如何编译内核请参照LinuxAid在线培训栏目中的相关文章。
常用的文件系统有:
Win95/98常用的FAT 32文件系统 :vfat
Win NT用的文件系统 :ntfs
OS2用的文件系统 :hpfs
Linux用的文件系统 :ext2
光盘片用的文件系统 :iso9660
其中虽然vfat是指FAT 32系统,但事实上它也兼容FAT 16的文件系统类型。
二、确定设备的名称
在Linux中,设备名称通常都在/dev里。这些设备名称的命名都是有规则的,我们可以用"推理"的方式把设备名称找出来。
譬如说/dev/hda1这个IDE设备。
hd是Hard Disk(硬盘)的意思,
sd是SCSI Device,f
d是Floppy Device(或是Floppy Disk?)。
a则是代表第一个设备,通常IDE接口可以接上四个IDE设备(例如四块硬盘)。
所以要识别IDE硬盘的方法分别就是:hda、hdb、hdc、hdd。此外,hda1中的"1"代表hda的第一个硬盘分区
(partition),hda2代表hda的第二个分割区,依此类推。
此外,你可以直接检查/var/log/messages这个文件,在该文件中可以找到计算机开机后,系统已辨认出来的设备代号。
三、查找挂接点
最后我们要决定将设备挂接到哪里,先查看一下你的计算机是不是有个/mnt的空目录?该目录就是专门用来当作挂载点(Mount Point)的目录。建议您在/mnt里多建这几个目录:/mnt/cdrom、/mnt/floppy、/mnt/mo等来当作目录的专用挂载点。
举例而言,如要挂载下列五个设备的话,其执行指令可能是 (假设都是Linux 的ext2系统,如果是Win XX的话,请将ext2改成vfat):
1. 软盘 ===>mount -t ext2 /dev/fd0 /mnt/floppy
2. MO ===>mount -t ext2 /dev/sda /mnt/mo
3. cdrom ===>mount -t ext2 /dev/hdc /mnt/cdrom
4. SCSI cdrom ===>mount -t iso9660 /dev/sdb /mnt/scdrom
5. SCSI cdr ===>mount -t iso9660 /dev/sdc /mnt/scdr
这是假设,如果你的设备的名称跟这个不同的话请自行修改。
最后需要注意的是:
1. 执行mount动作时先打一下pwd看看现在的目录是不是在挂载点,如果现在目录在挂载点的话,mount (或umount)不会成功 (会显示device busy)。
2. 想卸载某设备的语法是umount 目录名,例如umount /mnt/cdrom等。
另:
1.mount还可以挂载iso文件(虚拟光驱??)和共享的网络文件夹(samba)
2.如果记不了那么多的文件系统,可以写 mount -t auto /dev/........ 就可以了!
3. 如果希望别的用户可以写mount的分区(服务器时就要用了,例如ftp上传什么的)
参数 -o umask=0020,dmask=0020
如果想显示中文:
参数 -o codepage=936,iocharset=gb2312
如果想把某个目录挂到别的地方用
mount --bind olddir newdir
4.使用U盘和USB硬盘的正确方法
写得可能不大清楚使很多网友不知所措
1. fdisk -l /dev/sd?
或都直接这样也行
fdisk -l /dev/sda
fdisk -l /dev/sdb
fdisk -l /dev/sdc
一般USB U盘和硬盘的对应设备文件是/dev/sda /dev/sdb /dev/sdc
2.
执行完以上命令后,USB硬盘对应的设备文件是什么,
如果没有任何信息显示你需要先执行以下这此命令
cat /proc/scsi/scsi
这个文件是否存在,和是否有usb-storage
lsmod查看一下是否有usb-storage scsi_mod sd_mod
没有就
modprobe usb-storage
modprobe scsi_mod
modprobe sd_mod
然后再试,就可以了
3。
例:设备文件是/dev/sdb
mount -t vfat /dev/sdb /mnt/usbsdb
Example :
mkdir /mnt/c
mkdir /mnt/d
mount -t vfat /dev/hda1 /mnt/c
mount -t vfat /dev/hda5 /mnt/d