我正在尝试在 .img 文件中创建一个 ext4 文件系统,以便将其传输到其他机器。不幸的是,当我卸载并重新安装它时,它会以只读方式安装。我可以使用以下步骤在两台不同的 PC(一台运行 Ubuntu 20.04 的笔记本电脑和一台运行 Ubuntu 23.04 的台式机)上重现此问题:
- 在 GNOME 中,运行“磁盘”,选择“新磁盘映像”,在主目录中创建一个 1GB 的 .img 文件,单击“附加新映像”,然后单击“格式化分区”并将其格式化为 ext4。这将创建设备
/dev/loop5
,内容挂载在/media/my-username/volume-label
。 - 在 GNOME Files (nautilus) 中打开它。将一些文件复制到其中。
- 使用 GNOME Files(nautilus)将其卸载。
- 通过单击 GNOME Files 中的 .img 文件再次挂载它。
- 尝试复制更多文件 - 你不能 - 它是只读的。
我该如何正确地多次安装它?
PS 如果相关的话,令人费解的是,当我创建文件系统时,会非常短暂地打开一个窗口,要求我输入密码,但是在我有机会输入任何内容之前它就关闭了,然后新的 FS 在文件中打开,似乎没有任何问题。
更多信息:
$ ls -l *.img;id
-rw-rw-r-- 1 k314159 k314159 1000000000 Aug 16 10:27 t.img
uid=1000(k314159) gid=1000(k314159) groups=1000(k314159),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),120(lpadmin),132(lxd),133(sambashare),136(docker)
$ grep loop5 /etc/mtab
/dev/loop5 /media/k314159/test ext4 rw,nosuid,nodev,relatime 0 0
# Then after using GNOME Files (nautilus) to dismount & remount:
$ grep loop5 /etc/mtab
/dev/loop5 /media/k314159/test ext4 ro,nosuid,nodev,relatime 0 0
答案1
我发现问题是,当从 nautilus 运行时,GNOME 磁盘映像装载器始终以只读模式装载 .img 文件。有人要求添加读写选项,但尚未实现:
https://gitlab.gnome.org/GNOME/gnome-disk-utility/-/issues/126
解决方法是启动磁盘 GUI 并从那里挂载 .img,然后取消选中底部的“以只读方式挂载”复选框。或者,从命令行运行磁盘映像挂载程序:
gnome-disk-image-mounter --writable <container path>