挂载磁盘后,访问挂载目录时出现ls: can't open 'sda16': Value too large for defined data type

奋---斗 2015-12-30 11:25:23
如题,我将一块1T的磁盘分成了20个分区(GPT分区方式),每个分区50G,每个分区都成功格式化并挂载,但是在第16个分区之后的挂载目录访问都有点问题,比如用ls命令查看时会出现:ls: can't open 'sda16': Value too large for defined data type,然而可以用cd命令进入到该目录,也可以在该目录下创建或删除文件。
# cd /mnt/
# ls sda16
ls: can't open 'sda16': Value too large for defined data type
# cd /mnt/sda16
# ls
ls: can't open '.': Value too large for defined data type
# touch test.c
# ls
ls: can't open '.': Value too large for defined data type
# ls test.c
test.c
#

我在查看 /proc/partitions 文件时,发现一个奇怪的问题,从第16个分区开始,主设备号变成了259,此处不是很理解,猜想是内核配置所导致。
# cat /proc/partitions
major minor #blocks name

240 0 1024 romblock0
31 0 1024 mtdblock0
240 1 4096 romblock1
31 1 4096 mtdblock1
240 2 5120 romblock2
31 2 5120 mtdblock2
240 3 16384 romblock3
31 3 16384 mtdblock3
240 4 5632 romblock4
31 4 5632 mtdblock4
240 5 512 romblock5
31 5 512 mtdblock5
8 0 976762584 sda
8 1 249983 sda1
8 2 48828125 sda2
8 3 48828125 sda3
8 4 48828125 sda4
8 5 48828125 sda5
8 6 48828125 sda6
8 7 48828125 sda7
8 8 48828125 sda8
8 9 48828125 sda9
8 10 48828125 sda10
8 11 48828125 sda11
8 12 48828125 sda12
8 13 48828125 sda13
8 14 48828125 sda14
8 15 48828125 sda15
259 0 48828125 sda16
259 1 48828125 sda17
259 2 48828125 sda18
259 3 48828125 sda19
259 4 48828125 sda20
259 5 48778192 sda21
8 16 488386584 sdb
8 17 249983 sdb1
8 18 488136567 sdb2
#

内核版本为:
# uname -a
Linux (none) 3.4.35_hi3535 #42 SMP Tue Nov 24 19:39:05 PST 2015 armv7l GNU/Linux
#

望大神解答
...全文
422 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
奋---斗 2016-01-08
  • 打赏
  • 举报
回复
引用 6 楼 dean1994 的回复:
有两类硬盘:IDE 和 SCSI/SATA/USB 两类 相对于的/dev下的名称:IDE 是 /dev/hd[a-d] SCSI这一类则是 /dev/sd[a-p] IDE这一类的硬盘可以有最多59个逻辑分区,5-63号,前4个是系统占用的,无论你有没有设置 而SCSI这一类可以有最多11个逻辑分区,5-15号,前4个同样是系统占用 如果违法这一规则就会报错
这个限制应该是针对MBR分区方式的,我用的GPT的分区方式,而且也确确实实是分了21个分区,也没有发现什么报错信息。
dean1994 2016-01-08
  • 打赏
  • 举报
回复
引用 7 楼 tdy353021560 的回复:
[quote=引用 6 楼 dean1994 的回复:] 有两类硬盘:IDE 和 SCSI/SATA/USB 两类 相对于的/dev下的名称:IDE 是 /dev/hd[a-d] SCSI这一类则是 /dev/sd[a-p] IDE这一类的硬盘可以有最多59个逻辑分区,5-63号,前4个是系统占用的,无论你有没有设置 而SCSI这一类可以有最多11个逻辑分区,5-15号,前4个同样是系统占用 如果违法这一规则就会报错
这个限制应该是针对MBR分区方式的,我用的GPT的分区方式,而且也确确实实是分了21个分区,也没有发现什么报错信息。[/quote] 这个限制我认为是与系统以及硬盘格式或者说类型有关,毕竟MBR分区也可以分无数个区
dean1994 2016-01-06
  • 打赏
  • 举报
回复
有两类硬盘:IDE 和 SCSI/SATA/USB 两类 相对于的/dev下的名称:IDE 是 /dev/hd[a-d] SCSI这一类则是 /dev/sd[a-p] IDE这一类的硬盘可以有最多59个逻辑分区,5-63号,前4个是系统占用的,无论你有没有设置 而SCSI这一类可以有最多11个逻辑分区,5-15号,前4个同样是系统占用 如果违法这一规则就会报错
  • 打赏
  • 举报
回复
能不能看看你的挂载信息
奋---斗 2015-12-31
  • 打赏
  • 举报
回复
引用 4 楼 q3733353520 的回复:
能不能看看你的挂载信息
# # mount rootfs on / type rootfs (rw) /dev/root on / type jffs2 (ro,relatime) proc on /proc type proc (rw,relatime) sysfs on /sys type sysfs (rw,relatime) tmpfs on /dev type tmpfs (rw,relatime) devpts on /dev/pts type devpts (rw,relatime,mode=600) /dev/mtdblock3 on /usr/user_root type jffs2 (ro,relatime) run_tmpfs on /tmp type tmpfs (rw,relatime,size=1024k) mnt_tmpfs on /mnt type tmpfs (rw,relatime,size=1024k) run_tmpfs on /var type tmpfs (rw,relatime,size=1024k) run_tmpfs on /usr/local type tmpfs (rw,relatime,size=30720k) ubi0_0 on /usr/local/app/data type ubifs (rw,relatime) ubi0_0 on /etc type ubifs (rw,relatime) /dev/sda2 on /mnt/sda2 type xfs (rw,relatime,noquota) /dev/sda3 on /mnt/sda3 type xfs (rw,relatime,noquota) /dev/sda4 on /mnt/sda4 type xfs (rw,relatime,noquota) /dev/sda5 on /mnt/sda5 type xfs (rw,relatime,noquota) /dev/sda6 on /mnt/sda6 type xfs (rw,relatime,noquota) /dev/sda7 on /mnt/sda7 type xfs (rw,relatime,noquota) /dev/sda8 on /mnt/sda8 type xfs (rw,relatime,noquota) /dev/sda9 on /mnt/sda9 type xfs (rw,relatime,noquota) /dev/sda10 on /mnt/sda10 type xfs (rw,relatime,noquota) /dev/sda11 on /mnt/sda11 type xfs (rw,relatime,noquota) /dev/sda12 on /mnt/sda12 type xfs (rw,relatime,noquota) /dev/sda13 on /mnt/sda13 type xfs (rw,relatime,noquota) /dev/sda14 on /mnt/sda14 type xfs (rw,relatime,noquota) /dev/sda15 on /mnt/sda15 type xfs (rw,relatime,noquota) /dev/sda16 on /mnt/sda16 type xfs (rw,relatime,noquota) /dev/sda17 on /mnt/sda17 type xfs (rw,relatime,noquota) /dev/sda18 on /mnt/sda18 type xfs (rw,relatime,noquota) /dev/sda19 on /mnt/sda19 type xfs (rw,relatime,noquota) /dev/sda20 on /mnt/sda20 type xfs (rw,relatime,noquota) /dev/sda21 on /mnt/sda21 type xfs (rw,relatime,noquota) /dev/sdb2 on /mnt/sdb2 type xfs (rw,relatime,noquota) #
皇御雷霆 2015-12-30
  • 打赏
  • 举报
回复
sd 的只能分到15
奋---斗 2015-12-30
  • 打赏
  • 举报
回复
对了,是否与mount时的挂载参数有关呢?
奋---斗 2015-12-30
  • 打赏
  • 举报
回复
引用 2 楼 fan63182830 的回复:
sd 的只能分到15
好像2.4或2.6的内核确实是限制了磁盘分区最多只能到15,3.0之后的我还没仔细查过,但是我这里是实实在在的将磁盘分成了21个分区,而且全都格式化并且挂载了。

19,612

社区成员

发帖
与我相关
我的任务
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
  • 系统维护与使用区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧