linux使用windows分区 linux系统上挂载windows分区和U盘的方法
一、请问LINUX如何访问windows的分区(FAT32)
1、挂载点必须是一个目录。
2、一个分区挂载在一个已存在的目录上,这个目录可以不为空,但挂载后这个目录下以前的内
容将不可用。
对于其他*作系统建立的文件系统的挂载也是这样。但是需要理解的是:光盘、软盘、其他*作
系统使用的文件系统的格式与linux使用的文件系统格式是不一样的。光盘是ISO9660;软盘是
fat16或ext2;windows NT是fat16、NTFS;windows98是fat16、fat32;windows2000和
windowsXP是fat16、fat32、NTFS。挂载前要了解linux是否支持所要挂载的文件系统格式。
挂载时使用mount命令:
格式:mount [-参数] [设备名称] [挂载点]
其中常用的参数有
-t<文件系统类型>指定设备的文件系统类型,常见的有:
minix linux早使用的文件系统
ext2 linux目前常用的文件系统
msdos MS-DOS的fat,就是fat16
vfat windows98常用的fat32
nfs网络文件系统
iso9660 CD-ROM光盘标准文件系统
ntfs windows NT 2000的文件系统
hpfs OS/2文件系统
auto自动检测文件系统
-o<选项>指定挂载文件系统时的选项。有些也可用在/etc/fstab中。常用的有
codepage=XXX代码页
iocharset=XXX字符集
ro以只读方式挂载
rw以读写方式挂载
nouser使一般用户无法挂载
user可以让一般用户挂载设备
提醒一下,mount命令没有建立挂载点的功能,因此你应该确保执行mount命令时,挂载点已经存
在。(不懂?说白了点就是你要把文件系统挂载到哪,首先要先建上个目录。这样OK?)
例子:windows98装在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指定文件系统的代码页,简体中文中文代
码是936;iocharset指定字符集,简体中文一般用cp936或gb2312。
当挂载的文件系统linux不支持时,mount一定报错,如windows2000的ntfs文件系统。可以重新
编译linux内核以获得对该文件系统的支持。关于重新编译linux内核,就不在这里说了。
四、自动挂载
每次开机访问windows分区都要运行mount命令显然太烦琐,为什么访问其他的linux分区不用使
用mount命令呢?
其实,每次开机时,linux自动将需要挂载的linux分区挂载上了。那么我们是不是可以设定让
linux在启动的时候也挂载我们希望挂载的分区,如windows分区,以实现文件系统的自动挂载呢
?
这是完全可以的。在/etc目录下有个fstab文件,它里面列出了linux开机时自动挂载的文件系统
的列表。我的/etc/fstab文件如下:
/dev/hda2/ ext3 defaults 1 1
/dev/hda1/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/hda3 swap swap defaults 0 0
/dev/cdrom/mnt/cdrom iso9660 noauto,codepage=936,iocharset=gb2312 0 0
/dev/fd0/mnt/floppy auto noauto,owner,kudzu 0 0
/dev/hdb1/mnt/winc vfat defaults,codepage=936,iocharset=cp936 0 0
/dev/hda5/mnt/wind vfat defaults,codepage=936,iocharset=cp936 0 0
在/etc/fstab文件里,第一列是挂载的文件系统的设备名,第二列是挂载点,第三列是挂载的文
件系统类型,第四列是挂载的选项,选项间用逗号分隔。第五六列不知道是什么意思,还望高手
指点。
在后两行是我手工添加的windows下的C;D盘,加了codepage=936和iocharset=cp936参数以支
持中文文件名。参数defaults实际上包含了一组默认参数:
rw以可读写模式挂载
suid开启用户ID和群组ID设置位
dev可解读文件系统上的字符或区块设备
exec可执行二进制文件
auto自动挂载
nouser使一般用户无法挂载
async以非同步方式执行文件系统的输入输出*作
大家可以看到在这个列表里,光驱和软驱是不自动挂载的,参数设置为noauto。(如果你非要设
成自动挂载,你要确保每次开机时你的光驱和软驱里都要有盘,呵呵。)
二、我在linux中怎样才能使用windows分区呢
先说一点背景知识。linux支持很多种文件系统,包括windows的fat32和ntfs。对fat32的支持已经很好,
可以直接使用,而对ntfs的支持还不是太好,只能读,而写是极危险的,并且对ntfs的支持不是默认的,也就
是说你想要使用ntfs的话,需要重新编译内核。鉴于重编内核对于新手的复杂性,这里只讲解使用fat32分区的
方法下面给出上述问题的两种解决方案:1.在安装系统(linux),进行到分区选择挂载点时,你可以建立几个
挂载点,如/mnt/c,/mnt/d等,然后选择你的windows fat32分区,把它们分别挂载到前面建立的挂载点即可。
(注意,正如前面所说,在这里你不能把一个ntfs分区挂载到一个挂载点,应为ntfs不是默认支持的。)这样你
装好系统后就能直接使用你的windows fat32分区了。例如,你把windows的c盘(linux中的/dev/hda1)挂载
到/mnt/c,那么你就能在/mnt/c目录中找到你的c盘中的全部数据。2.如果你在安装系统时没有像方案1所说
的那样挂载上你的fat32分区,没关系,仍然能够很方便的解决这个问题。首先,用一个文本编辑器(如vi)打
开/etc/fstab,在文件的后加入类似如下的几行
/dev/hda1/mnt/c vfat default 0 0
你所要做的修改就是,把/dev/hda1改成你要挂载的fat32分区在linux中的设备号,把/mnt/c改成相应的挂载
点即可。注意,挂载点就是一个目录,这个目录要事先建立。举一个例子,我有三个fat32分区,在windows中
是c,d,e盘,在linux中的设备号分别为/dev/hda1,/dev/hda5,/dev/hda6。那么我就要先建立3个挂载点,
如/mnt/c,/mnt/d,/mnt/e,然后在/etc/fstab中加上这么几行:
/dev/hda1/mnt/c vfat default 0 0
/dev/hda5/mnt/d vfat default 0 0
/dev/hda6/mnt/e vfat default 0 0
保存一下退出编辑器。这样以后你重启??牴?????机器后就能直接使用c,d,e这三个fat32格式的windows分区了还有不会的请参考《linux就该这么学》,针对各种linux疑难杂症,帮助linux学习者。
三、Linux中怎样才能使用Windows分区
1.在
安装系统
(Linux),进行到分区选择
挂载点
时,用户可以建立几个挂载点,如/mnt/c,/mnt/d等,然后选择你的windows
fat32
分区,把它们分别挂载到前面建立的挂载点即可。
(注意,在这里用户不能把一个
ntfs分区
挂载到一个挂载点,应为ntfs不是默认支持的。)这样装好系统后就能直接使用你的windows
fat32分区了。例如,用户把windows的
c盘
(linux中的/dev/hda1)挂载到/mnt/c,那么就能在/mnt/c目录中找到你的c盘中的全部数据。
2.
如果用户在安装系统时没有像方案1所说的那样挂载上你的fat32分区,没关系,仍然能够很方便的解决这个问题。首先,用一个
文本编辑器
(如vi)打开/etc/fstab,在文件的后加入类似如下的几行
/dev/hda1
/mnt/c
vfat
default
0
0
用户所要做的修改就是,把/dev/hda1改成你要挂载的fat32分区在linux中的设备号,把/mnt/c改成相应的挂载点即可。注意,挂载点就是一个目录,这个目录要事先建立。举一个例子,有三个fat32分区,在windows中是c,d,
e盘
,在linux中的设备号分别为/dev/hda1,/dev/hda5,/dev/hda6。那么就要先建立3个挂载点,如/mnt/c,/mnt/d,/mnt/e,然后在/etc/fstab中加上这么几行:
/dev/hda1
/mnt/c
vfat
default
0
0
/dev/hda5
/mnt/d
vfat
default
0
0
/dev/hda6
/mnt/e
vfat
default
0
0
保存一下退出编辑器。
四、linux系统上挂载windows分区和U盘的方法
1、支持ntfs分区
如果你的windows分区有ntfs格式的,要使linux支持ntfs格式,你可以通过编译内核实现,但简单的方式是通过安装支持ntfs的rpm包实现.
单击右键,在快捷菜单里选择在此打开终端.在终端中输入uname-a查看内核版本,**相应内核的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为软件包安装时列出标记)
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/u** 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文件,而8需要像windows用虚拟光驱.
3、挂载U盘
在linux下U盘被作为SCSI设备,挂载U盘前首先确认U盘设备名,在终端输入dmesg|more查看,我的是sda1
建立挂载点/mnt/u**
然后用
代码:
mount-t vfat/dev/sda1/mnt/u**
挂载即可,或者通过在fstab中加入
代码:
/dev/sda1/mnt/u** vfat defaults 0 0
开机自动挂载,但用defaults参数,如果开机时U盘没有插上,就会报错.
所以我是在fstab中加入/dev/sda1/mnt/u** vfat noauto 0 0,然后在桌面上新建一个硬盘设备的链接,在链接属性的设备选项卡选择设备为/dev/sda1(/mnt/u**)半自动挂载.以后要用U盘时,只要点击这个链接就可以了.