我通过 ssh 将 Ubuntu Desktop(尽管我将其用作服务器)从 14.04 更新到了 16.04。完成并重新启动后,它将启动到只读文件系统。
root@Server:/# touch a
touch: cannot touch 'a': Read-only file system
我试过了mount -o remount,rw /
,但输出是mount: can't find UUID=/dev/sda1
。我认为UUID不知何故被更改为/dev/sda1。这是/etc/fstab的内容。
root@Server:/# cat /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/sda1 during installation
UUID=/dev/sda1 / ext4 errors=remount-ro 0 1
# UUID=643d9cab-177e-4eee-a52f-224ebf0bc405 / ext4 errors=remount-ro 0 1
# swap was on /dev/sda5 during installation
UUID=481bc70a-eb80-4040-93a1-696c46faa638 none swap sw 0 0
我认为我应该注释掉下面的行 UUID=/dev/sda1 并取消注释行 UUID=643d9cab-...,但由于根文件系统以只读方式挂载,我无法这样做。我不知道这是否有用,但这是内核消息的一部分。
root@KrootServer:/# dmesg|grep mount
[ 1.794106] EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null)
[ 5.675605] systemd[1]: Set up automount Arbitrary Executable File Formats File System Automount Point.
[ 19.677056] cgroup: new mount options do not match the existing superblock, will be ignored
那么我该如何解决这个问题呢?我正在尝试修复 ssh 上的问题,因此如果我需要物理访问该机器,请告诉我。
[+] 结果sudo blkid
ian0371@Server:~$ sudo blkid
/dev/sda1: UUID="643d9cab-177e-4eee-a52f-224ebf0bc405" TYPE="ext4" PARTUUID="0000e118-01"
/dev/sda5: UUID="481bc70a-eb80-4040-93a1-696c46faa638" TYPE="swap" PARTUUID="0000e118-05"`
答案1
当我启动到复制的根文件系统时,我遇到了同样的问题(我忘记调整 /etc/fstab 中的 UUID 值)。事实证明,mount -o remount
如果您不指定设备,仍然会在 /etc/fstab 中查找。手动指定设备时,它可以正常工作:
mount -o remount,rw /dev/sda1 /
答案2
现在让我们尝试这个修复:
- 启动到恢复模式
- 选择根从恢复菜单。
使用以下方式挂载文件系统:
mount -o remount,rw /
使用 vim 或者 nano 更改您的
/etc/fstab
方式如下:#UUID=/dev/sda1 / ext4 errors=remount-ro 0 1 UUID=643d9cab-177e-4eee-a52f-224ebf0bc405 / ext4 errors=remount-ro 0 1
然后退出并选择恢复从恢复菜单,这应该可以解决你的问题。
答案3
您的 /etc/fstab 有问题。
UUID=/dev/sda1 / ext4 errors=remount-ro 0 1
# UUID=643d9cab-177e-4eee-a52f-224ebf0bc405 / ext4 errors=remount-ro 0
第一行是错误的,/dev/sda1 不是 uuid。第二行看起来是正确的。在第一行前面加一个 #,然后在下一行将其删除。
您可以通过 .. 验证 UUID blkid /dev/sda1
,如果不同,请更改 /etc/fstab 中的 UUID 以使其匹配。
或者您可以删除 /dev/sda1 前面的 UUID=