我买了一台新电脑,所以我决定清理旧电脑,并将其 240GiB SSD 用作我的游戏分区。格式化并配置后,我可以挂载它(它甚至可以使用 fstab 自动挂载),但始终为只读。
我已阅读了无数的指南和答案,但它们都解决了 ntfs 分区或我没有遇到的 ext4 其他问题。
这些是我用于格式化和配置分区的步骤:
首先,我用 parted 格式化它,使用sudo parted /dev/sdb
进入交互式 CLI,然后使用 删除所有分区rm
,然后mklabel gpt
创建分区表,最后mkpart primary ext 0G 240G
创建分区并退出 parted。之后,我运行sudo mkfs.ext4 /dev/sdb1
以创建文件系统。
之后,我用 创建了目录sudo mkdir /ssd
,然后用 创建一个组来访问它sudo groupadd ssd
,用 把我的用户包括在这个组中,sudo usermod -aG ssd $USER
并用 将新目录的所有权授予这个组sudo chown -R :ssd /ssd
。
最后,我获得了分区的 UUID,blkid
并用它来编辑我的 fstab,sudoedit /etc/fstab
并从我已经在运行的 HD 中复制了配置,只更改了 UUID 和挂载点,这是我的最终(也是当前的)fstab:
UUID=5AA1-8CE8 /boot/efi vfat defaults,noatime 0 2
UUID=5a14b7be-2963-4f80-8ea8-383bcdee76fa / ext4 defaults,noatime,discard 0 1
UUID=fde6cd40-e72e-4377-a849-69816d215940 /hd ext4 defaults,noatime 0 0
UUID=99ea0800-f0ef-4d7f-a793-524d2f9afe8c /ssd ext4 defaults,noatime 0 0
tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0
重新启动并检查分区是否为只读后,我使用 卸载了它sudo umount /ssd
并使用 进行了检查sudo fsck.ext4 /dev/sdb1
,但没有出现任何错误:
e2fsck 1.45.5 (07-Jan-2020)
/dev/sdb1: clean, 11/14655488 files, 1197492/58607360 blocks
最后,我尝试使用 以读写权限重新安装它sudo mount -vo exec,rw /ssd
,但它仍然被安装为只读分区。
任何帮助都将受到赞赏。
答案1
此驱动器似乎已正确安装。没有迹象表明它是以只读方式安装的。当然,默认情况下,只有管理员可以使用它。如果需要,管理员必须授予整个分区或在新分区上创建的选定文件夹的写入权限。
在确定分区为只读挂载之前,请检查您是否可以以 root 用户身份在该分区上创建文件夹:
sudo mkdir /ssd/testfolder
如果该命令成功,请查看输出中列出的文件夹
ls /ssd
让您的用户拥有所有者,testfolder
以便该用户拥有完全访问权限:
sudo chown $USER:$USER /ssd/testfolder
$USER
将自动替换为您自己的登录名。如果您想为其他用户执行此操作,请提供另一个用户名。
现在测试您是否可以在该文件夹中创建文件:
echo Yes, it worked! > /ssd/testfolder/newfile
cat /ssd/testfolder/newfile
该cat
命令应该打印文件的内容。
如果失败,那么您的分区可能确实被设置为只读。但是,这说明在安装过程中出现了问题,因为您没有将其设置为只读。
答案2
检查 /ssd 目录权限,是否有写入权限。如果没有,则打开终端并输入:chmod -R 770 /ssd