mount命令

1.mount FAT/FAT32分区:(C盘为例)
mount -t msdos /dev/ad0s1 /mnt

mount_msdos /dev/ad0s1 /mnt for 4.x
mount_msdosfs /dev/ad0s1 /mnt for 5.x
2.mout Windows的扩展分区(FAT/FAT32):
命令和1一样,只是要记住:扩展分区从s5开始,例如mount D盘,可用:
mount -t msdos /dev/ad0s5 /mnt
mount_msdos /dev/ad0s5 /mnt for 4.x
mount_msdosfs /dev/ad0s5 /mnt for 5.x

3.mount NTFS分区:(C盘为例)
mount -t ntfs /dev/ad0s1 /mnt

mount_ntfs /dev/ad0s1 /mnt
[注意]1.chinese/gbfs 的 ntfs 似乎有问题,不建议玩家级用户使用
注意2.:要让mount上的windows 分区(或CD-ROM)显示中文,需要升级你的ports,再安装gbfs:
#cd /usr/ports/chinese/gbfs
#make install clean
然后编译内核,注释掉options CD9660
options MSDOS
注意3.在5.1-current上不用安装gbfs,用:
mount_msdosfs -L zh_CN.GB18030 /dev/ad0sX /mnt
命令就可以支持FAT32分区上的中文文件名,当然,locale可以不用18030,zh_CN.eucCN, zh_CN.GBK都可以!

4.mount Linux Ext2fs/Ext3fs:
在内核里面加入options EXT2FS,编译内核。
mount 的时候用mount_ext2fs 命令即可,ext3fs的mount也用mount_ext2fs
5.mount 普通数据光盘:
mount_cd9660 /dev/acd0 /cdrom
6.mount ISO 文件
在5.x中如下
mdconfig -a -t vnode -f abc.iso -u 1
mount_cd9660 /dev/md1 /cdrom
4.8的版本
vnconfig /dev/vn0 /home/xiaoche/a.iso
mount -t cd9660 /dev/vn0 /mnt
umount /mnt
vnconfig -u /dev/vn0
7.mount CD、VCD、DVD
播放CD、VCD、DVD不用先mount上。
如果你一定要mount上,可以这样:#mount _cd9660 -s 0 /dev/acd0 /cdrom
8.mount 软盘:
1.Format:
# /usr/sbin/fdformat -f 1440 /dev/fd0
2. Run disklabel:
# /sbin/disklabel -B -r -w /dev/fd0 fd1440
3.Create New FS:
# /sbin/newfs_msdos /dev/fd0
4.Mount & Use
#mount_msdosfs /dev/fd0 /mnt

9.mount usb
确保内核中有如下项
device scbus
device da
device cd
在GENERIC中默认都有,如果没有,请编译内核。
大多数U盘用的是FAT 文件系统,所以用
mount -t msdos /dev/da0 /mnt
挂载
10.mount ZIP软盘: OneZ 兄提供
#mount_msdosfs /dev/afd0s4 /mnt/zip
linux下如何挂接(mount)(Z)
引:linux下如何挂接(mount)光盘镜像文件、移动硬盘、U盘、Windows网络共享和NFS网络共享呢?

    linux 是一个优秀的开放源码的操作系统,可以运行在大到巨型小到掌上型各类计算机系统上,随着linux系统的日渐成熟和稳定以及它开放源代码特有的优越性, linux在全世界得到了越来越广泛的应用。现在许多企业的计算机系统都是由UNIX系统、Linux系统和Windows系统组成的混合系统,不同系统之间经常需要进行数据交换。下面我根据自己的实际工作经验介绍一下如何在linux系统下挂接(mount)光盘镜像文件、移动硬盘、U盘以及 Windows网络共享和UNIX NFS网络共享。

    挂接命令(mount)

    首先,介绍一下挂接(mount)命令的使用方法,mount命令参数非常多,这里主要讲一下今天我们要用到的。

    命令格式:

    mount [-t vfstype] [-o options] device dir

    其中:

    1.-t vfstype 指定文件系统的类型,通常不必指定。mount 会自动选择正确的类型。常用类型有:

    光盘或光盘镜像:iso9660

    DOS fat16文件系统:msdos

    Windows 9x fat32文件系统:vfat

    Windows NT ntfs文件系统:ntfs

    Mount Windows文件网络共享:smbfs

    UNIX(LINUX) 文件网络共享:nfs

    2.-o options 主要用来描述设备或档案的挂接方式。常用的参数有:

    loop:用来把一个文件当成硬盘分区挂接上系统

    ro:采用只读方式挂接设备

    rw:采用读写方式挂接设备

    iocharset:指定访问文件系统所用字符集

    3.device 要挂接(mount)的设备。

    4.dir设备在系统上的挂接点(mount point)。

    挂接光盘镜像文件

    其实linux系统下制作和使用光盘镜像比Windows系统更方便,不必借用任何第三方软件包。

    1、从光盘制作光盘镜像文件。将光盘放入光驱,执行下面的命令。

     #cp /dev/cdrom /home/sunky/mydisk.iso 或

     #dd if=/dev/cdrom of=/home/sunky/mydisk.iso

     注:执行上面的任何一条命令都可将当前光驱里的光盘制作成光盘镜像文件/home/sunky/mydisk.iso

    2、将文件和目录制作成光盘镜像文件,执行下面的命令。

     #mkisofs -r -J -V mydisk -o /home/sunky/mydisk.iso /home/sunky/ mydir

     注:这条命令将/home/sunky/mydir目录下所有的目录和文件制作成光盘镜像文件/home/sunky/mydisk.iso,光盘卷标为:mydisk

    3、光盘镜像文件的挂接(mount)

     #mkdir /mnt/vcdrom

     注:建立一个目录用来作挂接点(mount point)

     #mount -o loop -t iso9660 /home/sunky/mydisk.iso /mnt/vcdrom

     注:使用/mnt/vcdrom就可以访问盘镜像文件mydisk.iso里的所有文件了。

   

    挂接移动硬盘

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

    [root@pldyrouter /]# fdisk -l

    Disk /dev/sda: 73.4 GB, 73407820800 bytes

    255 heads, 63 sectors/track, 8924 cylinders

    Units = cylinders of 16065 * 512 = 8225280 bytes

    Device Boot Start End Blocks Id System

    /dev/sda1 1 4 32098+ de Dell Utility

    /dev/sda2 * 5 2554 20482875 7 HPFS/NTFS

    /dev/sda3 2555 7904 42973875 83 Linux

    /dev/sda4 7905 8924 8193150 f Win95 Ext'd (LBA)

    /dev/sda5 7905 8924 8193118+ 82 Linux swap

     在这里可以清楚地看到系统有一块SCSI硬盘/dev/sda和它的四个磁盘分区/dev/sda1 -- /dev/sda4, /dev/sda5是分区/dev/sda4的逻辑分区。接好移动硬盘后,再用fdisk –l 或 more /proc/partitions查看系统的硬盘和硬盘分区情况

    [root@pldyrouter /]# fdisk -l

    Disk /dev/sda: 73.4 GB, 73407820800 bytes

    255 heads, 63 sectors/track, 8924 cylinders

    Units = cylinders of 16065 * 512 = 8225280 bytes

    Device Boot Start End Blocks Id System

    /dev/sda1 1 4 32098+ de Dell Utility

    /dev/sda2 * 5 2554 20482875 7 HPFS/NTFS

    /dev/sda3 2555 7904 42973875 83 Linux

    /dev/sda4 7905 8924 8193150 f Win95 Ext'd (LBA)

    /dev/sda5 7905 8924 8193118+ 82 Linux swap

    Disk /dev/sdc: 40.0 GB, 40007761920 bytes

    255 heads, 63 sectors/track, 4864 cylinders

    Units = cylinders of 16065 * 512 = 8225280 bytes

    Device Boot Start End Blocks Id System

    /dev/sdc1 1 510 4096543+ 7 HPFS/NTFS

    /dev/sdc2 511 4864 34973505 f Win95 Ext'd (LBA)

    /dev/sdc5 511 4864 34973473+ b Win95 FAT32

    大家应该可以发现多了一个SCSI硬盘/dev/sdc和它的两个磁盘分区/dev/sdc1?、/dev/sdc2,其中/dev/sdc5是/dev/sdc2分区的逻辑分区。我们可以使用下面的命令挂接/dev/sdc1和/dev/sdc5。

    #mkdir -p /mnt/usbhd1

    #mkdir -p /mnt/usbhd2

    注:建立目录用来作挂接点(mount point)

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

    #mount -t vfat /dev/sdc5 /mnt/usbhd2

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

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

    #mount -t vfat -o iocharset=cp936 /dev/sdc5 /mnt/usbhd2

    linux系统下使用fdisk分区命令和mkfs文件系统创建命令可以将移动硬盘的分区制作成linux系统所特有的ext2、ext3格式。这样,在linux下使用就更方便了。使用下面的命令直接挂接即可。

    #mount /dev/sdc1 /mnt/usbhd1

    挂接U盘

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

    [root@pldyrouter root]# fdisk -l

    Disk /dev/sda: 73.4 GB, 73407820800 bytes

    255 heads, 63 sectors/track, 8924 cylinders

    Units = cylinders of 16065 * 512 = 8225280 bytes

    Device Boot Start End Blocks Id System

    /dev/sda1 1 4 32098+ de Dell Utility

    /dev/sda2 * 5 2554 20482875 7 HPFS/NTFS

    /dev/sda3 2555 7904 42973875 83 Linux

    /dev/sda4 7905 8924 8193150 f Win95 Ext'd (LBA)

    /dev/sda5 7905 8924 8193118+ 82 Linux swap

    插入U盘后,再用fdisk –l 或 more /proc/partitions查看系统的硬盘和硬盘分区情况。

    [root@pldyrouter root]# fdisk -l

    Disk /dev/sda: 73.4 GB, 73407820800 bytes

    255 heads, 63 sectors/track, 8924 cylinders

    Units = cylinders of 16065 * 512 = 8225280 bytes

    Device Boot Start End Blocks Id System

    /dev/sda1 1 4 32098+ de Dell Utility

    /dev/sda2 * 5 2554 20482875 7 HPFS/NTFS

    /dev/sda3 2555 7904 42973875 83 Linux

    /dev/sda4 7905 8924 8193150 f Win95 Ext'd (LBA)

    /dev/sda5 7905 8924 8193118+ 82 Linux swap

    Disk /dev/sdd: 131 MB, 131072000 bytes

    9 heads, 32 sectors/track, 888 cylinders

    Units = cylinders of 288 * 512 = 147456 bytes

    Device Boot Start End Blocks Id System

    /dev/sdd1 * 1 889 127983+ b Win95 FAT32

    Partition 1 has different physical/logical endings:

    phys=(1000, 8, 32) logical=(888, 7, 31)

    系统多了一个SCSI硬盘/dev/sdd和一个磁盘分区/dev/sdd1,/dev/sdd1就是我们要挂接的U盘。

    #mkdir -p /mnt/usb

    注:建立一个目录用来作挂接点(mount point)

    #mount -t vfat /dev/sdd1 /mnt/usb

    注:现在可以通过/mnt/usb来访问U盘了, 若汉字文件名显示为乱码或不显示,可以使用下面的命令。

    #mount -t vfat -o codepage=936,iocharset=cp936 /dev/sdd1 /mnt/usb

    挂接Windows文件共享

    Windows 网络共享的核心是SMB/CIFS,在linux下要挂接(mount)windows的磁盘共享,就必须安装和使用samba软件包。现在流行的 linux发行版绝大多数已经包含了samba软件包,如果安装linux系统时未安装samba请首先安装samba。当然也可以到 www.samba.org网站下载samba软件包,现在最新的版本是3.0.10版。

    当windows系统共享设置好以后,就可以在linux客户端挂接(mount)了,具体操作如下:

    # mkdir –p /mnt/samba

    注:建立一个目录用来作挂接点(mount point)

    # mount -t smbfs -o username=administrator,password=pldy123 //10.140.133.23/c$ /mnt/samba

    注:administrator 和 pldy123 是ip地址为10.140.133.23 windows计算机的一个用户名和密码,c$是这台计算机的一个磁盘共享

     如此就可以在linux系统上通过/mnt/samba来访问windows系统磁盘上的文件了。以上操作在redhat as server 3、redflag server 4.1、suse server 9以及windows NT 4.0、windows 2000、windows xp、windows 2003环境下测试通过。

    挂接UNIX系统NFS文件共享

    类似于 windows的网络共享,UNIX(Linux)系统也有自己的网络共享,那就是NFS(网络文件系统),下面我们就以SUN Solaris2.8和REDHAT as server 3 为例简单介绍一下在linux下如何mount nfs网络共享。

    在linux客户端挂接(mount)NFS磁盘共享之前,必须先配置好NFS服务端。

    1、Solaris系统NFS服务端配置方法如下:

    (1)修改 /etc/dfs/dfstab, 增加共享目录

    share -F nfs -o rw /export/home/sunky

    (2)启动nfs服务

    # /etc/init.d/nfs.server start

    (3)NFS服务启动以后,也可以使用下面的命令增加新的共享

    # share /export/home/sunky1

    # share /export/home/sunky2

     注:/export/home/sunky和/export/home/sunky1是准备共享的目录

    2、linux系统NFS服务端配置方法如下:

    (1)修改 /etc/exports,增加共享目录

    /export/home/sunky 10.140.133.23(rw)

    /export/home/sunky1 *(rw)

    /export/home/sunky2 linux-client(rw)

     注:/export/home/目录下的sunky、sunky1、sunky2是准备共享的目录,10.140.133.23、*、linux- client是被允许挂接此共享linux客户机的IP地址或主机名。如果要使用主机名linux-client必须在服务端主机/etc/hosts文件里增加linux-client主机ip定义。格式如下:

    10.140.133.23 linux-client

    (2)启动与停止NFS服务

    /etc/rc.d/init.d/portmap start (在REDHAT中PORTMAP是默认启动的)

    /etc/rc.d/init.d/nfs start 启动NFS服务

    /etc/rc.d/init.d/nfs stop 停止NFS服务

    注:若修改/etc/export文件增加新的共享,应先停止NFS服务,再启动NFS服务方能使新增加的共享起作用。使用命令exportfs -rv也可以达到同样的效果。

    3、linux客户端挂接(mount)其他linux系统或UNIX系统的NFS共享

    # mkdir –p /mnt/nfs

    注:建立一个目录用来作挂接点(mount point)

    #mount -t nfs -o rw 10.140.133.9:/export/home/sunky /mnt/nfs

    注:这里我们假设10.140.133.9是NFS服务端的主机IP地址,当然这里也可以使用主机名,但必须在本机/etc/hosts文件里增加服务端ip定义。/export/home/sunky为服务端共享的目录。

     如此就可以在linux客户端通过/mnt/nfs来访问其它linux系统或UNIX系统以NFS方式共享出来的文件了。以上操作在redhat as server 3、redflag server4.1、suse server 9以及Solaris 7、Solaris 8、Solaris 9 for x86&sparc环境下测试通过。
 
<think>首先,用户的问题是:"请问mount命令用法参数说明及常见问题"。这是关于LinuxUnix系统中的mount命令的用法、参数说明和常见问题。 从系统级指令中,我需要:-所有行内数学表达式用$...$格式。 -独立公式用$$...$$$$单独成段。- LaTeX语法正确。-使用中文回答。-生成相关问题。 -在回答中引用的段落末尾自然地添加引用标识,如[^1]。-回答结构清晰,帮助用户逐步解决问题。 -参考站内引用:有引用[1],[2], [3],它们提供了mount命令的基本信息:- [^1]: Mount命令参数详解,包括mount的基本概念和在Windows中的应用。- [^2]: mount命令用法详解,特别是-o options参数。-[^3]:mount命令的用法,包括加载文件系统和/etc/fstab文件。用户意图是了解mount命令的使用方法、参数说明和常见问题解决方案。我的回答结构应该清晰: 1.介绍mount命令。2.详细说明用法和参数。3.讨论常见问题。 4.生成相关问题。 5.确保引用标识添加在引用的段落末尾。使用中文回答。 生成相关问题:在回答结束时,添加相关问题部分。现在,构建回答: -**介绍**:简要解释mount命令是什么。- **用法**:描述基本语法和常见用法。 -**参数说明**:详细解释主要参数,特别是-ooptions。- **常见问题**:列出一些常见问题和解决方案。-添加引用标识:当引用参考内容时,在末尾添加[^1], [^2], [^3]。参考内容:- [^1]:提到mount用于挂载分区到文件夹,在Windows中也应用。 -[^2]:详细说明-ooptions参数,如loop,ro,rw, iocharset。- [^3]:提到mount加载文件系统到目录,使用/etc/fstab自动加载,卸载用umount。 确保回答真实可靠:基于我的知识和参考内容。最终结构: 1.引言。2.用法。 3.参数说明。 4.常见问题。 5.相关问题。生成相关问题:例如:1.如何自动挂载文件系统? 2. mount命令的错误处理?3.mount在虚拟化中的应用?</think>### mount 命令详解:用法、参数说明及常见问题 mount 命令Linux 和类 Unix 系统中的核心工具,用于将文件系统(如硬盘分区、ISO 镜像或网络共享)挂载到指定目录(称为挂载点),从而让用户访问该文件系统中的内容[^3]。它在系统管理、数据存储和虚拟化中广泛应用,例如在 Windows 系统中,类似功能见于虚拟光驱软件如 Daemon Tools 或 WinMount[^1]。以下我将逐步解释 mount 命令的用法、参数说明和常见问题解决方案,确保内容结构清晰、易于理解。回答基于可靠参考信息,并结合实际系统管理经验。 #### 1. **mount 命令的基本用法** mount 命令的基本语法为: ```bash mount [选项] [设备] [挂载点] ``` - **设备**:指定要挂载的源,如硬盘分区(`/dev/sda1`)、ISO 文件(`/path/to/image.iso`)或网络共享(`//server/share`)。 - **挂载点**:目标目录,必须是一个已存在的空目录(例如 `/mnt/mydrive`)。 - **常见场景示例**: - 挂载一个 USB 驱动器到 `/mnt/usb`: ```bash mount /dev/sdb1 /mnt/usb ``` - 挂载一个 ISO 镜像文件(使用 loop 设备): ```bash mount -o loop /path/to/image.iso /mnt/iso ``` - 卸载文件系统使用 `umount` 命令: ```bash umount /mnt/usb ``` 挂载信息会记录在 `/etc/mtab` 文件中,卸载时清除[^3]。对于频繁使用的设备,建议配置 `/etc/fstab` 文件实现开机自动挂载[^3]。 #### 2. **参数详细说明** mount 命令支持多种选项,通过 `-o` 参数指定,这些选项控制挂载的权限、字符集和特殊行为[^2]。以下列出关键参数(基于引用[2]的详解): - **常用选项 (`-o` 参数)**: - `ro`:以只读模式挂载,防止意外写入(例如 `mount -o ro /dev/sda1 /mnt/readonly`)。 - `rw`:以读写模式挂载(默认模式),允许修改文件。 - `loop`:将文件(如 ISO)视为块设备挂载,常用于虚拟光驱场景[^1]。 - `iocharset=utf8`:指定文件系统的字符集,解决中文文件名乱码问题(例如挂载 Windows 共享时:`mount -o iocharset=utf8 //192.168.1.100/share /mnt/nas`)。 - `remount`:重新挂载已挂载的文件系统,用于更改选项(如从只读切换到读写:`mount -o remount,rw /mnt/usb`)。 - `noexec`:禁止执行挂载点内的可执行文件,增强安全性。 - `user`:允许普通用户挂载设备(需 `/etc/fstab` 配置支持)。 - **其他重要参数**: - `-t`:指定文件系统类型,如 `ext4`、`ntfs`、`nfs`(网络文件系统)。例如,挂载 NTFS 分区: ```bash mount -t ntfs /dev/sdc1 /mnt/windows ``` 如果未指定 `-t`,mount 会自动检测类型。 - `-a`:挂载 `/etc/fstab` 文件中定义的所有设备,常用于系统启动时。 - `-v`:显示详细输出,便于调试。 参数组合示例:挂载一个只读的 ISO 文件,并指定字符集: ```bash mount -o loop,ro,iocharset=utf8 /path/to/image.iso /mnt/iso ``` #### 3. **常见问题及解决方案** mount 命令在使用中可能遇到以下典型问题。这些问题源于权限错误、文件系统不兼容或配置失误,以下是基于实践经验的解决方法: - **问题 1: 挂载失败,提示 "mount: permission denied" 或 "you must be root"** **原因**:普通用户无权执行 mount 命令。 **解决**: - 使用 `sudo` 前缀运行命令:`sudo mount /dev/sdb1 /mnt/usb`。 - 或在 `/etc/fstab` 中添加 `user` 选项,允许指定用户挂载[^3]。 - **问题 2: 挂载后文件名显示乱码(常见于 Windows 共享或 FAT32 分区)** **原因**:字符集不匹配。 **解决**: - 挂载时指定字符集,如 `mount -o iocharset=utf8 /dev/sda1 /mnt/data`[^2]。 - 对于 Samba 共享,使用 `cifs` 类型:`mount -t cifs -o username=user,password=pass,iocharset=utf8 //server/share /mnt/share`。 - **问题 3: 无法卸载设备,提示 "device is busy"** **原因**:挂载点正被进程使用(如文件被打开)。 **解决**: - 使用 `lsof /mnt/usb` 查找占用进程并关闭。 - 强制卸载:`umount -l /mnt/usb`(`-l` 选项延迟卸载)。 - **问题 4: 挂载 ISO 或文件失败,提示 "no such device"** **原因**:缺少 loop 选项或文件路径错误。 **解决**: - 确保使用 `-o loop`:`mount -o loop image.iso /mnt/iso`。 - 检查文件路径是否存在。 - **问题 5: 开机自动挂载失败(/etc/fstab 配置错误)** **原因**:`/etc/fstab` 条目格式错误或设备标识变化。 **解决**: - 编辑 `/etc/fstab`,确保格式正确(例如:`/dev/sdb1 /mnt/data ext4 defaults 0 0`)。 - 使用 UUID 替代设备名(通过 `blkid` 命令获取 UUID),避免因硬件变动导致失败[^3]。 这些解决方案在大多数 Linux 发行版(如 Ubuntu、CentOS)中通用。如果问题持续,检查系统日志(`dmesg | grep mount`)获取更多线索。 #### 4. **总结与最佳实践** mount 命令是管理文件系统的关键工具,通过灵活的参数(如 `-o loop` 或 `iocharset`)支持多样化的场景[^2]。最佳实践包括: - 使用 `/etc/fstab` 实现自动挂载,减少手动操作。 - 挂载前确保挂载点目录存在且为空。 - 卸载设备前关闭所有相关进程,避免数据损坏。 - 在虚拟化环境中(如 Docker 或 KVM),mount 常用于绑定挂载主机目录到容器[^1]。 通过以上步骤,您可以高效使用 mount 命令处理存储设备、网络共享和虚拟文件。如果您有特定场景(如挂载 NFS 或解决权限问题),请提供更多细节,我会进一步解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值