假设我有一些带有单个分区的驱动器。由于某种原因,我决定使用fdisk
.我创建多个分区,然后写入分区表,然后退出fdisk
。此时内核仍然不知道新的分区表:初始分区仍然是通过NFS挂载的,umount -l
之前只是“惰性卸载”()fdisk
,因此触发了“设备或资源忙”错误。
现在我改变主意,fdisk
再次启动,将所有分区合并为一个,与最初完全一样。然后我再次写入分区表,退出fdisk
,内核仍然不知道刚刚发生了什么。
最后,我将rm -rf
所有内容复制到磁盘上,然后在上面复制一些新数据。
问题是:下次重新启动时,内核将看到“新”(但与以前相同)分区表时会发生什么?系统可以直接读取数据吗?
答案1
分区表存储在两个地方:磁盘上和 RAM 中。听起来您更新了磁盘但未更新 RAM,然后又将磁盘更改回来。因此,如果内核仍在运行 RAM 中的内容,并且下次启动时它会从磁盘中读取相同的内容,那么是的,它应该可以工作。
但是,您需要非常小心,您以前的文件系统实际上已被卸载。 umount -l
不卸载任何东西。如果它仍然挂载,并且您再次挂载它并开始更改数据,那么您就是在自找麻烦。
从您发布的这个问题和其他问题来看,您似乎正在通过尝试对此磁盘执行越来越多的操作来给自己挖一个越来越深的洞,以避免重新启动甚至只是重新配置 NFS 服务器之类的事情。虽然所有这些技巧都有可能奏效,但任何地方的任何错误都很容易导致严重的数据损坏。确保您的备份是最新的。