viplinux 2010-06-22
windows XP突然无法进入,但系统盘C[NTFS格式]中有重要资料尚待取出,本来可以用ghost、矮人工具箱之类的DOS工具搞定,但试了试却无法识别该系统盘C,尽管此类工具声称支持NTFS格式.最后,决定卸下该硬盘挂载到我的XP系统光驱下作为从盘从中读取数据,但我的XP是FAT32格式的,也无法识别,因为我是双操作系统,于是便决定在我的linux[Fedora core 4]系统下完成该任务,下面是操作的一些记录:
1.mount命令
mount-t文件格式-o选项参数磁盘分区挂载点目录名
比如:mount-tvfat-oiocharset=utf8,umask=000/dev/hda5/mnt/D
再如:mount-tntfs-onls=utf8,umask=000/dev/hdd1/mnt/sysc
但到这里出现了问题,首先是我的系统不识别该文件格式NTFS,其次是你会问:"你怎么知道外挂的那个系统盘C就是hdd1?"是阿,请继续...
>>关于NTFS格式的识别:
>>1、我们要首先确认系统的内核;我们要根据系统的内核版本来下载支持ntfs的内核补丁;
>>[root@localhostkalon]#uname-a
Linuxlocalhost.localdomain2.6.11-1.1369_FC4#1ThuJun222:55:56EDT2005i686i686i386GNU/Linux
一定要看仔细,是2.6.11-1.1369_FC4,是i686的,没有带smp字样的,smp是支持多处理器的内核,如果您用这样的内核,就要下载相应版本的smp的;
我们到哪去下载呢?
kernelntfs项目在http://linux-ntfs.sourceforge.net
Fedoracore4.0的kernelNTFS的RPM包在:
http://linux-ntfs.sourceforge.net/rpm/fedora4.html
根据上面内核的信息,我们要下载:2.6.11-1.1369_FC4i686的,下载的应该是:kernel-module-ntfs-2.6.11-1.1369_FC4-2.1.22-0.rr.6.0.i686.rpm
地址:http://prdownloads.sourceforge.net/linux-ntfs/kernel-module-ntfs-2.6.11-1.1369_FC4-2.1.22-0.rr.6.0.i686.rpm
安装kernelntfs模块:
>>[root@localhostkalon]#rpm-ivhkernel-module-ntfs*
>>2.判断哪个分区是NTFS格式,加载NTFS分区;
>>[root@localhostkalon]#/sbin/fdisk-l
Disk/dev/hda:80.0GB,80060424192bytes
255heads,63sectors/track,9733cylinders
Units=cylindersof16065*512=8225280bytes
DeviceBootStartEndBlocksIdSystem
/dev/hda1*1130610490413+cW95FAT32(LBA)
/dev/hda21307973367689877+fW95Ext'd(LBA)
/dev/hda51307261210490413+bW95FAT32
/dev/hda62613457115735636bW95FAT32
/dev/hda74572718220972826bW95FAT32
/dev/hda88470973310153048+bW95FAT32
/dev/hda97183719510439183Linux
/dev/hda107196846910233373+8eLinuxLVM
Disk/dev/hdd:40.0GB,40060424192bytes
255heads,63sectors/track,9733cylinders
Units=cylindersof16065*512=8225280bytes
DeviceBootStartEndBlocksIdSystem
/dev/hdd1*1130610490413+cW95NTFS(LBA)
/dev/hdd21307973367689877+fW95Ext'd(LBA)
..............................................................................................................
我们已经把kernelntfs的模式安装好了,现在进入NTFS的分区的加载过程;通过上面的查看,我们知道/dev/hda1是NTFS格式的;
1]我们要建一个挂载点的目录,比如是在/mnt/目录下建一个sysc的目录:
[root@localhostkalon]#mkdir/mnt/sysc
2]把/dev/hdd1挂载到/mnt/sysc中,这样我们如果查看/dev/hdd1磁盘内容时,就会在/mnt/sysc中找得到;
[root@localhostkalon]#mount-tntfs-onls=utf8,umask=000/dev/hdd1/mnt/sysc
注:-tntfs说明文件系统的格式是ntfs的;-o是选项,nls=utf8,意思是NativeLanguageSupport(本地语言支持)是utf8,也就是大家常说的语言编码,也可以换成iocharset=utf8;Fedoracore4.0默认的语言编码就是utf8的,这样能显示出中文来;umask=000表示所有的用户组都可读可写,但因为NTFS在Linux中写入不安全,所以只能读,不能写入;
是不是挂载好了呢?....
2.dh-lh磁盘使用情况命令
>>[root@localhostkalon]#df-lh
Filesystem容量已用可用已用%挂载点
/dev/mapper/VolGroup00-LogVol00
8.5G3.7G4.4G46%/
/dev/hda999M9.9M84M11%/boot
/dev/shm252M0252M0%/dev/shm
/dev/hdd110G9.8G234M98%/mnt/sysc
..........................说明已挂载好,可以cd/mnt/sysc/去看看了,余下的我就不多说了.................................
............................................................................................................................................................
>>开机分区自动挂载:应把一下命令放入/etc/fstab中
/dev/hda5/mnt/Dvfatumask=000,iocharset=utf800
dev/hda5/mnt/Dntfsumask=000,iocharset=utf800
>>cp-r-fsrcDirdstDir//复制目录文件
>>rm-rfdstDir//删除目录文件
>>.......
2.umount命令如果想卸载已经挂载好的目录或盘符,可输入以下命令:
>>umount /dev/sda5