在Linux下如何挂载软盘、光盘、U盘等分区

时间:2006-06-22 22:39:33  来源:本站搜集整理  作者:Eric
在Linux下使用软盘、光盘等分区

--------------------------------------------------------------------------------

http://www.kingsoft.com  (2004年06月09日22:21:32)  文章来源:金山软件

  这是Linux初学者问得最多的问题。由于大家已习惯了微软的访问方法,总想用类似的思路来找到软盘和光盘。但在Linux下,却沿袭了UNIX将设备当作文件来处理的方法。所以要访问软盘和光盘,就必须先将它们装载到Linux系统的/mnt目录中来。

  装载的命令是mount,格式如下:mount -t 文件系统类型 设备名 装载目录

  文件系统类型就是分区格式,Linux支持的文件系统类型有许多:

  msdos DOS分区文件系统类型

  vfat 支持长文件名的DOS分区文件(可以理解为Windows文件)系统类型

  iso9660 光盘的文件系统类型

  ext2 Linux的文件系统类型

  ......

  设备名,指的是你要装载的设备的名称。软盘一般为/dev/fd0 fd1;光盘则根据你的光驱的位置来决定,通常光驱装在第二硬盘的主盘位置就是/dev/hdc;如果访问的是DOS的分区,则列出其设备名,如/dev/hda1是指第一硬盘的第一个分区。 装载目录,就是你指定设备的载入点。

  1. 装载软盘

  首先用mkdir /mnt/floppy 在/mnt目录下建立一个空的floppy目录,然后输入mount -t msdos /dev/fd0 /mnt/floppy 将DOS文件格式的一张软盘装载进来,以后就可以在/mnt/floppy目录下找到这张软盘的所有内容。

  2. 装载Windows所在的C盘

  mkdir /mnt/c 在/mnt目录下建立一个空的c目录;

  mount -t vfat /dev/hda1 /mnt/c 将Windows的C盘按长文件名格式装载到/mnt/c目录下,以后在该目录下就能读写C盘根目录中的内容。

  3.装载光盘

  mkdir /mnt/cdrom 在/mnt目录下建立一个空的cdrom目录;

  mount -t iso9660 /dev/hdc /mnt/cdrom 将光盘载入到文件系统中来,将在/mnt/cdrom目录下找到光盘内容。有的Linux版本允许用mount /dev/cdrom或mount /mnt/cdrom命令装载光盘。

  要注意的是,用mount命令装入的是软盘、光盘,而不是软驱、光驱。有些初学者容易犯一个毛病,以为用上面命令后,软驱就成了/mnt/floppy,光驱就成了/mnt/cdrom,其实不然,当你要换一张光盘或软盘时,一定要先卸载,再对新盘重新装载。

  4.卸载

  卸载的命令格式是:umonut 目录名,例如要卸载软盘,可输入命令umonut /mnt/floppy。要注意的是,在卸载光盘之前,直接按光驱面板上的弹出键是不会起作用的。


如何挂载windows分区和U盘

1、支持ntfs分区

如果你的windows分区有ntfs格式的,要使linux支持ntfs格式,你可以通过编译内核实现,但最简单的方式是通过安装支持ntfs的rpm包实现.
单击右键,在快捷菜单里选择在此打开终端.在终端中输入uname -a查看内核版本
http://linux-ntfs.sourceforge.net/rpm/redhat9.html下载相应内核的rpm,我的rh9是kernel-ntfs-2.4.20-8.i686.rpm.在终端中输入

rpm -ivh kernel-ntfs-2.4.20-8.i686.rpm

即可.(rpm为安装rpm包的命令,参数i 为显示软件包的相关信息,v 为显示命令执行过程,h为软件包安装时列出标记)

核心支持NTFS后,可以用以下命令加挂:

  mount -t ntfs /dev/hda2 /mnt/c

  同样对于中文的文件名和目录名会出现乱码的问题可以指定字符集,不过和加挂vfat分区不同,实际中用以下命令是可行的:

  mount -t ntfs -o iocharset=cp936 /dev/hda2 /mnt/c -r
  mount -t ntfs -o iocharset=cp936,rw /dev/hda2 /mnt/c


2、挂载windows分区

在linux的分区表示中,硬盘为hd,第一块硬盘为hda,第二块为hdb.一块硬盘最多可以分成四个主分区,dos主分区,dos扩展分区,linux根分区和linux交换分区都属于主分区,4个主分区分别用数字表示,如果是第一块硬盘,就hda1,hda2,hda3和hda4.在扩展分区上还可以分逻辑分区,标号从5往后依次排列.在windows中c盘为dos主分区,是hda1,d盘一般是dos扩展分区上的第一个逻辑分区,是hda5,e为hda6,f为hda7等等.在linux下可以通过mount命令挂栽windows分区到一个文件夹(这个文件夹称作挂载点),然后你可以通过这个文件夹访问windows分区,就象快捷方式.

比如挂载c盘
先在/mnt/目录下新建目录winc
在终端输入

mount -t vfat /dev/hda1 /mnt/winc -o codepage=936 iocharset=936

(其中-t为指定设备文件系统,vfat表示windows的fat16和fat32文件系统格式,-o为指定加载文件系统时的选项,而选项codepage=936 iocharset=936是使linux可以正常显示挂载分区中的中文)

如果希望每次开机就自动加载windows分区,可以修改/etc/下的fstab文件,格式为

/dev/hda1 /mnt/winc vfat defaults,codepage=936,iocharset=cp936

保存后重启即可.

我的fstab内容如下

LABEL=/ / ext3 defaults 1 1
none /dev/pts devpts gid=5,mode=620 0 0
none /proc proc defaults 0 0
none /dev/shm tmpfs defaults 0 0
/dev/hdb2 swap swap defaults 0 0
/dev/cdrom /mnt/cdrom udf,iso9660 noauto,owner,kudzu,ro 0 0
/dev/fd0 /mnt/floppy auto noauto,owner,kudzu 0 0
/dev/sda1 /mnt/usb vfat noauto 0 0
/dev/hda1 /mnt/winc ntfs defaults 0 0
/dev/hda5 /mnt/wind vfat defaults,codepage=936,iocharset=cp936 0 0
/dev/hda6 /mnt/wine vfat defaults,codepage=936,iocharset=cp936 0 0
/dev/hda7 /mnt/winf ntfs defaults 0 0


另外,用

mount -t iso9660 -o loop 名称.iso 挂载点

可以直接用iso文件,而不需要像windows用虚拟光驱.


3、挂载U盘

在linux下U盘被作为SCSI设备,挂载U盘前首先确认U盘设备名,在终端输入dmesg|more查看,我的是sda1
建立挂载点/mnt/usb
然后用

mount -t vfat /dev/sda1 /mnt/usb

同样对于中文的文件名和目录名会出现乱码的问题可以指定字符集,命令类似于上面对FAT32介绍的:

mount /dev/sda1 /usb -o pagecode=936,iocharset=cp936

或者通过在fstab中加入

/dev/sda1 /mnt/usb vfat defaults 0 0

开机自动挂载,但用defaults参数,如果开机时U盘没有插上,就会报错.
所以我是在fstab中加入/dev/sda1 /mnt/usb vfat noauto 0 0,然后在桌面上新建一个硬盘设备的链接,在链接属性的设备选项卡选择设备

为/dev/sda1(/mnt/usb)半自动挂载.以后要用U盘时,只要点击这个链接就可以了.



加挂Linux系统通过samba共享出来的目录

  利用samba共享出来的目录其实很难说其原来是哪种文件系统,不过这一点不重要,只要它对用户是透明的就好啦。加挂时,我们指定类型为smbfs,在加挂samba共享的分区时,也会出现中文的文件名和目录名乱码情况,可以用以下命令加挂:

  mount -t smbfs -o
  username=terry,password=terry,codepage=936,iocharset=cp936
  //terry-linux/terry /mp3/

  mount -t smbfs -o
  username=terry,password=terry,codepage=936,iocharset=cp936
  //192.168.100.228/terry /mp3/

  注意:你可以不直接写password=terry这个参数,系统界时会要你输入密码,这样就可以防止有人直接看到你的密码。视具体情况而定,-o后面的参数可以对应增减。

加挂Window系统共享出来的目录

  在局域网中,常常需要去访问其它Windows系统共享出来的目录,在Linux下,安装了samba后就可以使用samba中带的命令来访问Windows机器的共享资源。

  用smbclient来列出Windows机器的共享资源

  smbclient -L 192.168.100.111

  根据上面所列出Windows的共享资源后,可以选择需要加挂到本地Linux中去的Windows的共享资源,然后使用smbmount或mount来加挂,请参照下面几条命令:

  smbmount //192.168.100.111/public /public/
  mount //192.168.100.111/d /mnt/cdrom -o username=terry (这样要在命令行输入密码的)
  mount //192.168.100.111/d /mnt/cdrom -o username=terry$1234 (这样则不必在命令行输入密码)

  注:除了上面介绍的命令行方法之外,这时最好的方法就是使用其它的客户端,如LinNeighborhood、networkneighbours、ksmbshare等,请参考其它文章。

自动加载
如果你常常要加挂一些文件系统,想在启动时自动加挂应该怎样做呢?下面介绍两种方法:

  方法1.
  把加挂的命令放在/etc/rc.d/rc.local中。

  方法2.
  修改分区配置文件/etc/fstab,在启动时加挂文件系统,下面是我的/etc/fstab文件:
  LABEL=/    /      ext3    defaults
  1 1
  none      /dev/pts   devpts   gid=5,mode=620
  0 0
  LABEL=/home  /home    ext3    defaults
  1 2
  none      /proc    proc    defaults
  0 0
  none      /dev/shm   tmpfs    defaults
  0 0
  /dev/hda4   swap     swap    defaults
  0 0
  /dev/cdrom   /mnt/cdrom        iso9660
  noauto,owner,kudzu,ro 0 0
  /dev/hda2   /ntfs     ntfs    defaults,iocharset=cp936  0 0
  /dev/hda6   /win     vfat    defaults,codepage=936,iocharset=  cp936  0 0
  //192.168.100.228/terry /mp3    smbfs  username=terry,password=terry,codepage=cp936,iocharset=cp936 0 0

  请注意最后三行:

  倒数第四行,加挂我的C盘,NTFS格式的
  倒数第三行,加挂我的D盘,FAT32格式的
  倒数第二行,加挂的是我的局域网中另一台安装samba的Linux文件服务器上的一个目录。

相关文章

文章评论

共有  0  位网友发表了评论 此处只显示部分留言 点击查看完整评论页面