尝试以只读方式启动安装到磁盘的 Ubuntu。
已安装overlayroot
并设置overlayroot
为tmpfs
。
$ sudo apt install -y overlayroot
$ sudo sed -i 's/overlayroot=""/overlayroot="tmpfs"/g' /etc/overlayroot.conf
$ sudo systemctl reboot
运行后sudo openssl dgst -sha512 /dev/rdisk5s1 /dev/rdisk5s2
会发现变化的校验和/dev/rdisk5s2
......为什么?
如何才能使磁盘变为只读的?
测试一…
$ sudo openssl dgst -sha512 /dev/rdisk5s1 /dev/rdisk5s2
SHA512(/dev/rdisk5s1)= c533e6d472f9a36009f7dc11c337fe0da71b31e6d77fe40e96a7ea92e4711604c9044b40334782a35ddfbf2537a4bebb6602c6f576ce93092172c98a9fe59672
SHA512(/dev/rdisk5s2)= 072dc609ed857b9cb758b688bd659672db9702d218388e5c4e24ad324f7098c01bacf93742f7cbb28a1387179423f9e90596503b1b4917df16c63b7aaee5b30d
重启,执行操作,测试二……
$ sudo openssl dgst -sha512 /dev/rdisk5s1 /dev/rdisk5s2
SHA512(/dev/rdisk5s1)= c533e6d472f9a36009f7dc11c337fe0da71b31e6d77fe40e96a7ea92e4711604c9044b40334782a35ddfbf2537a4bebb6602c6f576ce93092172c98a9fe59672
SHA512(/dev/rdisk5s2)= 9fac42f8e27583a2c2489f4888d72d4d662990535cd5355d01f80d94464572b3669d8b1d9b57b0776b65525d3ce5293e6ee52c16bdc0635f2517ad9aecfd62b
答案1
/dev/rdisk5s2 发生了变化...为什么?
分析它。比较启动。也许可以使用较小的测试磁盘 (VM)。
相关(也许是您看到变化的原因):为什么在只读挂载时需要写入阻止程序?
我不知道这两个分区是什么,但我怀疑它们都是 root。我猜 overlayroot 只适用于 root。
如果您希望它像 Tails 一样只读,则需要硬件写入阻止程序。就像带有写入阻止开关的 USB-SATA/SSD/NVME 适配器一样,理论上您仍然可以解决这个问题。Tails 的非持久性来自其运行的介质(DVD、USB 为 rw、RAM)。
如果底层硬件是可读写的,并且操作系统仅通过软件变为 RO,那么有人可以通过重新安装根文件系统 RW 来解决这个问题。
答案2
问题是由日志文件系统引起的...使用 ext2,校验和不再改变。
也就是说,我还必须fsck.repair
在使用只读磁盘时禁用它(例如:数据Ashur PRO²设置为只读)。
$ sudo sed -i 's/quiet splash/fsck.repair=no quiet splash/g' /etc/default/grub
$ sudo update-grub