Ubuntu系统上挂载U盘和Windows分区问题的解决实例

时间:2021-08-24 13:20:16

Ubuntu挂载U盘问题
在终端(非图形界面)挂载U盘,遇到一系列问题:
 

复制代码
代码如下:

flc@ubuntu:~$ sudo mount -t vfat -o iocharset=utf8 /dev/sdb1 /media/udisk
mount: special device /dev/sdb1 does not exist
flc@ubuntu:/$ sudo fdisk -l
Disk /dev/sda: 32.2 GB, 32212254720 bytes
255 heads, 63 sectors/track, 3916 cylinders, total 62914560 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: 0x00082ba2
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 61868031 30932992 83 Linux
/dev/sda2 61870078 62912511 521217 5 Extended
/dev/sda5 61870080 62912511 521216 82 Linux swap / Solaris
Disk /dev/sdb: 8011 MB, 8011120640 bytes
247 heads, 62 sectors/track, 1021 cylinders, total 15646720 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: 0x6f20736b
This doesn't look like a partition table
Probably you selected the wrong device.
Device Boot Start End Blocks Id System
/dev/sdb1 778135908 1919645538 570754815+ 72 Unknown
/dev/sdb2 ? 168689522 2104717761 968014120 65 Novell Netware 386
/dev/sdb3 ? 1869881465 3805909656 968014096 79 Unknown
/dev/sdb4 ? 2885681152 2885736650 27749+ d Unknown
Partition table entries are not in disk order

老是说special device /dev/sdb1 does not exist,无比郁闷
我以为是前几天量产优盘,优盘的分区表搞出问题了。
又发现:

复制代码
代码如下:
#fdisk /dev/sda

然后输入a,确定,再输入w,确定。
接着就可以mount了。
估计 

复制代码
代码如下:

Device Boot Start End Blocks Id System
/dev/sdb1 778135908 1919645538 570754815+ 72 Unknown
/dev/sdb2 ? 168689522 2104717761 968014120 65 Novell Netware 386
/dev/sdb3 ? 1869881465 3805909656 968014096 79 Unknown
/dev/sdb4 ? 2885681152 2885736650 27749+ d Unknown

是有个?这个咚咚。。。。
量产优盘,优盘分区表问题大大的有了。我当时没备份分区表,把它量产成活动的,用来做启动盘,在windows下也没什么问题,就没想到它在linux很难识别该U盘。
如果大家想量产的话,建议先纪录量产前的u盘的信息,推荐用chip genius(查看vid、vid\\序列号之类)还有PowerQuest Partition Table Editor(查看修改分区表)还有Eisoo DiskGenius(磁盘管理修复) ,备份分区表和详细信息,否则想恢复的时候可能就很麻烦。
我装了autofs服务:

 

 

复制代码
代码如下:

flc@ubuntu:~$ sudo apt-get install autofs
flc@ubuntu:~$ sudo fdisk /dev/sdb
Command (m for help): a
Partition number (1-4): 1 
Command (m for help): m
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.

 


最后:
 

复制代码
代码如下:

flc@ubuntu:~$ sudo mount -t vfat -o iocharset=utf8 /dev/sdb /media/udisk

分区不要1  ?,挂载成功!

 

自动挂载windows分区
如果你的电脑装了Windows/Ubuntu双系统,你该有这样的体会:当登录Ubuntu时,系统不会自动挂载Windows下的各分区,只能手动挂载。这难免有些麻烦,并在一定意义上违背了Ubuntu追求简洁的宗旨。本文将介绍如何解决这个问题,以使在登录Ubuntu的同时自动挂载Windows分区。

1.查看电脑中所有硬盘的分区情况。
命令如下:
 

复制代码
代码如下:

sudo fdisk -l

此命令将输出类似如下的信息:

复制代码
代码如下:

Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xf0b1ebb0</p> <p> Device Boot Start End Blocks Id System
/dev/sda1 * 1 3825 30724281 7 HPFS/NTFS
/dev/sda2 3826 60802 457661193 f W95 Ext'd (LBA)
/dev/sda5 3826 16574 102406311 7 HPFS/NTFS
/dev/sda6 16575 29323 102406311 7 HPFS/NTFS
/dev/sda7 29324 54427 201647848+ 7 HPFS/NTFS
/dev/sda8 54428 54552 999424 82 Linux swap / Solaris
/dev/sda9 54552 60802 50199552 83 Linux

注:上述列表中/dev/sda1、/dev/sda5、/dev/sda6、/dev/sda7分别代表Windows中的C、D、E、F分区,并记下各分区的文件系统类型。

 

2.修改/etc/fstab配置文件。
命令如下:
 

复制代码
代码如下:

sudo vi /etc/fstab

编辑此配置文件,最终其内容类似如下:

复制代码
代码如下:

# /etc/fstab: static file system information.
#
# Use 'blkid -o value -s UUID' 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).
#
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc nodev,noexec,nosuid 0 0
# / was on /dev/sda7 during installation
UUID=ac4326f1-50ad-457f-8e99-63174b97bc88 / ext4 errors=remount-ro 0 1
# swap was on /dev/sda6 during installation
UUID=9026c543-3172-4d21-bce0-dbe595a1425d none swap sw 0 0
#auto mount windows fs
/dev/sda1 /media/win-C ntfs nls=utf8,umask=000 0 0
/dev/sda5 /media/win-D ntfs nls=utf8,umask=000 0 0
/dev/sda6 /media/win-E ntfs nls=utf8,umask=000 0 0
/dev/sda7 /media/win-F ntfs nls=utf8,umask=000 0 0

注:末尾的5行是添加的内容。其中/dev/sda1一行代表C盘分区将自动挂载到/media/win-C目录下,文件系统为NTFS(如果步骤1中查看分区的文件系统为FAT32时,此处请写vfat),字符编码为utf8。umask表示文件目录的权限,此参数以及之后的2个参数都为0即可。以下几行以此类推。此处可以选择性的添加需要自动挂载的分区,不想挂载的分区不用书写。

 

3.重启电脑。
编辑、保存上述配置文件之后,请重启电脑。你将会看到系统已成功挂载Windows各分区。