基本状况:linux
个人笔记本是双硬盘配置,一块是原装的750G的硬盘,另外一块是闪迪120G固态硬盘,我如今的操做系统是 固态硬盘上面的 Ubuntu系统,750G的硬盘就成了存储设备挂载在 Ubuntu 上面。750G的普通硬盘的几个盘(原来是Windows系统,全部这几个盘是原先的配置)是以 NTFS 方式自动挂载在 Ubuntu上。说是自动挂载,但其实若是鼠标不点击盘符,就不会挂载,点击了才会挂载。windows
问题来由:ide
举个例子,我将 750G普通硬盘的 C 盘的 60G的文件,拷贝到 D 盘中,发现 速度稳定在 11M/s,这太慢了!要知道 windows 下硬盘之间的拷贝速度但是 几十上百兆每秒的。因而查资料说是由于 Linux对 ntfs 格式支持的问题,建议把盘改为 ext4格式。因而决定照作。由于没查到无损将NTFS 格式转化为 ext4的方法,全部我先备份资料,而后将 C 盘格式化为 ext4.工具
具体操做:ui
我是参考这个帖子 http://blog.csdn.net/nianhongmin/article/details/27818195 来操做的,这里就列出一些具体步骤,并加上其余的解释:this
1, 切换到 root用户,终端下执行 fdisk -l操作系统
这里能够看到 固态硬盘是在 /dev/sda中,并且分红了三个部分。750G普通硬盘是在 /dev/sdb 中,分红了 6部分,sdb1,sdb2,sdb5,sdb6,sdb7,sdb8,其中 sdb1 是我原来的 C盘,70G左右,这里显示 sdb1 的 type 是 Linux LVM ,这是由于我已经见他改成了 ext4格式了,以前它也是 HPFS/NTFS/exFAT格式。sdb 2 是629.6G, W95 Ext'd(LBA)表示他是扩展分区,他是原先Windows系统的逻辑扩展分区。能够看出, sdb1 的 C盘 + sdb2 的扩展分区就 700+ G了,也差很少是个人 750 G的普通硬盘的容量了。下面的 sdb5,sdb6,sdb7,sdb8 是个加起来就是 sdb2 的容量了。这也正好印证了 sdb2 的确是扩展分区。至于为何 sdb2 还能被检测到,我就不知道了,windows 分区表啥的,我不懂。(说的好像 Linux的分区表就懂同样。) .net
另外,这里的 sdb6 和 sdb 7都是 200 G,怎么区分了?还真很差区分,因此最好不要搞成如出一辙的大小,就像如今这样,咱们就很差区分了。可是,咱们仍是有不少办法,好比,你能够想 umount sdb6,看看谁被卸载了,就能区分了。还有一个更好的办法,就是 df -h,可以列出对应关系。code
这里看到 sdb6 和 sdb 7 分别对应不一样的 mount 目录,固然,他们的大小好像不彻底同样。。。。。orm
2, #如今,要把/dev/sdb1 ,即C盘的NTFS格式转换成ext4格式,归linux使用。方法:
umount /dev/sdb1
#用fdisk转换分区格式,改成8e
fdisk /dev/sdb
#下面就是要用t命来修改下分区的id
Command (m for help): t
Partition number (1,2,5-8, default 8): 1 #这个是分区号 ,咱们是修改 sdb1,就输入 1
Hex code (type L to list codes):8e # 8e是Linux LVM 的id,能够敲一个“L”查看一下,这样分区的格式就转换完啦。
Command (m for help): w # w 是保存
3, 格式化分区 并 挂载:
mkfs.ext4 /dev/sdb1
建立/media/lk/Win7目录:
mkdir /media/lk/Win7
挂载分区:
mount /dev/sdb1 /media/lk/Win7
到这一步,咱们就已经完成了格式化了。可是重启以后又要从新挂载。因此下面是自动挂载。
4, 自动挂载是要修改 /etc/fstab 文件便可,下面是我修改以后的 fstab 文件
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/sda1 during installation
UUID=145a85c1-456c-42d2-bf34-59bf409b1487 / ext4 errors=remount-ro 0 1
# swap was on /dev/sda5 during installation
UUID=f2ca1fa2-5f39-4c48-8c92-ea3595c6ab99 none swap sw 0 0
# 下面的 两行 是我添加的。
# Win7 was on /dev/sdb1
UUID=b5c08104-9ac5-4766-ba4a-9df2af51510f /media/lk/Win7 ext4 auto 0 2
#下面的方案也可行
#/dev/sdb1 /media/lk/Win7 ext4 auto 0 2
咱们能够看到,须要 /dev/sdb1 的 UUID,这个哪里得到了?其实 /etc/fstab的 第三方已经说了,用 blkid 得到 设备的 uuid。这里若是不用 uuid,直接用 /dev/sdb1 也行,我这里跟 前面的记录保持一致。
关于 fstab 文件配置的讲解,能够参考 linux之fstab文件详解
(http://blog.csdn.net/richerg85/article/details/17917129),这里主要解释一下 auto 和 0 2 。
auto
表示 在启动时或键入了 mount -a
命令时自动挂载。总结:
双硬盘中的 Windows系统盘,能够单独格式化某一个盘,而不须要把整个硬盘都格式化。
最后的效果,ext4 格式的盘的拷贝速度,从 11M/s 变成了 19M/s 。。。好吧,我认可是个人 硬盘的转速过低。。。反正我本身欺骗本身有了 80%的提速。。。