今天需要用redhat读取移动硬盘里面ntfs格式的文件,发现还有点麻烦,于是网上找了些资料,看到这个不错,感觉还不错的,就cp下,晚上在按照这个方法操作下试试:
目前网上有很多介绍在linux下mount windows NTFS的文章,说的都是重新编译内核,加入对NTFS分区的支持.但是对于一个刚刚接触linux的新手来说,又是何其痛苦的一件事,我给大家介绍一种简单的方法.
1.首先确定你的linux kernel版本是什么(RedhatArray.0默认的kernel版本是2.4.20-8 )
#> rpm -qa|grep kernel
会显示类式的如下信息:
kernel-pcmcia-cs-3.1.31-13
kernel-2.4.20-8
这样,你就看到了你的kernel版本是2.4.20-8
2.然后打开下面这个网址:
http://rpm.pbone.net/index.php3/stat/16/limit/1/dl/40/idka/1705
找到和你的kernel版本对应的kernel-ntfs RPM包,下载.
我用的是RedhatArray.0, Kernel版本是2.4.20-8,所以我找的包是kernel-ntfs-2.4.20-20.8.i686.rpm ,下载地址:
ftp://ftp.uni-bayreuth.de/pub/linux/drivers/linux-ntfs/kernel-ntfs-2.4.20-20.8.i686.rpm
,下载.
3.安装:
#> rpm -ivh kernel-ntfs-2.4.20-20.8.i686.rpm
4.如果没有什么错误,你的系统应该已经支持NTFS了,如果报错,肯定是你找的包与你的Kernel版本不匹配.重新找找下载.
5.mount你的NTFS分区,怎样mount,不用我说了吧.呵呵
一个rpm下去,rh8挂上ntfs
我的方法(原装rh8,未升级或编译内核):
1. 上google.com搜索并下载 kernel-ntfs-2.4.18-14.i686.rpm
2. rpm -ivh kernel-ntfs-2.4.18-14.i686.rpm
3. mkdir /mnt/c
4. mount -t ntfs /dev/hda1 /mnt/c
原文
http://fr2.rpmfind.net/linux/rpm2html/search.php?query=kernel-ntfs
这个方法真是太棒了,一个RPM下去,就OK了,要选与你系统相应内核的RPM
#uname -a
会有类似如下的信息出来
Linux LinuxSir01 2.4.18-17.8.0 这就要下载与2.4.18-17.8内核相对应的。。我们要具体问题具体分析。
上面就是INTEL的CPU的。。。。。
如果有AMD的CPU,那就是类似这样的。。
Linux 4LinuxSir0 1 2..18-14 看一下这里,红字的地方是不是有个athlon的?那就要下载结尾是athlon.rpm,但还不能是文件名还不要带有smp之类的,上面的例子也是一样的。
然后就把下载下来的RPM安装上
#rpm -ivh ker*rpm --nodeps --force
mount分区的一些具体工作:
#mkdir /mnt/WinC
#mount -t ntfs /dev/hda1 /mnt/WinC
#cd /mnt/WinC
看一下能不能访问了?如果访问不了,说明下载的RPM与内核的版本不相对应。要再好好的想一想应该下载什么样的了。。。。。
kernel表示内核,ntfs代表支持ntfs磁盘格式,2.4.18-3代表linux系统内核的版本号,athlon代表支持AMD athlon的cpu,而ix86则代表支持intel的处理器。不知这样解释对否?
在下载版本时是需要特别注意的,版本不对是绝对不能mount成功的请先用uname -a 看看你的内核版本以及cpu内核,在针对应的下载rpm 这里可以下载
http://prdownloads.sf.net/linux-ntfs/
# 1 Wed Sep 4 12:13:11 EDT 2002 i686 athlon i386 GNU/Linux#1 Tue Oct 8 13:51:08 EDT 2002 i686 i686 i386 GNU/Linux
当你安装完Linux系统,并且已经启动, 恭喜你!如果你的硬盘上还安装了WinNT/2000系统,你试图去访问另一个NTFS分区时却遇到了麻烦。因为你所用的Linux系统没有已编译的支持 NTFS文件系统的模块。怎么办?也许你会运行make menuconfig,重新定制你需要的所有模块,接着运行make modeules;make modeules_install来安装。这样不仅繁琐、费时,还可能会出现问题。或者因为编译内核对你有些棘手,太多的选择让你手足无措,你根本没有太 好的方法。本文给你提供一个简单的方法,你可以轻松地去编译你所需要的支持NTFS系统的模块(ntfs.o)。以此为例,但愿对你编译其他模块有所帮 助。
写此文时我用的系统是Red Hat Linux release 7.0 (Guinness) Kernel 2.2.16-22 on an i686。从一个新安装的系统开始,我们一起去编译一个自己想要的支持NTFS文件系统模块。
一、找到编译内核所需要的.config文件。
在/usr/src/linux/configs目录下有若干编译内核所用的配置。选择我们想要的配置,将它复制到/usr/src/linux目录下,改名为.config。
cp /usr/src/linux/configs/kernel-2.2.16-i686.config /usr/src/linux/.config
二、修改.config文件,去掉不用的模块,加上自己想要的模块。
打 开.config,有许多XXXX=m的项,这些都是要被编译为模块的项,因为我们不希望编译这些模块,所以要把XXXX=m的项统统去掉。然后再加上我 们想要的模块,将# CONFIG_NTFS_FS is not set 改为CONFIG_NTFS_FS=m 当然,可以用你熟悉各种工具来做这件事。
三、编译NTFS模块。
在/usr/src/linux目录下运行命令make modules来编译我们想要的NTFS模块。
四、安装NTFS模块。
编译后得到的ntfs.o在/usr/src/linux/fs/ntfs目录下,手动将它复制到正确的目录下。
cp /usr/src/linux/fs/ntfs/ntfs.o /lib/modules/2.2.16-22/fs/
这里的2.2.16-22是你的linux核心的版本号,请注意。
注意:千万不能运行命令make modules_install,否则将带来严重的后果,它会删除你系统中的所有模块,只安装刚刚编译的模块(ntfs.o)。
五、载入NTFS模块.
运行命令depmod;modprobe ntfs 试着访问你的NTFS文件系统吧,祝你成功!
有些模块依赖于你的系统内核,所以不适用本文所提供的方法。还有些模块和其他模块有依赖关系。如果你不熟悉这些依赖关系的话,建议你在第二步去掉不用的模块选项后,通过make menuconfig来加上自己想要的模块。
自己编译NTFS分区的模块(以2.4.18-3为例)
1.用uname -a [查看一下自己用的内核版本.]
2.用rpm -q kernel-source-2.4.18-3 [查看是否装了内核源程序.]
3.假定已经安装好了源程序,到/usr/src/linux-2.4.18-3/目录.
4.用make mrproper [清除多余的无用模块.]
5.用rpm -q ?pf ’%{ARCH}\n’ kernel-2.4.18-3
[看一下用configs下的哪个ixxx.config文件.(本机为i686)]
6.用自己熟悉的编辑器(vi)打开/usr/src/linux-2.4.18-3/configs/kernel- 2.4.18-3.i686.config查NTFS,将这两行改为config NTFS fs=m和config NTFS rw=m保存.
7.用make config 到NTFS时选m,其余的默认回车.[有的文章用make menuconfig或make xconfig,但我在Redhat7.3下没有这两个?]
8.用自己熟悉的编辑器(vi)打开/usr/src/linux-2.4.18-3/Makefile文件,将EXTRAVERSION = -Xcustom改成EXTRAVERSION = -X保存退出.(X为数字)
Array.用make dep
10.用make modules SUBDIRS=fs/ntfs(这时ntfs.o已经产生)
11.用mkdir /lib/modules/2.4.18-3/kernel/fs/ntfs
12.用cp /usr/src/linux-2.4.18-3/fs/ntfs/ntfs.o 到刚才建立的目录.
13.用chmod 644 /lib/modules/2.4.18-3/kernel/fs/ntfs/ntfs.o
14.用depmod -a
15. 用vi /etc/fstab加入以下内容 /dev/hdxy___/mnt/XXX___ntfs___noauto,user,uid=z,gid=z,umask=007,iocharset =cpArray36___0_0保存退出.[hdxy,x为IDE号a.b.c.d,y为分区号.XXX为自己起的名字.z为用户和组的ID号]
16.用时用mount /mnt/XXX退出用umount /mnt/XXX
全自动加载
如果是经常进行文件交换,希望一进入Linux就加载特定的分区而且又想把这一分区挂接到固定的目录的话,
你可以使用这种方式。
用任一文本编辑器打开/ect目录下的fstab文件,把
/dev/hda5 /mnt/win-c ntfs umask=0000 defaults,iocharset=cpArray36 0 0
/dev/hda3 /mnt/win-c vfat defaults,codepage=Array36,iocharset=gb2312 0 0
添加到最后一行后面,保存后退出。以后每次重新启动系统时都会自动加载。说明:“vfat”表示加载的是FAT32文件系统,如果是“msdos”则是FAT16文件系统,“ntfs”是NT的NTFS文件系统。要是不加umask=0000,就只有root可访问ntfs的盘了。
mount -o iocharset=cpArray36 -t ntfs /dev/hdaX /mnt
支持中文
mount用法(sakulagi)
fat32的分区 mount -o codepage=Array36,iocharset=cpArray36 /dev/hda7 /mnt/cdrom
ntfs的分区 mount -o iocharset=cpArray36 /dev/hda7 /mnt/cdrom
iso文件 mount -o loop /abc.iso /mnt/cdrom
软盘 mount /dev/fd0 /mnt/floppy
USB闪存 mount /dev/sda1 /mnt/cdrom
所有/etc/fstab内容 mount -a
可以指定文件格式"-t 格式", 格式可以为vfat, ext2, ext3等.
当安装和编译完成后,便可以自行在/mnt下建立一个目录当作挂载点。以笔者而言,挂载点设为windows1。然后使用“mount”命令挂载,示例如下:
#mount t ntfs /dev/hdc1 /mnt/windows1
当顺利将NTFS挂载起来后,便可以切换到所建立的挂载点目录下(例如切换到/mnt/windows1下),运行如下命令来查看NTFS分区下的文件:
#ls -l
在用RPM方式安装可以挂载NTFS分区的组件后,此时的Linux只能在所挂载的NTFS分区内读取和运行相关文件,而无法写入任何信息或存储任何文件到NTFS分区中。
此时,一般的用户无法使用NTFS分区内的东西,因为挂载的权限只有系统管理者root才拥有。在默认值上挂载后的分区,其拥有者(UID)和拥有群组 (GID)都是root。如果想让一般的用户也能使用挂载后的文件,就必须重新设置。具体做法如下:
首先,root在运行“mount”命令前,须先考虑有几位用户将使用NTFS分区内的文件,例如abc用户需要使用,就可以输入下面的命令:
#mount /dev/hdc1 /mnt/windows1 t ntfs r o uid=abc
挂载完成后,可以看到windows1的拥有者已经变为abc。此时,abc这位用户便可以使用windows1目录下的任何文件了,从而实现了利用NTFS磁盘空间的目的。
分享到:
相关推荐
### 在Linux下访问Windows分区的方法 #### 背景与目的 随着计算机技术的发展和操作系统多样性的增加,用户经常需要在同一台计算机上安装多种操作系统,如Linux和Windows。这种多系统共存的情况使得用户能够在不同...
Linux 下挂载 Windows 分区 Linux 系统下挂载 Windows 分区是一项实用的技术,它允许用户在 Linux 系统中访问和管理 Windows 分区中的文件。挂载 Windows 分区可以分为两步:手工挂载和自动挂载。 手工挂载 ...
### Linux 下挂载 U盘、移动硬盘及查看 Windows 分区详解 #### 一、挂载基本概念 在 Linux 操作系统中,挂载是将一个文件系统连接到另一个已存在的目录上的过程。这个过程通常涉及两个主要参数:一个是设备(如...
mount是Linux下的一个命令,它可以将Windows分区作为Linux的一个“文件”挂接到Linux的一个空文件夹下,从而将Windows的分区和/mnt这个目录联系起来mount是Linux下的一个命令,它可以将Windows分区作为Linux的一个...
在Linux系统中,由于文件系统的差异,直接访问Windows NTFS分区可能会遇到问题。但通过一些工具和设置,我们可以实现Linux下的自动挂载和访问NTFS分区。本文将深入讲解这一过程,帮助用户更好地理解如何在Linux环境...
在双硬盘环境下,Linux系统与Windows XP系统的共存与数据交互是许多用户关注的问题,尤其是在需要频繁访问Windows分区的情况下。本文将深入解析如何在Linux环境下访问Windows XP的系统分区,探讨手动配置与自动挂载...
Linux下的`mount`命令是实现这一目标的基本工具。本篇文章将详细介绍如何在Linux中完美装载Windows分区,解决自动挂载、中文显示以及读写权限的问题。 首先,让我们理解`mount`命令的基本用法。`mount -t vfat`选项...
Linux系统上挂载Windows分区和U盘的方法 本文档详细介绍了Linux系统上挂载Windows分区和U盘的方法,涵盖了支持NTFS分区、挂载Windows分区、挂载U盘等内容。 支持NTFS分区 为了使Linux系统支持NTFS分区,可以通过...
在Windows下访问Linux硬盘分区: Windows本身不直接支持Linux文件系统,如EXT2、EXT3或EXT4。为了在Windows下访问这些分区,我们需要第三方软件,例如Fsdext2。Fsdext2是一个免费的工具,允许Windows读取Linux分区。...
### Linux命令mount的使用详解 #### 一、概述 `mount` 命令是Linux系统中用于挂载文件系统的重要工具。通过该命令,用户能够将存储设备(如硬盘分区、USB驱动器、ISO镜像文件等)挂载到系统的特定目录下,从而访问...
随着Linux用户数量的增加,了解如何在Linux环境下挂载和管理Windows分区变得尤为重要。本文主要探讨了两种方法:手工挂载和自动挂载。 1. 手工挂载Windows分区: 在Linux中,Windows分区通常以不同的设备名称表示,...
RedHat Linux 自动挂载 Windows 文件系统可以解决 Linux 下对非 Linux 分区格式的文件系统的访问问题,提高了系统的可用性和灵活性。通过修改 fstab 文件或 rc.local 文件可以实现自动挂载 Windows 文件系统。
这将把Windows下的C盘映射到Linux下的/mnt目录,然后我们可以访问和管理Windows下的文件和目录。 在Linux的KDE图形界面中,我们可以使用KDE文件管理器来访问和管理Windows下的文件和目录。首先,我们需要在根目录下...
### Ubuntu下自动挂载Windows分区的方法详解 #### 一、背景介绍 Ubuntu 是一款非常流行的开源操作系统,基于 Linux 内核。很多用户选择在一台计算机上同时安装 Ubuntu 和 Windows,以便于根据不同的需求灵活切换...
总的来说,Linux挂载NTFS文件系统涉及Linux的文件系统原理、`mount`命令用法、第三方驱动的安装和配置,以及可能的故障排查与修复。理解这些知识点有助于在Linux环境下更好地管理和使用NTFS设备。
在Linux操作系统中,由于默认内核并不包含对微软Windows NTFS文件系统的原生支持,因此在需要读写NTFS分区时,需要借助第三方工具。标题和描述中提到的"Linux下支持NTFS分区挂载"是指如何在Linux环境中挂载并操作...
4. 将 /dev/sdb1 挂载到 /data 目录下,使用 mount 命令,例如 mount /dev/sdb1 /data 5. 修改 /etc/fstab 文件,设置开机自动挂载 迁移 /usr 目录 由于 /usr 目录占用的空间比较多,因此需要将其迁移到新的分区中...