解决ntfs格式的移动硬盘mount到Linux下时变成只读文件系统的问题

时间:2023-03-08 15:38:39

环境介绍

主机: XP

虚拟机:VirtualBox+Debian6

遇到的问题

我有一块西部数据的移动硬盘,虚拟机中有一些资料需要拷贝到移动硬盘中,然后我将移动硬盘插上后,执行如下设置,将移动硬盘分配给虚拟机:

解决ntfs格式的移动硬盘mount到Linux下时变成只读文件系统的问题

然后就会将我的移动硬盘自动挂载到Debian中:

解决ntfs格式的移动硬盘mount到Linux下时变成只读文件系统的问题

但是当我在/media/work下想创建一个文件夹时出现如下提示:

mkdir: 无法创建目录"debian_source": 只读文件系统

解决办法

安装工具:

sudo apt-get install ntfs-config

对linux系统而言,USB接口的移动硬盘是当作SCSI设备对待的。插入移动硬盘之前,应先用fdisk –l 或 more /proc/partitions查看系统的硬盘和硬盘分区情况。

pengdl@debian:~$ sudo fdisk -l
[sudo] password for pengdl: Disk /dev/sda: 21.5 GB, bytes
heads, sectors/track, cylinders
Units = cylinders of * = bytes
Sector size (logical/physical): bytes / bytes
I/O size (minimum/optimal): bytes / bytes
Disk identifier: 0x0002d31b Device Boot Start End Blocks Id System
/dev/sda1 Linux
/dev/sda2 Extended
/dev/sda5 Linux swap / Solaris Disk /dev/sdb: 21.5 GB, bytes
heads, sectors/track, cylinders
Units = cylinders of * = bytes
Sector size (logical/physical): bytes / bytes
I/O size (minimum/optimal): bytes / bytes
Disk identifier: 0x0005af5f Device Boot Start End Blocks Id System
/dev/sdb1 Extended
/dev/sdb5 Linux Disk /dev/sdc: 107.4 GB, bytes
heads, sectors/track, cylinders
Units = cylinders of * = bytes
Sector size (logical/physical): bytes / bytes
I/O size (minimum/optimal): bytes / bytes
Disk identifier: 0x00081b96 Device Boot Start End Blocks Id System
/dev/sdc1 Extended
/dev/sdc5 Linux Disk /dev/sdd: 53.7 GB, bytes
heads, sectors/track, cylinders
Units = cylinders of * = bytes
Sector size (logical/physical): bytes / bytes
I/O size (minimum/optimal): bytes / bytes
Disk identifier: 0x8196b6c7 Device Boot Start End Blocks Id System
/dev/sdd1 Linux
pengdl@debian:~$

接好移动硬盘后,再用fdisk –l 或 more /proc/partitions查看系统的硬盘和硬盘分区情况

pengdl@debian:~$ sudo fdisk -l
[sudo] password for pengdl: Disk /dev/sda: 21.5 GB, bytes
heads, sectors/track, cylinders
Units = cylinders of * = bytes
Sector size (logical/physical): bytes / bytes
I/O size (minimum/optimal): bytes / bytes
Disk identifier: 0x0002d31b Device Boot Start End Blocks Id System
/dev/sda1 Linux
/dev/sda2 Extended
/dev/sda5 Linux swap / Solaris Disk /dev/sdb: 21.5 GB, bytes
heads, sectors/track, cylinders
Units = cylinders of * = bytes
Sector size (logical/physical): bytes / bytes
I/O size (minimum/optimal): bytes / bytes
Disk identifier: 0x0005af5f Device Boot Start End Blocks Id System
/dev/sdb1 Extended
/dev/sdb5 Linux Disk /dev/sdc: 107.4 GB, bytes
heads, sectors/track, cylinders
Units = cylinders of * = bytes
Sector size (logical/physical): bytes / bytes
I/O size (minimum/optimal): bytes / bytes
Disk identifier: 0x00081b96 Device Boot Start End Blocks Id System
/dev/sdc1 Extended
/dev/sdc5 Linux Disk /dev/sdd: 53.7 GB, bytes
heads, sectors/track, cylinders
Units = cylinders of * = bytes
Sector size (logical/physical): bytes / bytes
I/O size (minimum/optimal): bytes / bytes
Disk identifier: 0x8196b6c7 Device Boot Start End Blocks Id System
/dev/sdd1 Linux Disk /dev/sde: 1000.2 GB, bytes
heads, sectors/track, cylinders
Units = cylinders of * = bytes
Sector size (logical/physical): bytes / bytes
I/O size (minimum/optimal): bytes / bytes
Disk identifier: 0x00023f15 Device Boot Start End Blocks Id System
/dev/sde1 HPFS/NTFS
/dev/sde2 f W95 Ext'd (LBA)
/dev/sde5 + HPFS/NTFS
pengdl@debian:~$

大家应该可以发现多了一个SCSI硬盘/dev/sde和它的两个磁盘分区/dev/sde1、/dev/sde2,其中/dev/sde5是/dev/sde2分区的逻辑分区。有的系统支持自动挂载,可以通过mount命令查看自动挂载的目录:

pengdl@debian:~$ mount
/dev/sda1 on / type ext3 (rw,errors=remount-ro)
tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
udev on /dev type tmpfs (rw,mode=)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=,mode=)
/dev/sdc5 on /home type ext3 (rw)
/dev/sdb5 on /usr type ext3 (rw)
/dev/sdd1 on /home/pengdl/ext_disk type ext3 (rw)
rpc_pipefs on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
nfsd on /proc/fs/nfsd type nfsd (rw)
share on /media/sf_share type vboxsf (gid=,rw)
/dev/sde1 on /media/entertainment type fuseblk (rw,nosuid,nodev,allow_other,blksize=,default_permissions)
/dev/sde5 on /media/work type fuseblk (rw,nosuid,nodev,allow_other,blksize=,default_permissions)
pengdl@debian:~$

可以看到自动挂载到了/media/entertainment 和 /media/work下。进入/media/work下,发现已经可以执行写操作了。

对于不支持自动挂载的,需要进行手动挂载:

#mkdir -p /mnt/usbhd1 

#mount -t ntfs /dev/sdc1 /mnt/usbhd1 

注:对ntfs格式的磁盘分区应使用-t ntfs 参数。若汉字文件名显示为乱码或不显示,可以使用下面的命令格式。 

#mount -t ntfs -o iocharset=cp936 /dev/sdc1 /mnt/usbhd1