分区4K对齐问题在 Linux 中需要考虑吗?
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
-
- 帖子: 304
- 注册时间: 2011-01-02 12:31
分区4K对齐问题在 Linux 中需要考虑吗?
众所周知,SSD 固态硬盘和新的经过4K高级格式化技术的机械硬盘物理上采用 4K 的簇。在使用 NTFS 文件系统的驱动器上,如果不针对 “4K 对齐”问题进行分区,那么格式化NTFS后会出现NTFS逻辑 4K 簇和硬盘的物理簇不对齐,影响性能。
那么在 Linux 是否需要进行 4K 对齐呢。如果在 Win 中进行 4K 对齐的 NTFS 分区重新格式化 EXT4 是不是直接适合 Linux 用呢!
我的分区!
3快硬盘都是在 Win7 分区进行 4K 对齐的。之后 /dev/sda 全部格式化成 EXT4 ,不过仅 /dev/sdb 是物理上 4K 簇的硬盘!
Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x44655420
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 81397759 40697856 83 Linux
/dev/sda2 81397760 162793471 40697856 83 Linux
/dev/sda3 162793472 244189183 40697856 83 Linux
/dev/sda4 244193278 976764927 366285825 f W95 Ext'd (LBA)
/dev/sda5 244193280 488382463 122094592 83 Linux
/dev/sda6 488384512 732573695 122094592 83 Linux
/dev/sda7 732575744 976764927 122094592 83 Linux
Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x8772d21e
Device Boot Start End Blocks Id System
/dev/sdb1 * 2048 488380415 244189184 7 HPFS/NTFS/exFAT
/dev/sdb2 488380416 1953521663 732570624 f W95 Ext'd (LBA)
/dev/sdb5 488382464 976760831 244189184 7 HPFS/NTFS/exFAT
/dev/sdb6 976762880 1465141247 244189184 7 HPFS/NTFS/exFAT
/dev/sdb7 1465143296 1953521663 244189184 7 HPFS/NTFS/exFAT
Disk /dev/sdc: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders, total 312581808 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x11bc896e
Device Boot Start End Blocks Id System
/dev/sdc1 * 2048 78143487 39070720 7 HPFS/NTFS/exFAT
/dev/sdc2 78143488 312578047 117217280 f W95 Ext'd (LBA)
/dev/sdc5 78145536 156286975 39070720 7 HPFS/NTFS/exFAT
/dev/sdc6 156289024 234430463 39070720 7 HPFS/NTFS/exFAT
/dev/sdc7 234432512 312573951 39070720 7 HPFS/NTFS/exFAT
那么在 Linux 是否需要进行 4K 对齐呢。如果在 Win 中进行 4K 对齐的 NTFS 分区重新格式化 EXT4 是不是直接适合 Linux 用呢!
我的分区!
3快硬盘都是在 Win7 分区进行 4K 对齐的。之后 /dev/sda 全部格式化成 EXT4 ,不过仅 /dev/sdb 是物理上 4K 簇的硬盘!
Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x44655420
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 81397759 40697856 83 Linux
/dev/sda2 81397760 162793471 40697856 83 Linux
/dev/sda3 162793472 244189183 40697856 83 Linux
/dev/sda4 244193278 976764927 366285825 f W95 Ext'd (LBA)
/dev/sda5 244193280 488382463 122094592 83 Linux
/dev/sda6 488384512 732573695 122094592 83 Linux
/dev/sda7 732575744 976764927 122094592 83 Linux
Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x8772d21e
Device Boot Start End Blocks Id System
/dev/sdb1 * 2048 488380415 244189184 7 HPFS/NTFS/exFAT
/dev/sdb2 488380416 1953521663 732570624 f W95 Ext'd (LBA)
/dev/sdb5 488382464 976760831 244189184 7 HPFS/NTFS/exFAT
/dev/sdb6 976762880 1465141247 244189184 7 HPFS/NTFS/exFAT
/dev/sdb7 1465143296 1953521663 244189184 7 HPFS/NTFS/exFAT
Disk /dev/sdc: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders, total 312581808 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x11bc896e
Device Boot Start End Blocks Id System
/dev/sdc1 * 2048 78143487 39070720 7 HPFS/NTFS/exFAT
/dev/sdc2 78143488 312578047 117217280 f W95 Ext'd (LBA)
/dev/sdc5 78145536 156286975 39070720 7 HPFS/NTFS/exFAT
/dev/sdc6 156289024 234430463 39070720 7 HPFS/NTFS/exFAT
/dev/sdc7 234432512 312573951 39070720 7 HPFS/NTFS/exFAT
上次由 zhangjint5 在 2012-04-05 14:10,总共编辑 2 次。
-
- 帖子: 382
- 注册时间: 2011-11-14 4:00
Re: 分区4K对齐问题在 Linux 中需要考虑吗?
EXT4这种先进的文件格式,上是自动对齐的。
- onshoestring
- 论坛版主
- 帖子: 4666
- 注册时间: 2009-09-06 5:53
Re: 分区4K对齐问题在 Linux 中需要考虑吗?
我猜:
对齐只和分区表有关,起始扇区数能被8整除,分区大小扇区数也能被8整除就算对齐,和操作系统、文件系统无关。
对齐只和分区表有关,起始扇区数能被8整除,分区大小扇区数也能被8整除就算对齐,和操作系统、文件系统无关。
-
- 帖子: 68
- 注册时间: 2009-04-23 15:37
Re: 分区4K对齐问题在 Linux 中需要考虑吗?
貌似EXT4没有此问题。
- xw_y_am
- 帖子: 3333
- 注册时间: 2009-05-08 14:18
- 系统: Arch
- 来自: 河南新乡
- 联系:
Re: 分区4K对齐问题在 Linux 中需要考虑吗?
4K 对其是什么高级东西
Linux 相关链接大杂烩
代码: 全选
if(read) {
if(practise) return g☘☘d;
else return w☘☘d;
} else {
return t☘☘d;
}
-
- 帖子: 304
- 注册时间: 2011-01-02 12:31
Re: 分区4K对齐问题在 Linux 中需要考虑吗?
http://hi.baidu.com/sichaocourse/blog/i ... 7efd5.htmlxw_y_am 写了:4K 对其是什么高级东西
-
- 帖子: 127
- 注册时间: 2006-11-10 0:34
Re: 分区4K对齐问题在 Linux 中需要考虑吗?
个人认为linux是需要考虑对齐问题的,但要考虑使用的linux版本,以下是基本知识,也是个人理解
1 首先,早期硬盘每扇区是512字节,随着硬盘新技术,新标准的出现,情况有变
2 固态硬盘(Solid State Disk)等新存储技术出现后,扇区不见得一定是512字节(1024,2048,4096都有)
出于兼容性等因素考虑,新硬盘用固件对OS伪装成512字节
3 大容量硬盘使用 Advanced Format (先进格式化) 设计标准,其规定每扇区4096字节
所以后来厂商达成一致,2011年1月1日后的硬盘,都会遵循先进格式化标准
使用先进格式化标准的硬盘,背面应该有 Advanced Format Drive ... 的字样
所以,针对每扇区4096字节的硬盘,会考虑对齐问题,也就是所谓的"4K对齐"
这要看你将使用的操作系统,Linux还要看内核版本,还有使用分区软件的版本,
M$
使用M$ 5.x 系统的,即 2000,xp,2003server,建议用硬盘厂商提供的分区软件,而不用其光盘进行分区
使用M$ 6.x 系统的,即 Vista,7,已经支持4Kbyte扇区了,应该不会有问题
个人觉得最好用硬盘厂商提供的分区软件预先分区,或者新版本的磁盘管理工具,例如Liunx的分区软件
Liunx
分区软件,要看版本的,例如ubuntu,图形界面常用的是 gparted (还有 fdisk,parted 等等)
低版本gparted,例如 Ubuntu 10.04.1,gparted是0.5.1,分区时,默认有个Align to MiB 不要选,就可以
gparted 0.6.0 也要如此修正
gparted 0.6.2-2 之后,就不再需要这样了,有兴趣的可参阅以下说明
http://sourceforge.net/projects/gparted ... s.txt/view
http://sourceforge.net/projects/gparted/
当使用较早版本的Liunx,例如 Debian 5,使用4096字节的硬盘时,也要注意
支持4K对齐的内核版本要高于 2.6.31(忘记出处了,待验证)
Debian 5 内核是 2.6.26 吧(而且不支持ext4),那就要用新版本的Liunx的分区软件,进行预分区了
如何验证是否4K对齐?
这个比较简单,fdisk -lu 就可以(需要root权限)
查看每个分区起始的数字,能被8整除,就是4K对齐,参考如下
http://www.ibm.com/developerworks/linux ... 囗囗囗-disks/
1 首先,早期硬盘每扇区是512字节,随着硬盘新技术,新标准的出现,情况有变
2 固态硬盘(Solid State Disk)等新存储技术出现后,扇区不见得一定是512字节(1024,2048,4096都有)
出于兼容性等因素考虑,新硬盘用固件对OS伪装成512字节
3 大容量硬盘使用 Advanced Format (先进格式化) 设计标准,其规定每扇区4096字节
所以后来厂商达成一致,2011年1月1日后的硬盘,都会遵循先进格式化标准
使用先进格式化标准的硬盘,背面应该有 Advanced Format Drive ... 的字样
所以,针对每扇区4096字节的硬盘,会考虑对齐问题,也就是所谓的"4K对齐"
这要看你将使用的操作系统,Linux还要看内核版本,还有使用分区软件的版本,
M$
使用M$ 5.x 系统的,即 2000,xp,2003server,建议用硬盘厂商提供的分区软件,而不用其光盘进行分区
使用M$ 6.x 系统的,即 Vista,7,已经支持4Kbyte扇区了,应该不会有问题
个人觉得最好用硬盘厂商提供的分区软件预先分区,或者新版本的磁盘管理工具,例如Liunx的分区软件
Liunx
分区软件,要看版本的,例如ubuntu,图形界面常用的是 gparted (还有 fdisk,parted 等等)
低版本gparted,例如 Ubuntu 10.04.1,gparted是0.5.1,分区时,默认有个Align to MiB 不要选,就可以
gparted 0.6.0 也要如此修正
gparted 0.6.2-2 之后,就不再需要这样了,有兴趣的可参阅以下说明
http://sourceforge.net/projects/gparted ... s.txt/view
http://sourceforge.net/projects/gparted/
当使用较早版本的Liunx,例如 Debian 5,使用4096字节的硬盘时,也要注意
支持4K对齐的内核版本要高于 2.6.31(忘记出处了,待验证)
Debian 5 内核是 2.6.26 吧(而且不支持ext4),那就要用新版本的Liunx的分区软件,进行预分区了
如何验证是否4K对齐?
这个比较简单,fdisk -lu 就可以(需要root权限)
查看每个分区起始的数字,能被8整除,就是4K对齐,参考如下
http://www.ibm.com/developerworks/linux ... 囗囗囗-disks/
-
- 帖子: 22323
- 注册时间: 2010-07-19 21:41
- 系统: OS X
- Hi-Stupid
- 帖子: 813
- 注册时间: 2011-05-13 10:26
Re: 分区4K对齐问题在 Linux 中需要考虑吗?
4k 是windows格式的玩意
-
- 帖子: 294
- 注册时间: 2010-08-23 11:03
Re: 分区4K对齐问题在 Linux 中需要考虑吗?
cheron 写了:个人认为linux是需要考虑对齐问题的,但要考虑使用的linux版本,以下是基本知识,也是个人理解
1 首先,早期硬盘每扇区是512字节,随着硬盘新技术,新标准的出现,情况有变
2 固态硬盘(Solid State Disk)等新存储技术出现后,扇区不见得一定是512字节(1024,2048,4096都有)
出于兼容性等因素考虑,新硬盘用固件对OS伪装成512字节
3 大容量硬盘使用 Advanced Format (先进格式化) 设计标准,其规定每扇区4096字节
所以后来厂商达成一致,2011年1月1日后的硬盘,都会遵循先进格式化标准
使用先进格式化标准的硬盘,背面应该有 Advanced Format Drive ... 的字样
所以,针对每扇区4096字节的硬盘,会考虑对齐问题,也就是所谓的"4K对齐"
这要看你将使用的操作系统,Linux还要看内核版本,还有使用分区软件的版本,
M$
使用M$ 5.x 系统的,即 2000,xp,2003server,建议用硬盘厂商提供的分区软件,而不用其光盘进行分区
使用M$ 6.x 系统的,即 Vista,7,已经支持4Kbyte扇区了,应该不会有问题
个人觉得最好用硬盘厂商提供的分区软件预先分区,或者新版本的磁盘管理工具,例如Liunx的分区软件
Liunx
分区软件,要看版本的,例如ubuntu,图形界面常用的是 gparted (还有 fdisk,parted 等等)
低版本gparted,例如 Ubuntu 10.04.1,gparted是0.5.1,分区时,默认有个Align to MiB 不要选,就可以
gparted 0.6.0 也要如此修正
gparted 0.6.2-2 之后,就不再需要这样了,有兴趣的可参阅以下说明
http://sourceforge.net/projects/gparted ... s.txt/view
http://sourceforge.net/projects/gparted/
当使用较早版本的Liunx,例如 Debian 5,使用4096字节的硬盘时,也要注意
支持4K对齐的内核版本要高于 2.6.31(忘记出处了,待验证)
Debian 5 内核是 2.6.26 吧(而且不支持ext4),那就要用新版本的Liunx的分区软件,进行预分区了
如何验证是否4K对齐?
这个比较简单,fdisk -lu 就可以(需要root权限)
查看每个分区起始的数字,能被8整除,就是4K对齐,参考如下
http://www.ibm.com/developerworks/linux ... 囗囗囗-disks/
好专业,我是来学习的。。。。。。。。。。
- ywz306
- 帖子: 102
- 注册时间: 2009-09-07 20:34
- 联系:
Re: 分区4K对齐问题在 Linux 中需要考虑吗?
很专业的解释 mark一下先
- xujc
- 帖子: 680
- 注册时间: 2009-12-06 15:04
Re: 分区4K对齐问题在 Linux 中需要考虑吗?
从没考虑过这个问题。
- photor
- 论坛版主
- 帖子: 11004
- 注册时间: 2008-04-26 12:41