挂载硬盘的一般方法

本文介绍如何在Linux系统中手动及自动挂载Windows分区的方法,包括确定分区格式、设置locale、使用mount命令进行挂载,并提供了fstab配置示例。
写道
1. 手工挂载

在Linux中也可以读取Windows分区,包括fat32格式的和ntfs格式的。首先你得知道Linux下对硬盘分区的称呼。比如Windows下的C盘通常是hda1,D盘是hda5,E盘是hda6,等等。详细情形请看相关文档。


要挂载Windows分区,首先得确定你所用的Linux系统的locale(这个locale包括了系统使用的语言和字符的编码等信息)。中文 Linux 常用的locale是zh_CN.gb2312,zh_CN.gbk,zh_CN.gb18030 和 zh_CN.UTF-8 。


在默认安装中,Debian Linux和Mandriva Linux的locale是zh_CN.gb2312,而Ubuntu Linux 和Fedora Linux的locale是zh_CN.UTF-8 。最好不要随便更改locale,否则会出现很多乱码的情形。要查看系统的 locale,可以在终端下输入下面的命令查看:


echo $LANG


其次,你得知道你的windows分区的格式,这个在windows的分区的属性中可以看到,一般是fat32和ntfs格式的。


假设你的locale是zh_CN.UTF-8,要挂载一个/dev/hda1的fat32格式的windows分区到/mnt/C目录(若这个目录不存在手工新建一个),可以在终端下输入以下命令(在Ubuntu里还需要在这行命令前加上sudo):


mount -t vfat /dev/hda1 /mnt/C -o iocharset=utf8


如果你的locale不是zh_CN.UTF-8,把上面命令的utf8改为gb2312;如果这个windows分区是ntfs格式的,将上面命令的vfat改为ntfs。


这样挂载的ntfs格式的分区,只有root能读取,如果需要让普通用户也能读取,需要再加上umask=022选项,如下:

mount -t ntfs /dev/hda1 /mnt/C -o iocharset=utf8,umask=022


类似地,如果要让挂载的分区允许所有用户读取和修改,可以将上面的umask=022,改为umask=0就可以了。


卸载分区就简单多了:

umount /dev/hda1


有时候卸载分区时提示分区繁忙(device is busy),可以先用下面的命令看看哪个进程在使用此分区:

fuser -cu /dev/hda1


假如屏幕的输出为

/dev/hda1: 8463m(cck)


则可以用此命令看这个进程对应的程序名字:

ps 8463


然后可以用此命令结束此进程:

kill -9 8463


这样就可以正常卸载分区了。


2. 自动挂载

要让Linux系统启动时自动挂载windows分区,可以把上述的命令写入 /etc/fstab 文件中,下面是一个例子:



# /etc/fstab: static file system information.
#
#[file system] [mount point] [type] [options] [dump] [pass]
proc /proc proc defaults 0 0
/dev/hda9 / ext3 defaults 0 1
/dev/hda13 none swap sw 0 0
/dev/hdc /media/cdrom iso9660 ro,user,noauto 0 0
/dev/fd0 /media/floppy auto rw,user,noauto 0 0
/dev/hda10 /mnt/debian ext3 defaults 0 0
/dev/hda1 /mnt/C ntfs utf8,umask=022 0 0
/dev/hda5 /mnt/D vfat utf8,umask=0 0 0
 
### 一、挂载硬盘的基本步骤 在 Linux 系统中,挂载硬盘是一个常见的操作。以下是详细的挂载流程: 1. **查看硬盘分区信息** 使用以下命令获取硬盘的详细信息,包括设备路径、UUID 和文件系统类型: ```bash sudo blkid ``` 此外,还可以使用 `lsblk` 或 `fdisk -l` 查看磁盘和分区的信息[^3]。 2. **创建挂载点** 创建一个用于挂载的目标目录(即挂载点)。例如: ```bash sudo mkdir /mnt/mydisk ``` 3. **挂载硬盘** 将硬盘分区挂载到指定的挂载点。假设硬盘分区为 `/dev/sdb1`,文件系统类型为 `ext4`,可以运行以下命令: ```bash sudo mount /dev/sdb1 /mnt/mydisk ``` 4. **验证挂载成功** 使用以下命令确认硬盘是否已正确挂载: ```bash df -hT ``` --- ### 二、实现开机自动挂载 为了使硬盘在系统重启后仍然保持挂载状态,需要编辑 `/etc/fstab` 文件。以下是具体步骤: 1. **打开 fstab 文件** 使用文本编辑器(如 `nano` 或 `vim`)打开 `/etc/fstab` 文件: ```bash sudo nano /etc/fstab ``` 2. **添加挂载条目** 在文件末尾添加一行,格式如下: ``` UUID=<your-disk-uuid> /mnt/mydisk ext4 defaults 0 2 ``` 其中: - `<your-disk-uuid>` 是通过 `sudo blkid` 获取的硬盘 UUID。 - `/mnt/mydisk` 是挂载点。 - `ext4` 是文件系统类型。 - `defaults` 表示默认挂载选项。 - `0` 表示不使用 `dump` 工具备份。 - `2` 表示启动时检查文件系统的优先级(根分区应设为 `1`,其他分区设为 `2`,无需检查则设为 `0`)[^4]。 3. **保存并退出** 编辑完成后保存文件并退出。 4. **测试配置有效性** 使用以下命令检验 `/etc/fstab` 配置是否有错误: ```bash sudo mount -a ``` 若无任何报错,则说明配置有效。 --- ### 三、注意事项 1. **权限问题** 挂载后的目录可能仅允许 root 用户访问。如果希望普通用户也能访问,可以在挂载选项中加入 `uid` 和 `gid` 参数,或者更改目录权限: ```bash chmod 755 /mnt/mydisk chown your-user:your-group /mnt/mydisk ``` 2. **文件系统类型匹配** 确保挂载时指定的文件系统类型与实际分区一致。如果不确定,可通过 `file -s /dev/sdb1` 命令查询。 3. **避免重复挂载** 如果某个分区已经在 `/etc/fstab` 中定义了挂载规则,再次尝试手动挂载可能会导致冲突。建议先卸载再重新挂载: ```bash sudo umount /mnt/mydisk sudo mount /mnt/mydisk ``` --- ### 四、常见问题排查 1. **挂载失败提示“unknown filesystem type”** 这通常是因为内核未加载对应的文件系统模块。解决方法是安装相应的工具包。例如,对于 NTFS 分区: ```bash sudo apt install ntfs-3g ``` 2. **fstab 配置错误导致无法启动** 如果 `/etc/fstab` 配置有误,可能导致系统无法正常启动。此时可以通过单用户模式或 Live CD 修改配置文件。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值