在 Ubuntu 中将磁盘分区重新挂载为读写模式是一个常见的操作。通常这是因为分区被意外挂载为只读(ro),或者文件系统出现错误后系统自动将其设置为只读以防止进一步损坏。
请按照以下步骤操作。首先,请务必确认你要操作的是正确的分区,错误操作可能导致数据丢失或系统无法启动。
方法一:使用
mount
命令临时重新挂载(推荐先尝试)
mount
这是最直接的方法,适用于临时修复。
找出需要挂载的分区
首先,你需要知道分区的设备标识(如
)或其挂载点(如
/dev/sda1
)。
/mnt/data
使用
或
lsblk
命令查看:
df
bash
lsblk -f
或者
bash
df -hT
查看输出,找到你想要修改的分区,并记下它的
(挂载点,例如
MOUNTPOINT
)和
/mnt/data
(文件系统类型,例如 ext4, ntfs)。
FSTYPE
示例输出:
text
NAME FSTYPE LABEL MOUNTPOINT sda ├─sda1 ext4 / ├─sda2 ext4 /home └─sda3 ntfs Data /mnt/data
这里,我们要操作的是挂载点为
的 NTFS 分区
/mnt/data
。
/dev/sda3
重新挂载为读写模式
使用
命令配合
mount
选项来重新挂载。
-o remount,rw
语法:
bash
sudo mount -o remount,rw /你的/挂载点
或者直接指定设备
bash
sudo mount -o remount,rw /dev/sdXn
示例:
bash
sudo mount -o remount,rw /mnt/data
或者
bash
sudo mount -o remount,rw /dev/sda3
验证是否成功
没有错误信息通常意味着成功。你可以再次使用
或
df
命令来确认。
mount
bash
mount | grep '/mnt/data'
输出应该包含
字样,而不是
rw
。
ro
方法二:修复文件系统错误后重新挂载
如果文件系统有错误(常见于非法关机或硬盘问题),系统会强制将其挂载为只读。这时需要先修复错误,再重新挂载。
警告: 修复文件系统时,该分区必须未被挂载。如果是要修复根目录
,你需要在 Live USB 环境下操作。
/
卸载分区
bash
sudo umount /mnt/data
(如果提示“设备正忙”,请关闭所有使用该分区的程序,或者使用
查看是什么进程在占用,然后结束它们。)
lsof /mnt/data
检查并修复文件系统
对于 ext2/ext3/ext4 文件系统:
bash
sudo fsck -y /dev/sda3
(
选项表示自动回答“yes”到所有问题)
-y
对于 NTFS 文件系统:
你需要
工具(通常默认已安装)。
ntfs-3g
bash
sudo ntfsfix /dev/sda3
对于 FAT32/VFAT 文件系统:
bash
sudo fsck.vfat -a /dev/sda3
重新挂载分区
修复完成后,重新挂载它(此时通常会默认挂载为读写模式)。
bash
sudo mount /dev/sda3 /mnt/data
方法三:永久修改
/etc/fstab
配置文件
/etc/fstab
如果你的某个分区每次启动都被挂载为只读,可能需要检查其挂载选项。修改 fstab 前请务必备份!
备份 fstab 文件
bash
sudo cp /etc/fstab /etc/fstab.backup
编辑 fstab 文件
bash
sudo nano /etc/fstab
检查挂载选项
找到对应分区的配置行。它看起来像这样:
text
UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /mnt/data ext4 defaults 0 2
或者
text
/dev/sda3 /mnt/data ntfs-3g defaults 0 0
关键部分是
。
defaults
选项包含
defaults
(读写)。如果你的行里写的是
rw
,那就是只读的原因。
ro
对于 NTFS 分区,确保类型是
而不是
ntfs-3g
(旧的 ntfs 驱动是只读的)。
ntfs
修改选项
将
改为
ro
,或者确保是
rw
。例如,将:
defaults
text
UUID=... /mnt/data ext4 ro 0 2
改为:
text
UUID=... /mnt/data ext4 rw 0 2
或者确保 NTFS 分区的配置类似这样:
text
UUID=... /mnt/data ntfs-3g uid=1000,gid=1000,rw,user,exec,umask=000 0 0
保存并退出编辑器 (在 nano 中是
,然后按
Ctrl+X
确认)
Y
测试 fstab 配置
在重启前,先测试一下修改是否正确,避免系统无法启动。
bash
sudo mount -a
这个命令会尝试挂载所有在
中定义的分区。如果没有报错,说明配置正确。然后你可以检查你的分区是否已经以读写模式挂载。
fstab
总结与故障排除
权限问题:对于非 Linux 原生文件系统(如 NTFS、FAT32),除了
选项,可能还需要设置
rw
,
uid
,
gid
等参数来控制文件和目录的权限。
umask
根目录
为只读:如果整个系统都变成了只读,这通常是由于严重的文件系统错误。你需要用 Live USB 启动盘启动电脑,然后挂载你的根分区,并在其中执行
/
修复命令。
fsck
设备正忙:卸载前确保没有进程正在访问该分区。使用
或
lsof /挂载点
来查找并结束进程。
fuser -m /挂载点
按照以上步骤,你应该可以成功将分区重新挂载为读写模式。先从方法一开始尝试,如果不行再尝试方法二。如果是永久性问题,再使用方法三。