基本狀況: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%的提速。。。