首页 > 代码库 > debian 挂载移动硬盘后部分分区无法识别。

debian 挂载移动硬盘后部分分区无法识别。

有一块新买的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 0sysfs /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0udev /dev devtmpfs rw,relatime,size=10240k,nr_inodes=1015602,mode=755 0 0devpts /dev/pts devpts rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000 0 0tmpfs /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=http://www.mamicode.com/ordered 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:/# dfFilesystem                                             1K-blocks      Used Available Use% Mounted onrootfs                                                 328236772  10801844 300761392   4% /udev                                                       10240         0     10240   0% /devtmpfs                                                     813700       972    812728   1% /run/dev/disk/by-uuid/4c487d8c-396c-4601-b76d-eff7118d6775 328236772  10801844 300761392   4% /tmpfs                                                       5120         0      5120   0% /run/locktmpfs                                                    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