卸载所有分区以释放 SSD

卸载所有分区以释放 SSD

我有一台带有单个 SSD 和 3 个分区的机器。我想在保持活动状态时卸载整个 SSD,以便我可以在 SSD 上运行固件升级工具。我知道不建议卸载唯一的磁盘,但我认为这在我的情况下是可以的,因为我的 rootfs 是一个在启动期间加载到内存中的 squashfs,并且理论上内核也安装在内存中。这就是为什么我相信我们可以卸载所有分区,运行固件升级,然后重新启动系统以恢复正常状态。

我的问题:我无法卸载sda1

重复运行以下 2-3 次后,我能够卸载sda2(存储空间)和(存储一些日志文件的位置):sda3

fuser -mv /dev/sda1 -k -9
fuser -mv /dev/sda2 -k -9
fuser -mv /dev/sda3 -k -9

umount -f /dev/sda1
umount -f /dev/sda2
umount -f /dev/sda3

此时,跑步

fuser -mv /dev/sda1
fuser -mv /dev/sda2
fuser -mv /dev/sda3

产生输出

                    USER        PID ACCESS COMMAND
/dev/sda1:           root     kernel mount /boot

这告诉我 和sda2sda3成功卸载,但内核不想放弃sda1.无论我如何尝试,sda1都无法卸载

我还尝试通过以下方式杀死链接到 sda1 的唯一进程:

$ ps -ef | grep sda
root       423     2  0 00:19 ?        00:00:00 [jbd2/sda1-8]
$ kill -9 423

但那里也没有运气。

笔记:我无法使用 USB 记忆棒等任何其他硬件来帮助完成整个过程。

更新: lsblk产生以下结果

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0   3.8G  0 disk 
|-sda2   8:2    0   1.9G  0 part 
|-sda3   8:3    0 949.2M  0 part 
`-sda1   8:1    0   957M  0 part /boot 

答案1

谢谢,赖瑞安。我无法卸载SSD的原因是因为rootfs仍在使用SSD中的squashfs文件。正如我所认为的那样,squashfs 文件并未加载到内存中,而是从 SSD 上的原始文件即时解压缩。

相关内容