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

2024-10-07 14:01:56网络知识悟空

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 BootStartEndBlocksId System
/dev/sda1*2048618680313093299283 Linux
/dev/sda261870078629125115212175 Extended
/dev/sda5618700806291251152121682 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 BootStartEndBlocksId System
/dev/sdb1778135908 1919645538570754815+ 72 Unknown
/dev/sdb2?168689522 210471776196801412065 Novell Netware 386
/dev/sdb3? 1869881465 380590965696801409679 Unknown
/dev/sdb4? 2885681152 288573665027749+d Unknown
Partition table entries are not in disk order

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

复制代码

代码如下:

#fdisk /dev/sda

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

复制代码

代码如下:

Device BootStart EndBlocksIdSystem
/dev/sdb1778135908 1919645538570754815+ 72Unknown
/dev/sdb2 ?168689522 210471776196801412065Novell Netware 386
/dev/sdb3 ? 1869881465 380590965696801409679Unknown
/dev/sdb4 ? 2885681152 288573665027749+dUnknown

是有个?这个咚咚。。。。
量产优盘,优盘分区表问题大大的有了。我当时没备份分区表,把它量产成活动的,用来做启动盘,在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
atoggle a bootable flag
bedit bsd disklabel
ctoggle the dos compatibility flag
ddelete a partition
llist known partition types
mprint this menu
nadd a new partition
ocreate a new empty DOS partition table
pprint the partition table
qquit without saving changes
screate a new empty Sun disklabel
tchange a partition's system id
uchange display/entry units
vverify the partition table
wwrite table to disk and exit
xextra 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 BootStartEndBlocksId System
/dev/sda1*13825307242817 HPFS/NTFS
/dev/sda2382660802457661193f W95 Ext'd (LBA)
/dev/sda53826165741024063117 HPFS/NTFS
/dev/sda616575293231024063117 HPFS/NTFS
/dev/sda72932454427201647848+7 HPFS/NTFS
/dev/sda8544285455299942482 Linux swap / Solaris
/dev/sda954552608025019955283 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/procprocnodev,noexec,nosuid 00
# / was on /dev/sda7 during installation
UUID=ac4326f1-50ad-457f-8e99-63174b97bc88 /ext4errors=remount-ro 01
# swap was on /dev/sda6 during installation
UUID=9026c543-3172-4d21-bce0-dbe595a1425d noneswapsw 00
#auto mount windows fs
/dev/sda1 /media/win-C ntfs nls=utf8,umask=00000
/dev/sda5 /media/win-D ntfs nls=utf8,umask=00000
/dev/sda6 /media/win-E ntfs nls=utf8,umask=00000
/dev/sda7 /media/win-F ntfs nls=utf8,umask=00000

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

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

发表评论: