/ 中存储网

Debian系统下 挂载移动硬盘后部分分区无法识别

2014-06-13 00:00:00 来源:中存储网

有一块新买的1T的移动硬盘。买来格式化成ntfs后简单的分了几次区。 4G的硬盘PE,100G的快速交互,剩余800多G分成了两个对等的存储盘。

插到电脑USB接口后, 桌面自动弹出了4个盘符。 打开前2个都没有什么问题, 写读都正常。后面两个一双击就会报错:

Error mounting: mount exited with exit code 1: helper failed with:
Unprivileged user can not mount NTFS block devices using the external FUSE
library. Either mount the volume as root, or rebuild NTFS-3G with integrated
FUSE support and make it setuid root. Please see more information at
http://tuxera.com/community/ntfs-3g-faq/#unprivileged

大意就是这个ntfs-3g 没权限无法挂载,不管是不是root 。

现在咱们来解决掉这个问题:

首先看看挂载, 先拔掉移动硬盘 执行 再插上执行, 会发现多了sdb3,sdb5

root@debian:/# cat /etc/mtab 
rootfs / rootfs rw 0 0
sysfs /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0
proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0
udev /dev devtmpfs rw,relatime,size=10240k,nr_inodes=1015602,mode=755 0 0
devpts /dev/pts devpts rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000 0 0
tmpfs /run tmpfs rw,nosuid,noexec,relatime,size=813700k,mode=755 0 0
/dev/disk/by-uuid/4c487d8c-396c-4601-b76d-eff7118d6775 / ext4 rw,relatime,errors=remount-ro,user_xattr,barrier=1,data=ordered 0 0
tmpfs /run/lock tmpfs rw,nosuid,nodev,noexec,relatime,size=5120k 0 0
tmpfs /run/shm tmpfs rw,nosuid,nodev,noexec,relatime,size=4446660k 0 0
fusectl /sys/fs/fuse/connections fusectl rw,relatime 0 0
rpc_pipefs /var/lib/nfs/rpc_pipefs rpc_pipefs rw,relatime 0 0
binfmt_misc /proc/sys/fs/binfmt_misc binfmt_misc rw,nosuid,nodev,noexec,relatime 0 0
/dev/sdb3 /media/PE vfat rw,nosuid,nodev,relatime,uid=1000,gid=1000,fmask=0022,dmask=0077,codepage=cp437,iocharset=utf8,shortname=mixed,showexec,utf8,flush,errors=remount-ro 0 0
/dev/sdb5 /media/T1 fuseblk rw,nosuid,nodev,relatime,user_id=0,group_id=0,default_permissions,allow_other,blksize=4096 0 0

可以看到sdb是我的移动硬盘的, 但是只挂载了2个盘符。
 
查看下硬盘现状

fdisk -l

Disk /dev/sda: 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: 0xb73dddb4

Device Boot      Start        End      Blocks  Id  System
/dev/sda1  *        2048  209719295  104858624    7  HPFS/NTFS/exFAT
Partition 2 does not start on physical sector boundary.
/dev/sda3      1258387456  1925328895  333470720  83  Linux
/dev/sda4      1925330944  1953523711    14096384  82  Linux swap / Solaris

Disk /dev/sdb: 1000.2 GB, 1000204138496 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953523708 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: 0x6b7612b3

Device Boot      Start        End      Blocks  Id  System
/dev/sdb1      209921355  839685419  314882032+  7  HPFS/NTFS/exFAT
/dev/sdb2      839685420  1953520064  556917322+  7  HPFS/NTFS/exFAT
/dev/sdb3              63    8401994    4200966    b  W95 FAT32
/dev/sdb4        8401995  209921354  100759680    f  W95 Ext'd (LBA)
/dev/sdb5        8402058  209921354  100759648+  7  HPFS/NTFS/exFAT

Partition table entries are not in disk order

注意看, 这里识别了Disk /dev/sdb 1000.2 GB 

但是挂载出错了。 下面报了一个错,

Partition table entries are not in disk order

说硬盘分区表不在硬盘的顺序里面,意思就是移动硬盘的分区表乱了,

既然是这样就简单了, 用fdisk来重建分区表即可,  fdisk 挂载设备, 然后f  w 就可以更新分区表了。

root@debian:/# fdisk /dev/sdb

Command (m for help): x

Expert command (m for help): f
Done.

Expert command (m for help): m
Command action
b  move beginning of data in a partition
c  change number of cylinders
d  print the raw data in the partition table
e  list extended partitions
f  fix partition order
g  create an IRIX (SGI) partition table
h  change number of heads
i  change the disk identifier
m  print this menu
p  print the partition table
q  quit without saving changes
r  return to main menu
s  change number of sectors/track
v  verify the partition table
w  write table to disk and exit

Expert command (m for help): p

Disk /dev/sdb: 255 heads, 63 sectors, 121601 cylinders

Nr AF  Hd Sec  Cyl  Hd Sec  Cyl    Start      Size ID
 1 00  1  1    0 254  63  522        63    8401932 0b
 2 00  0  1  523 254  63 1023    8401995  201519360 0f
 3 00 254  63 1023 254  63 1023  209921355  629764065 07
 4 00 254  63 1023 254  63 1023  839685420 1113834645 07
 5 00  1  1  523 254  63 1023        63  201519297 07

Expert command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

这里就更新成功了分区表, 因为我这是移动硬盘,上面并没有挂载操作系统OS, 所以不需要更新挂载/etc/fstab 和/boot/grub/menu.list 这几个文件的对应挂载。

再次执行fdisk -l 发现已经成功挂载, 直接桌面可以直接点进去了。

Disk /dev/sdb: 1000.2 GB, 1000204138496 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953523708 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: 0x6b7612b3

Device Boot      Start        End      Blocks  Id  System
/dev/sdb1              63    8401994    4200966    b  W95 FAT32
/dev/sdb2        8401995  209921354  100759680    f  W95 Ext'd (LBA)
/dev/sdb3      209921355  839685419  314882032+  7  HPFS/NTFS/exFAT
/dev/sdb4      839685420  1953520064  556917322+  7  HPFS/NTFS/exFAT
/dev/sdb5        8402058  209921354  100759648+  7  HPFS/NTFS/exFAT

df 看下挂载点成功挂载

root@debian:/# df 
Filesystem                                            1K-blocks      Used Available Use% Mounted on 
rootfs                                                328236772  10801844 300761392  4% / 
udev                                                      10240        0    10240  0% /dev 
tmpfs                                                    813700      972    812728  1% /run 
/dev/disk/by-uuid/4c487d8c-396c-4601-b76d-eff7118d6775 328236772  10801844 300761392  4% / 
tmpfs                                                      5120        0      5120  0% /run/lock 
tmpfs                                                    4446660    26196  4420464  1% /run/shm 
/dev/sdb1                                                4192756    578312  3614444  14% /media/usb0 
/dev/sdb5                                              100759648  14680144  86079504  15% /media/T1
/dev/sdb3                                              314882032  35480048 279401984  12% /media/T2 
/dev/sdb4                                              556917320 193748248 363169072  35% /media/T3