linux文件改成ntfs,Linux系统下,将普通硬盘的ntfs分区转换为ext4分区,并开机自动挂载...

基本情况:

我的笔记本是双硬盘配置,一块是原装的750G的硬盘,另一块是闪迪120G固态硬盘,我现在的操作系统是 固态硬盘上面的 Ubuntu系统,750G的硬盘就成了存储设备挂载在 Ubuntu 上面。750G的普通硬盘的几个盘(原来是Windows系统,所有这几个盘是原先的配置)是以 NTFS 方式自动挂载在 Ubuntu上。说是自动挂载,但其实如果鼠标不点击盘符,就不会挂载,点击了才会挂载。

问题来由:

举个例子,我将 750G普通硬盘的 C 盘的 60G的文件,拷贝到  D 盘中,发现 速度稳定在 11M/s,这太慢了!要知道 windows 下硬盘之间的拷贝速度可是 几十上百兆每秒的。于是查资料说是因为 Linux对 ntfs 格式支持的问题,建议把盘改成 ext4格式。于是决定照做。因为没查到无损将NTFS 格式转化为 ext4的方法,所有我先备份资料,然后将 C 盘格式化为 ext4.

具体操作:

我是参考这个帖子 http://blog.csdn.net/nianhongmin/article/details/27818195 来操作的,这里就列出一些具体步骤,并加上其他的解释:

1, 切换到 root用户,终端下执行 fdisk -l

48f70a79e72facc309951de89d96d807.png

这里可以看到 固态硬盘是在 /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的分区表就懂一样。)

另外,这里的 sdb6 和 sdb 7都是 200 G,怎么区分了?还真不好区分,所以最好不要搞成一模一样的大小,就像现在这样,我们就不好区分了。但是,我们还是有很多办法,比如,你可以想 umount sdb6,看看谁被卸载了,就能区分了。还有一个更好的办法,就是 df -h,能够列出对应关系。

66a6257478fae2deb1ccf19c59f6c28a.png

这里看到 sdb6 和 sdb 7 分别对应不同的 mount 目录,当然,他们的大小好像不完全一样。。。。。

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).

#

#            

# / 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 。

 - 挂载时使用的参数,注意有些mount 参数是特定文件系统才有的。auto   表示 在启动时或键入了 mount -a 命令时自动挂载。

 dump 工具通过它决定何时作备份. dump 会检查其内容,并用数字来决定是否对这个文件系统进行备份。 允许的数字是 0 和 1 。0 表示忽略, 1 则进行备份。大部分的用户是没有安装 dump 的 ,对他们而言 应设为 0。

 fsck 读取 的数值来决定需要检查的文件系统的检查顺序。允许的数字是0, 1, 和2。 根目录应当获得最高的优先权 1, 其它所有需要被检查的设备设置为 2. 0 表示设备不会被 fsck 所检查。这里我设置为 2.

总结:

双硬盘中的 Windows系统盘,可以单独格式化某一个盘,而不需要把整个硬盘都格式化。

最后的效果,ext4 格式的盘的拷贝速度,从 11M/s 变成了          19M/s  。。。好吧,我承认是我的 硬盘的转速太低。。。反正我自己欺骗自己有了 80%的提速。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值