- 论坛徽章:
- 0
|
在linux下挂载系统资源汇总
殊途同归 发表于 2005-7-26 16:19:00
在linux下挂载系统资源汇总
越来越多的朋友在电脑里面安装了linux系统后可能都回碰到这样的问题:那就是如何使用其他分区的资源?很简单,mount。
在这篇帖子里面主要将如何挂载硬盘,但是也将了一些挂载其他设备的方法,比如优盘等等……下面我们先来讨论一下硬盘。
在我们使用其他分区的系统资源前,需要首先明白几个概念。linux下的分区表示。
在linux下面,分区不再是c,d,e……而是使用了一种更加规范的表示方式。
我们知道,通常情况下计算机里面可以容纳4个硬盘一般都是IDE设备而不是SCSI设备。如果是ide设备那么硬盘表示的起始就是hd,如果是scsi设备那么硬盘表示的起始就是sd。
对于系统底层的识别是第一个ide接口的主设备,第一个ide接口的从设备,第二个ide接口的主设备,第二个点接口的从设备。他们分别表示为a,b,c,d。那么我们假设一个最常见的情况--我们使用ide的硬盘,那么表示就应该是hda,hdb,hdc,hdd。
我们知道,在电脑里面可能有很多的分区,计算机的分区可以有主分区和逻辑分区。主分区在计算机里面只能有4个,二逻辑分区可以有很多个。(我好想记得是26个,不是很确定了,但是肯定是大于20的,呵呵很久没有看计算机基础了,很多都忘记了),通常我们一般使用数字来表示某一个分区。从1~N。但是我们在分区的时候很多时候只有一个主分区,那就是c盘,从d盘开始的其他盘符都是逻辑分区,那么用数字表示就是1,5,6~N。
现在我们连接起来,加入我们的电脑的硬盘是计算机系统的第一个ide接口的主设备,系统里面有c,d,e,f,g几个盘符,那么现在他们在linux中表示为hda1,hda5,hda6,hda7,hda8,hda9。
在我们了解了linux中的分区以后我们就可以开始挂载了,但是在挂载前,我们还有了解,linux本身是通过虚拟文件系统接口同其他文件系统通信,也就是说他本身可以支持多种文件系统。比如ext2,ext3,seap,fat,fat32,ntfs(只读而且需要内核支持),iso9660,……所谓的挂载,也就是将某个分区得我内容挂载到某个文件系统里面。比如,通常情况下在linux中有一个叫/mnt的文件系统,我们一般将光驱,软驱,usb设备等等都挂载到下面。注意,这只是一个习惯,并不是说一定要挂载到下面。你也可以在其他地方建立一个文件夹来挂载设备。
好了,现在我们来了解如何挂载了。
mount [-afFhnrvVm] [-|] [-o] [-t] [设备名称] [挂接点
1、挂载硬盘分区
比如我们要挂载e盘,现在我们(root用户哟~)就输入
#mount /dev/hda5 /mnt/WinD
其中/mnt下的WinD是你随意建立的文件夹。
怎么样,是不是很简单,注意,使用完成后要输入
#umount /dev/hda5或者
#umount /mnt/WinD
在挂载是你会发现你挂载以后如果那个分区里面有中文的文件夹或者文件名,你会发现他无法显示正常,呵呵,其实解决的办法很简单,就是挂载的时候加上参数。
#mount -o iocharset=cp936 /dev/hda5 /mnt/WinD
呵呵是不是就正常了!
如果你想计算机每次开机自动挂载,那么请编辑/etc/fstab文件。将mount行添加进入。
2、我们来说一下挂载软驱:
先在/mnt下建立一个文件夹,比如叫foppy,现在插入软盘,在在命令提示符下输入
#mount /dev/fd0 /mnt/foppy
注意/dev/fd0是软驱的设备文件,你可以理解文驱动程序,呵呵~
3、使用光驱
比如你想将光驱挂载到/mnt/cdrom
输入
#mount /dev/cdrom /mnt/cdrom
4、在linux中使用优盘
在/mnt下建立一个文件加,比如叫usb
输入:
#mount /dev/sda1 /mnt/usb
挂载的几点技巧补充:
1、如果你不知道你的计算机的硬盘结构,请用管理员登陆,输入:
#fdisk -l
Disk /dev/hda: 255 heads, 63 sectors, 4865 cylinders
Units = cylinders of 16065 * 512 bytes
Device Boot Start End Blocks Id System
/dev/hda1 1 386 3100513+ b Win95 FAT32
/dev/hda5 389 399 88326 82 Linux swap
/dev/hda6 1964 2491 4241128+ 83 Linux
……
2、编辑/etc/fstab的结构
比如想每次开机挂载E盘到/mnt/WinD
请输入:
/dev/hda6 /mnt/WinD rw,umask=0,iocharset=gb2312,codepage=936 0 0
3、很多时候linux默认情况下是不能挂载NTFS文件系统的,这时候如果你要挂载请从新编译内核添加对NTFS的支持。
补充:
一、ntfs分区的访问
最好的办法是在linux安装前已经具有ntfs分区,这样在安装如mandrake和suse linux版本时,可以自动为你安装相应的内核并设置好,你就可以在不知情的情况下自由地访问windows分区,这也是我推荐初学者使用mandrake或者suse linux的原因,而redhat不会,因此需要编译内核。
1、找到编译内核所需要的.config文件。 在/usr/src/linux/configs目录下有若干编译内核所用的配置。选择我们想要的配置,将它复制到/usr/src/linux目录下,改名为.config,命令如下:cp /usr/src/linux/configs/kernel-2.2.16-i686.config /usr/src/linux/.config
2 、修改.config文件,去掉不用的模块,加上自己想要的模块。 打开.config,有许多XXXX=m的项,这些都是要被编译为模块的项,因为我们不希望编译这些模块,所以要把XXXX=m的项统统去掉。然后再加上我们想要的模块,将# CONFIG_NTFS_FS is not set 改为CONFIG_NTFS_FS=m 当然,可以用你熟悉各种工具来做这件事。
3、编译NTFS模块。 在/usr/src/linux目录下运行命令make modules来编译我们想要的NTFS模块。
4、安装NTFS模块。 编译后得到的ntfs.o在/usr/src/linux/fs/ntfs目录下,手动将它复制到正确的目录下。 cp /usr/src/linux/fs/ntfs/ntfs.o /lib/modules/2.2.16-22/fs/
注意:千万不能运行命令make modules_install,否则将带来严重的后果,它会删除你系统中的所有模块,只安装刚刚编译的模块(ntfs.o)。
5、载入NTFS模块. 运行命令depmod;modprobe ntfs (以上为刘军民先生找到的方法,该方法比较简单和实用)
另外你也可以使用make menuconfig,重新定制你需要的所有模块,接着运行make modeules;make modeules_install来安装。但是这种方式要麻烦和费时些。
二、直接编写fstab文件
这是最简单的方法。直接编写fstab文件的好处还在于,linux会在启动时自动为你装载你在其中定义的windows分区,不用在每次使用都要输入:mount -t vfat /dev/hda1 /mnt/winc。使用su命令转为root权限,用vim或者其他编辑软件打开fstab(位于/etc/fstab),命令如下:vim /etc/fstab,内容示例如下:
/dev/hda8 / ext2 defaults 1 1
/dev/hda6 /boot ext2 defaults 1 2
none /dev/pts devpts mode=0620 0 0
/dev/hda9 /home ext2 defaults 1 2
/mnt/cdrom /mnt/cdrom supermount fs=iso9660,dev=/dev/cdrom 0 0
/mnt/floppy /mnt/floppy supermount fs=vfat,dev=/dev/fd0 0 0
/dev/hda1 /mnt/winc vfat user,exec,umask=0,codepage=936,iocharset=gb2312 0 0
/dev/hda5 /mnt/wind vfat user,exec,umask=0,codepage=936,iocharset=gb2312 0 0
none /proc proc defaults 0 0
/dev/hda7 /usr ext2 defaults 1 2
/dev/hda10 swap swap defaults 0 0
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/20047/showart_123495.html |
|