在双系统环境中,许多用户需要在 CentOS 系统中访问 Windows 系统下的磁盘分区,以便共享文件或备份数据,由于 CentOS(Linux)和 Windows 使用不同的文件系统(如 ext4/XFS 与 NTFS/FAT32),CentOS 无法像访问自身分区那样直接“看到”Windows 盘,要实现这一目标,核心操作是“挂载”,本文将详细介绍如何在 CentOS 中安全、高效地显示并访问 Windows 磁盘分区。
准备工作:识别 Windows 分区
在开始挂载之前,首先需要确定 Windows 分区在系统中的设备标识,CentOS 提供了多种工具来查看磁盘信息,其中最常用的是 lsblk
和 fdisk
。
打开终端,使用 sudo
或以 root
用户身份执行以下命令:
sudo fdisk -l
该命令会列出系统中所有磁盘及其分区的详细信息,你需要根据分区大小、类型和顺序来识别 Windows 分区,Windows 的 NTFS 分区在 Type
列会显示为 HPFS/NTFS/exFAT
。
输出可能如下所示:
设备 | 启动 | 起点 | 扇区 | 大小 | ID | 类型 |
---|---|---|---|---|---|---|
/dev/sda | 2048 | 976771071 | 8G | |||
/dev/sda1 | 2048 | 1026047 | 500M | 7 | HPFS/NTFS/exFAT | |
/dev/sda2 | 1026048 | 30722047 | 4G | 27 | Windows RE 环境 | |
/dev/sda3 | 30722048 | 225295359 | 1G | 7 | HPFS/NTFS/exFAT | |
/dev/sda4 | 225295360 | 976771071 | 8G | 83 | Linux |
在这个例子中,/dev/sda1
(可能是系统恢复分区)和 /dev/sda3
(通常是主系统分区)是 Windows 的 NTFS 分区,我们以挂载 /dev/sda3
为例。
核心步骤:手动挂载 Windows 分区
手动挂载是临时性的,重启后会失效,但它是验证一切是否正常的最佳方式。
安装 NTFS-3G 驱动
CentOS 默认只支持对 NTFS 分区的读取,要实现稳定的读写支持,需要安装 ntfs-3g
驱动程序。
# 对于 CentOS 7/8 sudo yum install ntfs-3g # 对于较新的 CentOS Stream 或基于 RHEL 9 的系统 sudo dnf install ntfs-3g
创建挂载点
挂载点是一个空目录,Windows 分区的内容将“映射”到这个目录中,通常在 /mnt
目录下创建。
sudo mkdir /mnt/windows
执行挂载命令
使用 mount
命令,指定文件系统类型为 ntfs-3g
,将设备挂载到创建的目录。
sudo mount -t ntfs-3g /dev/sda3 /mnt/windows
执行完毕后,你就可以通过 /mnt/windows
目录访问 Windows 分区中的文件了,使用 ls /mnt/windows
或文件管理器查看其内容。
进阶操作:实现开机自动挂载
为了避免每次重启后都要手动挂载,可以将挂载信息写入 /etc/fstab
文件中,实现开机自动挂载。
获取分区的 UUID
使用设备名称(如 /dev/sda3
)进行挂载有时会因设备识别顺序变化而出错,更推荐使用分区的 UUID(通用唯一标识符),它是固定不变的。
sudo blkid /dev/sda3
输出会类似这样:/dev/sda3: UUID="A1B2C3D4E5F6G7H8" TYPE="ntfs" ...
,记下这个 UUID。
编辑 /etc/fstab 文件
使用文本编辑器(如 vi
或 nano
)打开 /etc/fstab
文件:
sudo vi /etc/fstab
在文件末尾添加一行,格式如下:
<设备标识> <挂载点> <文件系统类型> <挂载选项> <dump> <pass>
使用 UUID 的推荐配置如下:
UUID=A1B2C3D4E5F6G7H8 /mnt/windows ntfs-3g defaults 0 0
- defaults: 使用默认挂载选项,包括读写、支持执行文件等。
- 0 0: 分别表示
dump
备份和fsck
磁盘检查的优先级,对于非 Linux 根分区通常都设为 0。
保存并关闭文件,下次重启系统时,CentOS 会自动读取 /etc/fstab
并完成挂载,你也可以不重启,直接执行 sudo mount -a
命令来测试 /etc/fstab
中的配置是否正确。
相关问答 FAQs
Q1: 为什么我挂载 Windows 分区后,只能读取文件,无法写入或修改?
A1: 这通常是由两个原因造成的,最常见的原因是 Windows 的“快速启动”功能,该功能在关机时会将系统状态保存到一个休眠文件(hiberfil.sys)中,导致 Linux 认为分区处于“被使用”状态,为了安全会以只读方式挂载,解决方法是在 Windows 中彻底禁用“快速启动”,如果手动挂载时使用了 ro
(read-only)选项,也会导致只读,请确保在 /etc/fstab
中使用 defaults
或显式指定 rw
(read-write)选项,如果问题依旧,可以在挂载选项中加入 remove_hiberfile
,如 ... ntfs-3g defaults,remove_hiberfile 0 0
,但这会删除 Windows 的休眠文件,可能导致下次 Windows 启动变慢。
Q2: 在 /etc/fstab
中,使用 /dev/sda3
和 UUID=...
有什么区别?我应该用哪个?
A2: 主要区别在于稳定性和可靠性。/dev/sda3
这样的设备名称是基于磁盘插入顺序和分区编号的,如果未来你添加或移除了其他硬盘,系统可能会重新分配设备名称,导致 /etc/fstab
中的配置失效,系统无法正常挂载,而 UUID(Universally Unique Identifier)是分区格式化时生成的全局唯一标识符,它不会因为硬件变化而改变。强烈推荐使用 UUID 来配置 /etc/fstab
,这样可以确保无论系统硬件如何变动,挂载配置始终准确无误,大大提高了系统的健壮性。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复