鄙人当年用PC硬盘做了一个移动硬盘(其实并不方便移动,只是外边包装了一个壳子,可以用USB口访问而已),移动硬盘上存放了一些学习资料。某日想把一部分学习资料拿到公司去学习,可公司的本本不允许带回家,家里的本本又被我装了个CentOS玩玩,就想着能不能先把资料拷到CentOS上,再通过其他方式比如U盘什么的拷到公司去。
奈何CentOS并不认识俺当年做的移动硬盘,因为文件系统是NTFS的。网上搜资料,据说可以利用ntfs-3g来让CentOS认识NTFS的文件系统。于是一步一步的做:
1、安装gcc编译器
C代码
1. # yum install gcc
中间执行过程中,会问你yes or no,输入:y,回车即可。
2、安装ntfs-3g
Java代码
1. # cd /home
2. # wget http://tuxera.com/opensource/ntfs-3g_ntfsprogs-2011.4.12.tgz <=下载压缩包
3. # tar zxvf ntfs-3g_ntfsprogs-2011.4.12.tgz <=解压
4. # cd ntfs-3g_ntfsprogs-2011.4.12 <=进入解压后的目录
5. # ./configure <=编译
6. # make <=安装
7. # make install <=安装
3、将移动硬盘接入,然后查看文件系统
Java代码
1. # fdisk -l
显示结果如下:
Html代码
1. Disk /dev/sda: 160.0 GB, 160041885696 bytes
2. 255 heads, 63 sectors/track, 19457 cylinders
3. Units = cylinders of 16065 * 512 = 8225280 bytes
4. Sector size (logical/physical): 512 bytes / 512 bytes
5. I/O size (minimum/optimal): 512 bytes / 512 bytes
6. Disk identifier: 0xd10cd10c
7.
8. Device Boot Start End Blocks Id System
9. /dev/sda1 * 1 26 204800 83 Linux
10. Partition 1 does not end on cylinder boundary.
11. /dev/sda2 26 2637 20971520 83 Linux
12. /dev/sda3 2637 3290 5242880 83 Linux
13. /dev/sda4 3290 19458 129869824 5 Extended
14. /dev/sda5 3290 3812 4194304 82 Linux swap / Solaris
15.
16. Disk /dev/sdb: 160.0 GB, 160041885696 bytes
17. 255 heads, 63 sectors/track, 19457 cylinders
18. Units = cylinders of 16065 * 512 = 8225280 bytes
19. Sector size (logical/physical): 512 bytes / 512 bytes
20. I/O size (minimum/optimal): 512 bytes / 512 bytes
21. Disk identifier: 0xcb52b238
22.
23. Device Boot Start End Blocks Id System
24. /dev/sdb1 1 19457 156288321 f W95 Ext'd (LBA)
25. /dev/sdb5 1 5223 41953684+ 7 HPFS/NTFS
26. /dev/sdb6 5224 11752 52444161 7 HPFS/NTFS
27. /dev/sdb7 11753 19457 61890381 7 HPFS/NTFS
可以看出,我的/dev/sdb5、/dev/sdb6、/dev/sdb7都是ntfs文件系统
4、挂载分区
Java代码
1. # cd /mnt
2. # mkdir winc
3. # mount -t ntfs-3g /dev/sdb5 /mnt/winc
5、进入分区查看内容并进行其他操作
Java代码
1. # cd winc
2. # ls
说明:当时我第一次把/dev/sdb5挂载完成后,进行操作时,还出了一点小状况:
Java代码
1. # cd winc
2. # ls
3. # cd tools
4. # ls
进行如上操作时,突然提示:
C代码
- ls: 正在读取目录.: 输入/输出错误
即便是回到winc目录执行再执行ls命令也提示类似错误
回到mnt目录执行ls -l命令,类似:
Java代码
1. ?--------- ? ? ? ? ? winc
这里的权限、用户、用户组、大小、时间等等信息都变成问号了
后来又执行fdisk -l命令,结果发现:
Java代码
1. ……以上省略……
2. Disk /dev/sdc: 160.0 GB, 160041885696 bytes
3. 255 heads, 63 sectors/track, 19457 cylinders
4. Units = cylinders of 16065 * 512 = 8225280 bytes
5. Sector size (logical/physical): 512 bytes / 512 bytes
6. I/O size (minimum/optimal): 512 bytes / 512 bytes
7. Disk identifier: 0xcb52b238
8.
9. Device Boot Start End Blocks Id System
10. /dev/sdc1 1 19457 156288321 f W95 Ext'd (LBA)
11. /dev/sdc5 1 5223 41953684+ 7 HPFS/NTFS
12. /dev/sdc6 5224 11752 52444161 7 HPFS/NTFS
13. /dev/sdc7 11753 19457 61890381 7 HPFS/NTFS
NTFS文件系统的设备名从sdb统统变成了sdc,不知是不是因为我不小心碰到移动硬盘还算怎么回事,不管,先将winc卸载,再重新挂载:
Java代码
1. # umount /mnt/winc
2. # mount -t ntfs-3g /dev/sdc5 /mnt/winc
3. # cd /mnt/winc
4. # ls
然后一切又都OK了。